Jak nazwać model danych DynamoDB i Cassanda?

9

Artykuł DynamoDB Wikipedia mówi, że DynamoDB jest „ klucz-wartość ” bazy danych. Jednak nazwanie go bazą danych „klucz-wartość” całkowicie pomija niezwykle fundamentalną cechę DynamoDB, jaką jest klucz sortowania : klucze składają się z dwóch części (klucz partycji i klucz sortowania), a elementy z tym samym kluczem partycji można skutecznie sortować razem sortować według klucza sortowania.

Cassandra ma również dokładnie tę samą funkcję sortowania elementów wewnątrz partycji (którą nazywa „kluczem do klastrowania”), a artykuł Cassandra Wikipedia używa terminu magazyn szerokokolumnowy, aby to opisać. Jednak chociaż ten termin „szeroka kolumna” jest lepszy niż „klucz-wartość”, jest nadal nieco nieodpowiedni, ponieważ opisuje bardziej ogólną sytuację, w której element może mieć bardzo dużą liczbę niepowiązanych kolumn - niekoniecznie posortowaną listę oddzielnych przedmiotów.

Moje pytanie brzmi więc, czy istnieje bardziej odpowiedni termin, który może opisywać model danych bazy danych, takiej jak DynamoDB i Cassandra - bazy danych, które podobnie jak magazyn klucz-wartość, mogą skutecznie wyszukiwać elementy dla poszczególnych kluczy, ale mogą również skutecznie wyszukiwać elementy posortowane według klucz lub tylko jego część ( klucz sortowania DynamoDB lub klucz klastrowania Cassandry ).

Nadav Har'El
źródło
2
Uważam, że „klucz-wartość-wartość” pozwala uchwycić partycjonowanie / porządkowanie / wartość tego modelu
Tzach Livyatan
Głosuję za zamknięciem tego pytania jako nie na temat, ponieważ nie wydaje się ono związane z kodowaniem.
Charles
5
Dlaczego musi to być związane z „kodowaniem”? Nie ma znacznika C ++, Java ani innego języka programowania, więc nie chodzi o kodowanie w żadnym języku programowania. Ma Cassandra i in. tagi - wskazujące, że chodzi o to oprogramowanie . Czy istnieje lepsza strona wymiany stosów, która Twoim zdaniem lepiej odpowiada pytaniom na temat oprogramowania? I zauważ, że to pytanie ma już wynik +2. Najwyraźniej nie jest to złe pytanie.
Nadav Har'El
2
Moja sugestia „Kluczowa wartość do
sortowania

Odpowiedzi:

3

Przed wprowadzeniem CQL Cassandra bardziej rygorystycznie przestrzegała modelu danych magazynu szerokich kolumn, w którym wiersze identyfikowane były tylko kluczem wiersza i zawierały posortowane kolumny klucz / wartość. Wraz z wprowadzeniem CQL wiersze stały się znane jako partycje, a kolumny można opcjonalnie pogrupować w wiersze logiczne za pomocą kluczy klastrowych.

Nawet do Cassandry 3.0 CQL był po prostu abstrakcją na oryginalnym modelu danych oszczędnościowych i nie istniała koncepcja wierszy CQL w silniku pamięci. Były tylko posortowanym zestawem kolumn ze złożonym kluczem składającym się z połączonych wartości kluczy klastrowych. Więcej szczegółów podano w tym artykule . Teraz istnieje natywna obsługa CQL w silniku pamięci, która pozwala na bardziej wydajne przechowywanie modeli danych CQL.

Jeśli jednak myślisz o wierszu CQL jako logicznym grupowaniu kolumn w tej samej partycji, Cassandra nadal można uznać za magazyn o szerokich kolumnach. W każdym razie, według mojej wiedzy, nie ma innego dobrze ustalonego terminu na opisanie tego rodzaju bazy danych.

JB Langston
źródło