为什么 DynamoDB 不支持简单聚合?

Why doesn't DynamoDB support simple aggregations?

那么为什么 dynamoDB 不支持简单聚合呢?我在这里错过了什么吗?这些操作实际上更适合 RDS 吗?

编辑

需要说明的是,我知道 table 联接在分布式数据库中会变得更成问题。但据我所知,同样的问题不适用于聚合

回答我自己的问题-

DynamoDB 聚合

  • AWS 希望您使用 DynamoDB 流来持续计算您要使用的聚合指标。 link

  • 本质上,他们希望您为所需的每个聚合指标创建一个单独的 table,然后在每次记录为 created/updated/deleted 时更新 table

  • 他们声称这种方法比 mongoDB 聚合管道的扩展性要好得多。我想这是有道理的,因为 DynamoDB 是为非常高的读写吞吐量而设计的。如果您有大量的读取,每次都进行聚合,事情将很快开始变得拥挤。

  • 另外,DynamoDB 不是为临时查询而设计的。因此,您必须计划您将需要的聚合并保持这些聚合的最新 table 这一事实只会迫使您按照设计使用的方式使用 DynamoDB。也就是说,您的数据应该按照将要被访问的方式进行调整。 DynamoDB 大师的非常有趣的演讲 here 解释了所有这些

Hive 聚合

  • 您也可以使用 Apache Hive 查询 DynamoDB。 Hive 允许您使用 SQL 之类的查询,包括聚合。聚合仍将在客户端进行。然而,它使用 hadoop 集群跨多台机器以小块的形式处理这些查询,这可以使更大的查询更快。唯一需要注意的是您消耗的读写容量 Integrating DynamDB with Apache Hive