versiones ventajas tutorial para nombre mitologia desventajas descargar cassandra

ventajas - descargar cassandra para windows



Cassandra ENTRE Y ORDEN POR operaciones (2)

Quería realizar operaciones SQL como BETWEEN, ORDER BY con orden ASC / DSC en Cassandra-0.7.8.

Como sé, Cassandra-0.7.8 no tiene soporte directo para estas operaciones. Por favor, hágamelo saber si hay alguna forma de lograr esto modificando el índice secundario.

A continuación está el diseño de mi modelo de datos.

Emp(KS){ User(CF):{ bsanderson(RowKey): { eno, name, dept, dob, email } prothfuss(RowKey): { eno, name, dept, dob, email } } }

Consultas:

- Select * from emp where dept=''IT'' ORDER BY dob ASC. - Select * from emp where eno BETWEEN ? AND ? ORDER BY dob ASC.

Gracias por adelantado.

Saludos,

Thamizhananl


Select * from emp where dept=''IT'' ORDER BY dob ASC.

Puede seleccionar las filas donde la columna ''departamento'' tiene un cierto valor, utilizando los índices secundarios incorporados. Sin embargo, las filas se devolverán en el orden determinado por el particionador (RandomPartitioner o OrderPreservingPartitioner). Para ordenar por valores arbitrarios, como DOB, debe ordenar en el cliente.

O bien, podría respaldar esta consulta directamente al tener una fila para cada departamento y una columna para cada empleado, codificada (y por lo tanto ordenada) por fecha de nacimiento. ¡Pero ten cuidado con los cumpleaños compartidos! Y aún necesitaría consultas posteriores para recuperar otros datos (los resultados de su SELECT *) para los empleados seleccionados, a menos que se desnormalice para que los datos deseados también se almacenen en el índice.

Select * from emp where eno BETWEEN ? AND ? ORDER BY dob ASC.

La consulta del índice secundario en Cassandra requiere al menos un término de igualdad, por lo que creo que puedes hacer dept = ''IT'' AND eno> = X AND eno <= y, pero no solo una consulta BETWEEN-style.

Puede hacer esto creando su propia fila de índice, con una columna para cada empleado, codificada en el número de empleado, con un comparador apropiado para que todas las columnas se clasifiquen automáticamente en orden de número de empleado. A continuación, puede hacer una consulta de rango en esa fila para obtener una lista de empleados coincidentes, pero necesitará más consultas para recuperar otros datos para cada empleado (dob, etc.), a menos que se desnormalice para que los datos deseados también se almacenen en el índice. . Todavía necesitarías hacer el pedido dob en el cliente.


Como sé, las columnas se ordenarán por comparador cuando se cree una familia de columnas y se puede usar la clave clustring para ordenar su opinión y la fila en la columna familia se ordenará por el particionador. Sugiero que lea este documento
Cassandra The Definitive Guide Capítulo 6