Pregunta

Quiero implementar el clúster NDB para el clúster MySQL 6. Quiero hacerlo para una estructura de datos muy enorme con un mínimo de 2 millones de registros.

Quiero saber si hay limitaciones de implementación del clúster NDB. Por ejemplo, el tamaño de la RAM, el número de bases de datos o el tamaño de la base de datos para el clúster NDB.

¿Fue útil?

Solución

2 millones de bases de datos? Me doy cuenta de que te refieres a "filas".

De todos modos, en relación con las limitaciones: una de las cosas más importantes a tener en cuenta es que el clúster NDB/MySQL no es una base de datos de propósito general. En particular, las operaciones de unión, pero también las subconsules y las operaciones de rango (consultas como: pedidos creados entre ahora y una semana), pueden ser considerablemente más lentos de lo que podría esperar. Esto se debe en parte al hecho de que los datos se distribuyen en múltiples nodos. Aunque se han realizado algunas mejoras, el rendimiento de unión puede ser muy decepcionante.

Por otro lado, si necesita lidiar con muchas transacciones concurrentes (preferiblemente pequeñas) (generalmente actualizaciones de una sola fila/insertos/eliminar las búsquedas por clave primaria) y manejará para mantener todos sus datos en la memoria, entonces puede ser muy Solución escalable y perfilante.

Deberías preguntarte por qué quieres clúster. Si simplemente desea su base de datos ordinaria que tiene ahora, excepto con la disponibilidad agregada del 99,999%, entonces puede estar decepcionado. Ciertamente, el clúster MySQL puede proporcionarle una gran disponibilidad y tiempo de actividad, pero la carga de trabajo de su aplicación puede no ser muy adecuada para el clúster Thtings para el que es bueno. Además, es posible que pueda usar otra solución de alta disponibilidad para aumentar el tiempo de actividad de su base de datos tradicional.

Por cierto, aquí hay una lista de limitaciones según el documento: http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations.html

Pero hagas lo que hagas, prueba el clúster, mira si es bueno para ti. El clúster MySQL no es "MySQL + 5 Nines". Descubrirás cuando lo intentas.

Otros consejos

NDB Cluster viene con dos tipos de opciones de almacenamiento.

1. En almacenamiento de memoria. 2. Almacenamiento de disco.

NDB introdujo como en el almacenamiento de datos de memoria y en la versión 7.4 (MySQL 5.6) en adelante comenzó a admitir el almacenamiento de disco.

La versión actual 7.5 (MySQL 5.7) admite el almacenamiento de disco y, en este caso, no habrá restricciones de tamaño, ya que los datos residirán en el disco y el límite depende del espacio de almacenamiento de disco disponible con usted.
Configuraciones de almacenamiento de disco - https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data-symlinks.html

En la memoria, el almacenamiento en el clúster NDB también es bastante maduro y puede definir el uso de memoria en el archivo de nodo de administración config.ini. Ejemplo - DataMemory = 3072m indexMemory = 384m

En una tabla promedio (depende de los datos almacenados en las columnas) el tamaño total de DB debe ser menos de 1 GB, lo que se puede configurar fácilmente.

Nota: en mi propia implementación, enfrenté un desafío de rendimiento a medida que el rendimiento de NDB se degrada con un número creciente de filas en la tabla. Bajo una alta carga de la lectura de concurrencia de carga se degradará con el número de filas crecientes. Asegúrese de no buscar una exploración de mesa completa y proporcionar suficiente donde el predicado de la cláusula. Para el rendimiento adecuado, defina el índice secundario correctamente según su patrón de consulta. La definición del índice secundario aumentará nuevamente el consumo de memoria, así que planifique su patrón de consulta y recursos de memoria en consecuencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top