DynamoDB 会获得物化视图吗?

Will DynamoDB get Materialized Views?

我正在考虑在 DynamoDB 和 AWS Keyspaces 之间做出选择。

我的主要问题仍然是 Dynamo 中的多对多关系。你真的没有太多好的选择。要么你为不可变数据做邻接列表......但在大多数情况下数据会改变。其他方式是进行 2 db 调用,这真的不是那么好。第三种选择是一直更新数据,这似乎也是一个很大的痛苦。对于批量写入,我认为最多 25 行。

然而,Cassandra 提供了物化视图,至少我不必自己管理复制。我也可以调用 1 个数据库来获得我需要的一切。

我对 NoSQL 数据库还比较陌生,所以我可能遗漏了很多东西。

Dynamo 是否计划添加实体化视图或是否有更好的方法?

在我看来,这似乎是一个非常好的功能。它甚至不必创建新表,而是在项目列之间进行引用以使其自动更新。

DynamoDB 有一个名为 Global Secondary Index 的功能,它非常接近 Cassandra 的 实体化视图 功能。尽管名称令人困惑,但 DynamoDB 的 GSI 不仅仅是 像 Cassandra 所说的“二级索引”那样的索引!它不仅仅喜欢与特定列值匹配的键:除了键之外,它还可以保留您选择的任何其他项目属性 project。完全像实体化视图。

DynamoDB 也有一个更高效的本地二级索引,如果视图的分区键与基础 table 相同,您可以考虑使用它 - 您只想对项目进行不同排序或仅投影部分属性。