2012-03-26 15 views
7

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 un valor de clave2 específico y cualquier clave1). ¿Es correcto?Malentendido en clave compuesta para Cassandra

gracias de antemano

Cesare

Respuesta

3

Si utiliza la preservación del orden de particionamiento (OPP), entonces sí, las claves se almacenan ordenados, y entonces se puede obtener rodajas sobre una serie de teclas, por ejemplo, A: A a A: Z - pero no necesariamente cualquier: A a cualquier: Z.

Pero no se garantiza que OPP distribuya uniformemente las claves entre los nodos y 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 este question para obtener detalles sobre la consulta de columnas compuestas con Hector.

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

Cuestiones relacionadas