cassandra - ventajas - familia de columna estándar vs familia de super columna
descargar cassandra para windows (2)
Leí en alguna parte que indica que para una fila que tenga miles de columnas en una familia de columnas estándar, mejor diseño para dividirlas en súper columnas, y al hacerlo, la lectura sería muy eficiente, ya que cassandra solo tendrá que cargar y devolver las columnas un nombre de supercolumna dada, en lugar de carga y posiblemente devuelva los tres dígitos de las columnas. ¿Alguien puede confirmar?
Si habrá muchas columnas o se deben indexar los datos, entonces es mejor crear una familia de columnas normal porque: 1) las supercolumnas super CF no están indexadas, y 2) cualquier solicitud de una subcolumna deserializa todo el sub -columnas en la súper columna. Pero, eso podría ser una limitación en la base de código actual, vea http://wiki.apache.org/cassandra/CassandraLimitations
Eso no es un buen consejo. En este punto, hay muy pocos casos de uso para los que las súper columnas son la mejor solución. Los nuevos CompositeTypes son una mejor solución para la mayoría de las supercolumnas utilizadas históricamente.
Dicho esto, parece que tampoco necesitas CompositeTypes aquí. Es cierto que si estás leyendo una fila muy grande, no debes retirar toda la fila de una vez. En su lugar, debe buscar porciones de la fila en sectores contiguos.
Básicamente, realizarás una serie de get_slice()
s. Para el primero, configure el recuento de columnas en, digamos, 1000 y la columna empiece en "". A continuación, tome el último nombre de columna de ese conjunto de resultados ( get_slice()
X) y realice otra llamada get_slice()
con un recuento de columnas de 1000, pero esta vez, establezca el inicio de la columna en X. Deseche la primera columna que obtiene de vuelta (será X), y luego repita todo el proceso get_slice()
hasta que la consulta get_slice()
menos de 1000 columnas, lo que indica que ha tocado el final de la fila.
Es posible que desee obtener más de 1000 o menos a la vez, según el tamaño de su columna.