Comment appelez-vous le modèle de données de DynamoDB et Cassanda?

9

L' article de DynamoDB Wikipedia indique que DynamoDB est une base de données de " valeurs-clés ". Cependant, l'appeler une base de données "clé-valeur" manque complètement une caractéristique extrêmement fondamentale de DynamoDB, celle de la clé de tri : les clés ont deux parties (clé de partition et clé de tri) et les éléments avec la même clé de partition peuvent être efficacement récupérés ensemble triés par la clé de tri.

Cassandra a également exactement la même fonctionnalité de tri des éléments à l'intérieur d'une partition (qu'elle appelle «clé de clustering»), et l'article de Cassandra Wikipedia utilise le terme magasin de colonnes larges pour le décrire. Cependant, bien que ce terme "colonne large" soit meilleur que "valeur-clé", il est encore quelque peu inapproprié car il décrit la situation plus générale où un élément peut avoir un très grand nombre de colonnes non liées - pas nécessairement une liste triée de colonnes séparées articles.

Ma question est donc de savoir s'il existe un terme plus approprié qui peut décrire le modèle de données d'une base de données comme DynamoDB et Cassandra - des bases de données qui, comme un magasin de valeurs-clés, peuvent récupérer efficacement des éléments pour des clés individuelles, mais peuvent également récupérer efficacement des éléments triés par le clé ou juste une partie de celle-ci ( clé de tri de DynamoDB ou clé de clustering de Cassandra ).

Nadav Har'El
la source
2
Je trouve "Key-Key-Value" pour capturer la nature Partition / Ordering / Value de ce modèle
Tzach Livyatan
Je vote pour fermer cette question comme hors sujet car elle ne semble pas liée au codage.
Charles
5
Pourquoi doit-il être lié au "codage"? Il n'a pas la balise C ++ ou Java ou tout autre langage de programmation, il ne s'agit donc pas de coder dans un langage de programmation. Il a le Cassandra et al. balises - indiquant qu'il s'agit de ce logiciel . Existe-t-il un meilleur site stackexchange qui, selon vous, répond mieux aux questions sur les logiciels? Et notez que cette question a déjà un score de +2. Ce n'est pas une très mauvaise question, apparemment.
Nadav Har'El
2
Ma suggestion "Key-Sortable-Value"
TomerSan

Réponses:

3

Avant l'introduction de CQL, Cassandra respectait plus strictement le modèle de données de stockage à colonnes larges, où vous n'aviez que des lignes identifiées par une clé de ligne et contenant des colonnes clé / valeur triées. Avec l'introduction de CQL, les lignes sont devenues des partitions et des colonnes pouvant éventuellement être regroupées en lignes logiques via des clés de clustering.

Même jusqu'à Cassandra 3.0, CQL n'était qu'une abstraction au-dessus du modèle de données d'épargne d'origine et il n'y avait pas de concept de lignes CQL dans le moteur de stockage. Il s'agissait simplement d'un ensemble trié de colonnes avec une clé composée constituée des valeurs concaténées des clés de clustering. Plus de détails sont donnés dans cet article . Il existe désormais une prise en charge native de CQL dans le moteur de stockage, ce qui permet de stocker plus efficacement les modèles de données CQL.

Cependant, si vous considérez une ligne CQL comme un regroupement logique de colonnes dans la même partition, Cassandra peut toujours être considérée comme un magasin de colonnes étendu. En tout cas, il n'y a pas, à ma connaissance, un autre terme bien établi pour décrire ce type de base de données.

JB Langston
la source