В статье DynamoDB Wikipedia говорится, что DynamoDB является базой данных « ключ-значение ». Однако, называя ее базой данных «ключ-значение», полностью упускается чрезвычайно фундаментальная особенность DynamoDB - ключа сортировки : ключи состоят из двух частей (ключа раздела и ключа сортировки), и элементы с одним и тем же ключом раздела могут быть эффективно извлечены вместе, отсортированы по ключу сортировки.
Cassandra также обладает точно такой же функцией сортировки элементов внутри раздела (которую она называет «ключом кластеризации»), а в статье Cassandra Wikipedia для ее описания используется термин « хранилище широких столбцов» . Однако, хотя этот термин «широкий столбец» лучше, чем «значение ключа», он все же несколько неуместен, поскольку он описывает более общую ситуацию, когда элемент может иметь очень большое количество несвязанных столбцов - не обязательно отсортированный список отдельных Предметы.
Поэтому мой вопрос заключается в том, существует ли более подходящий термин, который может описывать модель данных базы данных, такой как DynamoDB и Cassandra, - базы данных, которые, как хранилище значений ключей, могут эффективно извлекать элементы для отдельных ключей, но также могут эффективно извлекать элементы, отсортированные по ключ или только его часть ( ключ сортировки DynamoDB или ключ кластеризации Cassandra ).
источник
Ответы:
До появления CQL Cassandra более строго придерживалась модели данных хранилища широких столбцов, где у вас были только строки, идентифицированные по ключу строки и содержащие отсортированные столбцы ключ / значение. С введением CQL строки стали называться разделами, а столбцы можно при желании сгруппировать в логические строки с помощью ключей кластеризации.
Даже до Cassandra 3.0 CQL был просто абстракцией поверх оригинальной модели экономных данных, и в механизме хранения не было понятия строк CQL. Это был просто отсортированный набор столбцов с составным ключом, состоящим из объединенных значений ключей кластеризации. Более подробная информация приведена в этой статье . Теперь имеется встроенная поддержка CQL в механизме хранения, которая позволяет более эффективно хранить модели данных CQL.
Однако, если вы рассматриваете строку CQL как логическую группу столбцов в пределах одного раздела, Cassandra все равно можно считать хранилищем широких столбцов. В любом случае, насколько мне известно, нет другого устоявшегося термина для описания такого рода базы данных.
источник