2011-08-25 33 views
7

Estoy buscando si cassandra tiene limitaciones de especificación de hardware de nodo como cuál podría ser el máximo de almacenamiento por nodo si existe tal limitación.Limitaciones del nodo de cassandra

Tengo la intención de utilizar un par de nodos con 48 TB de almacenamiento (2 TB X 24 discos duros de 7200 rpm) por nodo con un buen procesador doble xeon.

He buscado estas limitaciones si existe pero no he encontrado ningún material sobre este tema. Y chicos por qué hay tanto menos alboroto sobre cassandra recientemente mientras se está madurando y está en la versión 0.8, mientras que la mayoría de los artículos/blogs están relacionados solo con 0.6v.

Respuesta

7

Cassandra distribuye sus datos por fila, por lo que la única limitación importante es que una fila debe poder caber en un solo nodo.

Así que la respuesta corta es no.

La respuesta más larga es que querrá asegurarse de que está configurando un área de almacenamiento independiente para sus datos permanentes y sus registros de confirmación.

Otra cosa a tener en cuenta es que aún se encontrará con problemas de velocidad de búsqueda. Una de las cosas buenas de Cassandra es que no necesita tener un solo nodo con tantos datos (y de hecho probablemente no esté bien informado, su almacenamiento excederá su capacidad de procesamiento). Si usa nodos más pequeños (espacio en disco duro), sus capacidades de almacenamiento y procesamiento se escalarán juntas.

+0

Su buen punto de que la potencia de procesamiento puede superar almacenamiento.¿Tiene una buena idea sobre el almacenamiento y la relación de potencia de procesamiento? Tenía la intención de utilizar un total de 16 (32 hilos) núcleos dual xeon 7560 para ese almacenamiento. –

+0

El punto dulce que no pude comentar. Sin embargo, otro punto a considerar es su factor de replicación. ¿Planea tener 3 o más de esos nodos con un RF> = 2? Si no lo hace, entonces evitará muchos de los beneficios de Cassandra (el número uno no es un punto único de falla). – dmcnelis

+0

Sí, habría incluso más de 3 nodos del mismo tamaño y RF> = 2. Por cierto, también me gustaría escuchar sobre el uso de una opción alternativa como RAID10 ... si corta significativamente el trabajo de replicación de cassandra. –

5

Ver How much data per node in Cassandra cluster?

lo que sugiere que entre el 1-10 TB por nodo es sensible, dependiendo de su aplicación. Cassandra probablemente todavía trabaje con 48TB, pero no de manera óptima.

¿Tiene la intención de utilizar el factor de replicación de 1 o 2 (si tiene 2 nodos como se indicó anteriormente)?

Algunas operaciones (reparación, compactación) pueden ser extremadamente lentas con tantos datos en un solo nodo.

+0

Si rompo cada nodo para decir 10TB, ¿qué CPU/RAM debería ser ideal para hacer que Casandra lo maneje todo bien? Tenía la intención de usar 640GB de RAM con 48TB de almacenamiento porque solo se mantendrán en el índice de la columna. –

+2

Algunos comentarios sobre RAM en http://wiki.apache.org/cassandra/CassandraHardware, pero depende en gran medida de los cachés de claves o cachés de filas que está utilizando, y su carga de trabajo de lectura y escritura. Es probable que obtenga mejores resultados con más nodos, cada uno con hardware modesto, que algunos nodos altamente especificados. – DNA

7

Hay algunas notas here sobre consideraciones de grandes conjuntos de datos.

48 TB de datos por nodo es probablemente demasiado. Será mucho mejor tener más nodos con cantidades de datos más pequeñas. Periódicamente debe ejecutar nodetool repair, lo que implica leer todos los datos en la máquina. Si está almacenando muchos terabytes de datos en una máquina, esto será muy doloroso.

Limitaría cada nodo a alrededor de 1TB de datos.

5

También debe tener cuidado al usar grandes cantidades de RAM con Cassandra. La RAM es ideal para almacenar en caché los datos en SSTables, pero dar a la JVM mucho espacio en el montón es contraproducente. No le dé a la JVM mucho más de 12 GB de espacio de almacenamiento dinámico; de lo contrario, la recolección de basura llevará demasiado tiempo y dificultará el rendimiento. Esta es otra razón por la que tener más nodos más pequeños es mejor en Cassandra.

Cuestiones relacionadas