primary cassandra composite-key

primary - cassandra partition key



Tengo que probar diferentes modelos de datos para Cassandra. Estoy pensando en utilizar una clave compuesta hecha por key1: key2 para la clave de fila. Con esta configuración en Cassandra, por ejemplo, puedo consultar para que todas las filas tengan un valor de clave1 específico y cualquier valor de clave2, pero de lo contrario es imposible (obtenga todas las filas que tengan el valor de una clave2 específica y cualquier clave1). ¿Es correcto?

gracias por adelantado

Cesare


Si usa Partición de Conservación de Pedidos (OPP), entonces sí, las claves se almacenarán ordenadas, y luego puede obtener divisiones sobre un rango de teclas, por ejemplo, A: A a Z: pero no necesariamente ninguna: A a Z: Z.

Sin embargo, no se garantiza que OPP distribuya uniformemente las claves entre los nodos y usted podría terminar con "puntos calientes" de demasiadas o muy pocas teclas. Probablemente desee utilizar Random Partitioning (RP), que distribuye las claves almacenando mediante hash en todos los nodos.

Sin embargo, dado que las Columnas se almacenan ordenadas, el uso de valores Compuestos puede ser bastante poderoso para acceder a rangos de datos.

Consulte esta pregunta para obtener detalles sobre cómo consultar columnas compuestas usando Héctor.

Si es necesario, los nombres de las columnas podrían usarse como claves para realizar consultas de Multiget para búsquedas adicionales.