Come si chiama il modello di dati di DynamoDB e Cassanda?


9

L' articolo di DynamoDB su Wikipedia afferma che DynamoDB è un database " chiave-valore ". Tuttavia, definendolo un database "valore-chiave" manca completamente una caratteristica estremamente fondamentale di DynamoDB, quella della chiave di ordinamento : le chiavi hanno due parti (chiave di partizione e chiave di ordinamento) e gli elementi con la stessa chiave di partizione possono essere recuperati in modo efficiente insieme ordinati con il tasto di ordinamento.

Cassandra ha anche esattamente la stessa funzione di ordinamento-elementi-all'interno-di-una-partizione (che chiama "chiave di clustering"), e l' articolo di Cassandra Wikipedia usa il termine ampio archivio di colonne per descriverlo. Tuttavia, sebbene questo termine "colonna larga" sia migliore di "valore-chiave", è ancora in qualche modo inappropriato perché descrive la situazione più generale in cui un elemento può avere un numero molto elevato di colonne non correlate, non necessariamente un elenco ordinato di elementi separati elementi.

Quindi la mia domanda è se esiste un termine più appropriato in grado di descrivere il modello di dati di un database come DynamoDB e Cassandra - database che come un archivio di valori-chiave possono recuperare in modo efficiente elementi per singole chiavi, ma possono anche recuperare in modo efficiente elementi ordinati per chiave o solo una parte di essa (la chiave di ordinamento di DynamoDB o la chiave di cluster di Cassandra ).


2
Trovo "Valore-chiave-chiave" per catturare la natura Partizione / Ordine / Valore di questo modello
Tzach Livyatan,

Sto votando per chiudere questa domanda come fuori tema perché non sembra correlata alla codifica.
Charles

5
Perché deve essere correlato alla "codifica"? Non ha il tag C ++ o Java o nessun altro linguaggio di programmazione, quindi non si tratta di codificare in alcun linguaggio di programmazione. Ha la Cassandra et al. tag - indicando che si tratta di quel software . Esiste un sito stackexchange migliore che ritieni che le migliori suite facciano domande sul software? E nota che questa domanda ha già un punteggio di +2. Apparentemente non è una brutta domanda.
Nadav Har'El il

2
Il mio suggerimento "Key-Sortable-Value"
TomerSan

Risposte:


3

Prima dell'introduzione di CQL, Cassandra ha aderito in modo più rigoroso al modello di dati dell'archivio di colonne larghe, in cui solo le righe erano identificate da una chiave di riga e contenenti colonne chiave / valore ordinate. Con l'introduzione di CQL, le righe divennero note come partizioni e le colonne potevano essere facoltativamente raggruppate in righe logiche tramite chiavi di clustering.

Anche fino a Cassandra 3.0, CQL era semplicemente un'astrazione in aggiunta al modello originale di dati dell'usato e non esisteva il concetto di righe CQL all'interno del motore di archiviazione. Erano solo un insieme ordinato di colonne con una chiave composta costituita dai valori concatenati delle chiavi di clustering. Maggiori dettagli sono forniti in questo articolo . Ora esiste un supporto nativo per CQL nel motore di archiviazione, che consente di archiviare i modelli di dati CQL in modo più efficiente.

Tuttavia, se si considera una riga CQL come un raggruppamento logico di colonne all'interno della stessa partizione, Cassandra potrebbe comunque essere considerato un ampio archivio di colonne. In ogni caso, per quanto ne so, non esiste un altro termine ben definito per descrivere questo tipo di database.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.