我有一个使用Postgres作为后端数据库的Web应用程序。目前的数据还没有那么大。但最终它会增加,并将拥有大数据。
是否有可能将当前数据库- Postgres迁移到Apache Spark作为后端以更快地访问数据?e。g我可以使用Spark-SQL访问数据,这样我就不必修改代码了。
是否有其他的解决方案,我可以想到访问数据更快从数据库?
任何帮助或建议将不胜感激。谢谢。
Spark不是数据库引擎。然而,它允许你对你拥有的数据运行SQL查询。
在我看来,你有几个选择:
- 你可以在Hive支持和暴露的情况下在Spark中读取数据HiveThriftServer,那么您就可以从其他应用程序。然而,它不会是Postgres的后端,只是您将使用的另一个应用程序。数据不会被传输到Postgres自动,但存储在Hive metastore中,你必须创建函数将数据从Spark缓存/Hive metastore传输到Postgres,即通过使用Spark结构化流与JDBC sink。要完整地描述提议的解决方案是相当复杂的,但是写起来并不难。如果你想要更多的解释,请评论我的回答:)
- 在我看来,数据网格在你的情况下会更好。我真的很喜欢Spark,但是Coherence可以将所有缓存写入异步队列的数据库,所以你有一致性和非常高的速度。
这很大程度上取决于你将创建什么样的服务:)如果你使用批处理作业/流作业并将结果写入Postres,即每小时一次,Spark with SQL将会很好。如果你想在Postres中更快地更新,我将推荐一些数据网格,如Coherence或Apache Ignite