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


9

У статті Вікіпедії DynamoDB йдеться про те, що DynamoDB - це база даних " ключ-значення ". Однак, називаючи його базою даних "ключ-значення", повністю пропускається надзвичайно фундаментальна особливість DynamoDB, клавіша сортування : Ключі мають дві частини (ключ розділу та ключ сортування), а елементи з тим самим ключем розділу можуть бути ефективно вилучені разом відсортованими клавішею сортування.

Кассандра також має таку саму функцію сортування елементів-всередині-підрозділу (яку вона називає "кластерним клавішем"), а стаття Вікіпедії Кассандри використовує термін " широкий стовпчик" для її опису. Однак, хоча цей термін "широкий стовпчик" кращий, ніж "ключ-значення", він все ще дещо недоречний, оскільки він описує більш загальну ситуацію, коли елемент може мати дуже велику кількість непов'язаних стовпців - не обов'язково відсортований список окремих предметів.

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


2
Я знаходжу "Ключ-значення-значення" для фіксації характеру розділу / впорядкування / цінності цієї моделі
Цах Лівятан

Я голосую, щоб закрити це питання поза темою, оскільки воно, схоже, не стосується кодування.
Чарльз

5
Чому це потрібно пов’язати з "кодуванням"? У ньому немає тегу C ++ або Java або будь-якої іншої мови програмування, тому мова не йде про кодування в будь-якій мові програмування. У ньому є Кассандра та ін. теги - вказує на те, що мова йде про це програмне забезпечення . Чи є кращий сайт stackexchange, який, на вашу думку, краще задає питання щодо програмного забезпечення? І зауважте, що це питання вже має +2 бали. Мабуть, це не дуже погане питання.
Nadav Har'El

2
Моя пропозиція "Ключове значення
зіставлення

Відповіді:


3

Перед введенням CQL Кассандра суворіше дотримувалась широкої моделі даних зберігання стовпців, де у вас були лише рядки, ідентифіковані ключем рядка та містять відсортовані стовпці ключ / значення. З впровадженням CQL рядки стали відомі як розділи та стовпці, за бажанням, можна об'єднати в логічні рядки за допомогою клавішних клавіш.

Ще до Cassandra 3.0, CQL був просто абстракцією поверх оригінальної ощадливої ​​моделі даних, і не було поняття рядків CQL в двигуні зберігання даних. Вони були лише відсортованим набором стовпців зі складеним ключем, що складається з об'єднаних значень кластеризованих ключів. Більш детально викладено в цій статті . Тепер у двигуні зберігання даних є підтримка CQL, що дозволяє більш ефективно зберігати моделі даних CQL.

Однак, якщо ви вважаєте, що рядок CQL є логічним групуванням стовпців у межах одного розділу, Кассандра все-таки може вважатися широким сховищем стовпців. У будь-якому випадку, наскільки мені відомо, не існує ще одного добре встановленого терміна, який би описував подібний тип баз даних.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.