基于sql的系统的MapReduce增量实现

时间:2019-08-08 10:49:01

标签: postgresql mapreduce bigdata nosql-aggregation

我的主要数据存储在postgres中。 根据这些数据,我需要计算非常复杂的汇总/统计信息,并尽可能接近实时。使用原始SQL,对这些结果的查询需要一个多小时才能计算出来,这是不可接受的。因此,我无法每次都从头开始计算结果。

有什么作用:

  • 索引-即使使用索引,在数十亿行上具有多个联接的复杂SQL查询也需要很短的时间
  • 数据库的非规范化-不想在行本身上计算任何部分结果-管理此类实现将是一场噩梦
  • 将主要数据从SQL切换到NoSQL-目前无法实现

一些可以实现我想要实现的想法:

  • 完全像SQL一样的增量MapReduce自定义实现-我将侦听行更改,对于特定的聚合,将根据更改是否影响结果来更新存储的结果。 难以维护,需要从头开始自定义实现。
  • 复制到NoSQL,然后内置MapReduce。 对于必须为此复制所有数据的操作而言,不是很理想,在MongoDB的情况下,我必须实现逻辑的“增量”部分(它的优点是我可以使用托管AWS服务)或使用非托管数据库。

所以问题是:

  • 是否有其他方法可以实现它(在算法方面)? (MapReduce方法的替代方法)
  • 是否为实现我想念的尽可能多的增量MapReduce的数据库提供了托管数据库服务?

0 个答案:

没有答案