如何称呼DynamoDB和Cassandra的数据模型?

如何称呼DynamoDB和Cassandra的数据模型?,cassandra,amazon-dynamodb,scylla,Cassandra,Amazon Dynamodb,Scylla,上面说DynamoDB是一个数据库。然而,将其称为“key-value”数据库完全忽略了DynamoDB的一个极其基本的特性,即排序键:键有两部分(分区键和排序键),具有相同分区键的项可以通过排序键一起高效地检索 Cassandra还具有完全相同的排序项内部分区特性(它称之为“集群键”),并使用该术语来描述它。然而,虽然“宽列”一词比“键值”好,但它仍然有些不合适,因为它描述了一个项目可能有大量不相关列的更一般情况,而不一定是一个单独项目的排序列表 所以我的问题是,是否有一个更合适的术语可以描述

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

Cassandra还具有完全相同的排序项内部分区特性(它称之为“集群键”),并使用该术语来描述它。然而,虽然“宽列”一词比“键值”好,但它仍然有些不合适,因为它描述了一个项目可能有大量不相关列的更一般情况,而不一定是一个单独项目的排序列表


所以我的问题是,是否有一个更合适的术语可以描述像DynamoDB和Cassandra这样的数据库的数据模型-像键值存储一样的数据库可以有效地检索单个键的项,但也可以有效地检索按键排序的项,或者只是其中的一部分(DynamoDB的排序键或Cassandra的集群键).

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

即使在Cassandra 3.0之前,CQL只是原始节俭数据模型之上的一个抽象,在存储引擎中也没有CQL行的概念。它们只是一组经过排序的列,带有一个复合键,由集群键的串联值组成。中给出了更多详细信息。现在对CQL有了本机支持在存储引擎中,允许更高效地存储CQL数据模型


但是,如果您将CQL行视为同一分区中列的逻辑分组,那么Cassandra仍然可以被视为宽列存储。据我所知,在任何情况下,都没有另一个公认的术语来描述这种数据库。

我发现“Key-Value”为了捕捉这个模型的分区/排序/值性质,我投票将这个问题作为离题题来结束,因为它似乎与编码无关。为什么它需要与“编码”相关它没有标签C++或java或任何其他编程语言,所以它不是关于任何编程语言的编码。它有CasdRRA等。标签,表示它是关于软件的。有更好的StACExchange站点吗?你认为软件更好的套件问题?并且注意这个问题已经有+2分。不是。显然,这是一个非常糟糕的问题。我的建议是“关键排序值”