我们的应用程序(java,spring,hibernate)使用postgress来存储数据。 我们希望为应用程序添加分析引擎。我想探索使用nosql db来运行分析。这是尝试学习nosql,以免主要应用程序活动免受性能损失(尽可能多)。 所以,我希望数据更改也同步到nosql db(除了postgres)。任何同步机制都会影响主数据/事务活动的性能。
将数据更改推送到消息总线并尽快释放主要事务是一个好主意吗?任何人都可以向我指出解决这个问题的框架/技术/想法,这些问题将转发到两个不同的数据存储区。
答案 0 :(得分:1)
最简单的解决方案是将数据发送到Postgres只读副本并在其上运行分析查询。性能影响很小,与其他方法相比,这将节省大量时间。
除非你真的知道自己在做什么,否则我会避免使用NoSQL这种应用程序。如果您的数据集对于Postgres只读副本而言太大,您可能希望使用Redshift,这是一个针对通常执行的分析查询类型进行了优化的柱状数据存储。