¿Cómo se llama el modelo de datos de DynamoDB y Cassanda?

9

El artículo de DynamoDB Wikipedia dice que DynamoDB es una base de datos de " valor-clave ". Sin embargo, al llamarlo una base de datos de "clave-valor" se pierde por completo una característica extremadamente fundamental de DynamoDB, la de la clave de clasificación : las claves tienen dos partes (clave de partición y clave de clasificación) y los elementos con la misma clave de partición pueden recuperarse juntos de manera eficiente por la clave de clasificación.

Cassandra también tiene exactamente la misma característica de clasificación de elementos dentro de una partición (que llama "clave de agrupamiento"), y el artículo de Cassandra Wikipedia utiliza el término almacén de columnas anchas para describirlo. Sin embargo, aunque este término "columna ancha" es mejor que "valor-clave", sigue siendo algo inapropiado porque describe la situación más general en la que un elemento puede tener una gran cantidad de columnas no relacionadas, no necesariamente una lista ordenada de artículos.

Entonces, mi pregunta es si hay un término más apropiado que pueda describir el modelo de datos de una base de datos como DynamoDB y Cassandra: las bases de datos que, como un almacén de valores clave, pueden recuperar de manera eficiente elementos para claves individuales, pero también pueden recuperar de manera eficiente elementos ordenados por clave o solo una parte de ella (la clave de clasificación de DynamoDB o la clave de agrupación de Cassandra ).

Nadav Har'El
fuente
2
Encuentro "Key-Key-Value" para capturar la naturaleza de Partición / Pedido / Valor de este modelo
Tzach Livyatan
Estoy votando para cerrar esta pregunta como fuera de tema porque no parece estar relacionada con la codificación.
Charles
55
¿Por qué necesita estar relacionado con la "codificación"? No tiene la etiqueta C ++ o Java ni ningún otro lenguaje de programación, por lo que no se trata de codificar en ningún lenguaje de programación. Tiene el Cassandra et al. etiquetas: indica que se trata de ese software . ¿Existe un mejor sitio de stackexchange que crees que mejor responde a las preguntas sobre el software? Y tenga en cuenta que esta pregunta ya tiene una puntuación de +2. No es una pregunta realmente mala, aparentemente.
Nadav Har'El
2
Mi sugerencia "Key-Sortable-Value"
TomerSan

Respuestas:

3

Antes de que se introdujera CQL, Cassandra se adhirió más estrictamente al modelo de datos de almacén de columnas anchas, donde solo había filas identificadas por una clave de fila y que contenían columnas de clave / valor ordenadas. Con la introducción de CQL, las filas se conocieron como particiones y las columnas se podían agrupar opcionalmente en filas lógicas a través de claves de agrupación.

Incluso hasta Cassandra 3.0, CQL era simplemente una abstracción sobre el modelo de datos de ahorro original y no había concepto de filas CQL dentro del motor de almacenamiento. Eran solo un conjunto ordenado de columnas con una clave compuesta que constaba de los valores concatenados de las claves de agrupación. Más detalles se dan en este artículo . Ahora hay soporte nativo para CQL en el motor de almacenamiento, lo que permite que los modelos de datos CQL se almacenen de manera más eficiente.

Sin embargo, si piensa en una fila CQL como una agrupación lógica de columnas dentro de la misma partición, Cassandra aún podría considerarse un amplio almacén de columnas. En cualquier caso, no hay, que yo sepa, otro término bien establecido para describir este tipo de base de datos.

JB Langston
fuente