Как вы называете модель данных DynamoDB и Cassanda?

9

В статье DynamoDB Wikipedia говорится, что DynamoDB является базой данных « ключ-значение ». Однако, называя ее базой данных «ключ-значение», полностью упускается чрезвычайно фундаментальная особенность DynamoDB - ключа сортировки : ключи состоят из двух частей (ключа раздела и ключа сортировки), и элементы с одним и тем же ключом раздела могут быть эффективно извлечены вместе, отсортированы по ключу сортировки.

Cassandra также обладает точно такой же функцией сортировки элементов внутри раздела (которую она называет «ключом кластеризации»), а в статье Cassandra Wikipedia для ее описания используется термин « хранилище широких столбцов» . Однако, хотя этот термин «широкий столбец» лучше, чем «значение ключа», он все же несколько неуместен, поскольку он описывает более общую ситуацию, когда элемент может иметь очень большое количество несвязанных столбцов - не обязательно отсортированный список отдельных Предметы.

Поэтому мой вопрос заключается в том, существует ли более подходящий термин, который может описывать модель данных базы данных, такой как DynamoDB и Cassandra, - базы данных, которые, как хранилище значений ключей, могут эффективно извлекать элементы для отдельных ключей, но также могут эффективно извлекать элементы, отсортированные по ключ или только его часть ( ключ сортировки DynamoDB или ключ кластеризации Cassandra ).

Надав хар'ел
источник
2
Я нахожу «Key-Key-Value», чтобы отразить природу Разделения / Упорядочения / Ценности этой модели
Цах Ливятан
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он не связан с кодированием.
Чарльз
5
Почему это должно быть связано с «кодированием»? Он не имеет тега C ++, Java или любого другого языка программирования, поэтому речь не идет о кодировании на любом языке программирования. Это Кассандра и соавт. теги - указывающие, что речь идет об этом программном обеспечении . Как вы думаете, есть ли лучший сайт для обмена стека, который лучше подходит для вопросов о программном обеспечении? И обратите внимание, что этот вопрос уже имеет +2 балла. Это не очень плохой вопрос, по-видимому.
Надав Хар'Эл
2
Мое предложение "Key-Sortable-Value"
TomerSan

Ответы:

3

До появления CQL Cassandra более строго придерживалась модели данных хранилища широких столбцов, где у вас были только строки, идентифицированные по ключу строки и содержащие отсортированные столбцы ключ / значение. С введением CQL строки стали называться разделами, а столбцы можно при желании сгруппировать в логические строки с помощью ключей кластеризации.

Даже до Cassandra 3.0 CQL был просто абстракцией поверх оригинальной модели экономных данных, и в механизме хранения не было понятия строк CQL. Это был просто отсортированный набор столбцов с составным ключом, состоящим из объединенных значений ключей кластеризации. Более подробная информация приведена в этой статье . Теперь имеется встроенная поддержка CQL в механизме хранения, которая позволяет более эффективно хранить модели данных CQL.

Однако, если вы рассматриваете строку CQL как логическую группу столбцов в пределах одного раздела, Cassandra все равно можно считать хранилищем широких столбцов. В любом случае, насколько мне известно, нет другого устоявшегося термина для описания такого рода базы данных.

Дж. Б. Лэнгстон
источник