Bagaimana Anda memanggil model data DynamoDB dan Cassanda?

9

Artikel DynamoDB Wikipedia mengatakan bahwa DynamoDB adalah basis data " kunci-nilai ". Namun, menyebutnya sebagai basis data "kunci-nilai" benar-benar melewatkan fitur DynamoDB yang sangat mendasar, yaitu tombol sortir : Kunci memiliki dua bagian (kunci partisi dan kunci sortir) dan item dengan kunci partisi yang sama dapat secara efisien diambil bersama-sama diurutkan dengan tombol sortir.

Cassandra juga memiliki fitur sorting-items-inside-a-partisi yang persis sama (yang disebut "kunci pengelompokan"), dan artikel Cassandra Wikipedia menggunakan istilah toko kolom lebar untuk menggambarkannya. Namun, sementara istilah "kolom lebar" ini lebih baik daripada "nilai kunci", itu masih agak tidak tepat karena menggambarkan situasi yang lebih umum di mana suatu item dapat memiliki sejumlah besar kolom yang tidak terkait - tidak perlu daftar diurutkan yang terpisah barang.

Jadi pertanyaan saya adalah apakah ada istilah yang lebih tepat yang dapat menggambarkan model data dari basis data seperti DynamoDB dan Cassandra - basis data yang seperti penyimpanan nilai-kunci dapat secara efisien mengambil item untuk kunci individual, tetapi juga dapat secara efisien mengambil item yang diurutkan berdasarkan kunci atau hanya sebagian saja ( kunci pengurutan DynamoDB atau kunci pengelompokan Cassandra ).

Nadav Har'El
sumber
2
Saya menemukan "Key-Key-Value" untuk menangkap sifat Partisi / Pemesanan / Nilai dari model ini
Tzach Livyatan
Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena sepertinya tidak terkait dengan pengkodean.
Charles
5
Mengapa itu harus terkait dengan "coding"? Itu tidak memiliki tag C ++ atau Java atau bahasa pemrograman lain, jadi ini bukan tentang pengkodean dalam bahasa pemrograman apa pun. Ia memiliki Cassandra et al. tag - menunjukkan bahwa ini tentang perangkat lunak itu . Apakah ada situs stackexchange yang lebih baik menurut Anda lebih baik mengajukan pertanyaan tentang perangkat lunak? Dan perhatikan bahwa pertanyaan ini sudah memiliki skor +2. Tampaknya itu bukan pertanyaan yang sangat buruk.
Nadav Har'El
2
Saran saya "Key-Sortable-Value"
TomerSan

Jawaban:

3

Sebelum CQL diperkenalkan, Cassandra berpegang teguh pada model data penyimpanan kolom yang lebih ketat, di mana Anda hanya memiliki baris yang diidentifikasi oleh kunci baris dan berisi kolom kunci / nilai yang diurutkan. Dengan diperkenalkannya CQL, baris dikenal sebagai partisi dan kolom secara opsional dapat dikelompokkan ke baris logis melalui kunci pengelompokan.

Bahkan sampai Cassandra 3.0, CQL hanyalah abstraksi di atas model data penghematan asli dan tidak ada konsep baris CQL dalam mesin penyimpanan. Mereka hanya seperangkat kolom diurutkan dengan kunci majemuk yang terdiri dari nilai-nilai gabungan dari kunci pengelompokan. Rincian lebih lanjut diberikan dalam artikel ini . Sekarang ada dukungan asli untuk CQL di mesin penyimpanan, yang memungkinkan model data CQL disimpan lebih efisien.

Namun, jika Anda menganggap baris CQL sebagai pengelompokan kolom yang logis dalam partisi yang sama, Cassandra masih bisa dianggap sebagai toko kolom yang luas. Bagaimanapun, setahu saya, tidak ada istilah lain yang mapan untuk menggambarkan basis data semacam ini.

JB Langston
sumber