que para matematicas español data caracteristicas big database-design nosql cassandra

database design - para - Cassandra: Familia de Columna vs Familia de Súper Columna



mongodb español (1)

Tengo un requisito donde necesito que mi base de datos almacene los siguientes datos:

- For each build, store the results of 3 performance runs. The result includes tps and latency.

Al leer el modelo de datos de cassandra, se asigna directamente a una familia de súper columnas del siguiente formato:

BenchmarkSuperColumnFamily= { build_1: { Run1: {1000K, 0.5ms} Run2: {1000K, 0.5ms} Run3: {1000K, 0.5ms} } build_2: { Run1: {1000K, 0.5ms} Run2: {1000K, 0.5ms} Run3: {1000K, 0.5ms} } ... }

Pero, leí en la siguiente respuesta que se desaconseja el uso de la familia Super Column. Quería saber si hay una mejor manera de crear un modelo para mi requerimiento.

PD, tomé prestada la notación JSONish del siguiente artículo


La respuesta a la que se ha vinculado es correcta. No debería usar SuperColumns en nuevas aplicaciones. Sin embargo, existen para compatibilidad con versiones anteriores.

En general, las columnas compuestas se pueden usar para imitar cualquier modelo proporcionado por supercolumnas. Básicamente, le permiten separar sus nombres de columna en varias partes. Entonces, si tuviera que especificar un comparador de ''CompositeType (UTF8Type, UTF8Type)'', su modelo de datos enrollado terminará luciendo así:

BenchmarkColumnFamily= { build_1: { (Run1, TPS) : 1000K (Run1, Latency) : 0.5ms (Run2, TPS) : 1000K (Run2, Latency) : 0.5ms (Run3, TPS) : 1000K (Run3, Latency) : 0.5ms } build_2: { ... } ... }

Con el modelo anterior, puede usar una única consulta para obtener un solo punto de datos para una sola ejecución, todos los puntos de datos para una sola ejecución o todos los puntos de datos para varias ejecuciones.

Más información sobre columnas compuestas: http://www.datastax.com/dev/blog/introduction-to-composite-columns-part-1