gpt4 book ai didi

cassandra - DynamoDB 和 Cassandra 的数据模型怎么称呼?

转载 作者:行者123 更新时间:2023-12-03 15:47:37 26 4
gpt4 key购买 nike

DynamoDB Wikipedia article说 DynamoDB 是一个“key-value”数据库。然而,将其称为“键值”数据库完全忽略了 DynamoDB 的一个极其基本的特性,即排序键:键有两个部分(分区键和排序键),并且可以高效地检索到具有相同分区键的项目一起排序通过排序键。

Cassandra 还具有完全相同的分区内排序项目功能(它称为“集群键”),以及 Cassandra Wikipedia article使用术语 wide column store来描述它。然而,虽然这个术语“宽列”比“键值”更好,但它仍然有些不合适,因为它描述了更一般的情况,即一个项目可以有大量不相关的列——不一定是单独的排序列表项目。

所以我的问题是是否有更合适的期限 可以描述像 DynamoDB 和 Cassandra 这样的数据库的数据模型 - 像键值存储这样的数据库可以有效地检索单个键的项目,但也可以有效地检索按键排序的项目或它的一部分(DynamoDB 的排序键)或 Cassandra 的聚类键)。

最佳答案

在引入 CQL 之前,Cassandra 更严格地遵循宽列存储数据模型,其中只有行键标识的行并包含排序的键/值列。随着 CQL 的引入,行被称为分区,列可以选择通过集群键分组为逻辑行。

甚至在 Cassandra 3.0 之前,CQL 只是原始 thrift 数据模型之上的抽象,并且存储引擎中没有 CQL 行的概念。它们只是一组经过排序的列,其中包含一个复合键,该键由集群键的串联值组成。更多细节在 this article 中给出.现在存储引擎中原生支持 CQL,这使得 CQL 数据模型可以更有效地存储。

但是,如果您将 CQL 行视为同一分区内列的逻辑分组,那么 Cassandra 仍然可以被视为一个宽列存储。无论如何,据我所知,没有另一个完善的术语来描述这种数据库。

关于cassandra - DynamoDB 和 Cassandra 的数据模型怎么称呼?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60798118/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com