Espacio de tecnologia, software libre y sus derivados. Una horda de monos entrenados escriben de vez en cuando por aqui algunas noticias, opiniones e incluso alguna que otra cosa fuera del tema. Maqueros, favor de abstenerse que no somos lo suficientemente guapos.

Piano daemon

Una platica sobre Mysql Cluster.

Antes de implementar un mysql cluster… le di un vistazo a este video…… bastante enriquecedor…

Si deseas ver el video con subtitulos… que tambien estan solo en ingles checa la siguiente url

Sintesis de esta platica segun yo :p :
* Se habla de las nuevas caracteristicas agregadas a el engine cluster de mysql 5 que ya existia en la version 4 de mysql.
* Se habla de que los indices de momento se siguen manejando en memoria… pero la intension de manejarlos en disco saldra en el siguiente release (recuerden que sun ahora tomo cartas en el asunto).
* La memoria puede ser spliteada, esto quiere decir que un monto de datos de 10gb entre dos maquinas corresponderia a 5 gb manejados por cada maquina. Y cada maquina tendria una copia completa de los datos.
* Permite respaldos en caliente (”sin parar la base de datos“). al estilo del engine myisam….. que a muchos no les gusta, ya que no tiene integridad referencial… pero recordemos que no requiere compactacion de datos… y eso es fabuloso.
* Mysql cluster ofrece alta disponibilidad… esto quiere decir… que se recupera ante cualquier falla.
* Se habla de que es posible tener un cluster de mysql con diskless
* Se recalca que no requerimos sistemas de almacenamientos caros para un cluster de mysql (si usas bastantes nodos….)(en lo personal te recomiendo que si tienes los medios uses host bus adapter)
* Se recomienda tener el nodo mysql sobre una red aparte con su propio hub para garantizar la buena comunicacion entre nodos del cluster
* Tus aplicaciones podran accesar al cluster de mysql con la misma libreria que accesan ahora al mysql que no esta en modo cluster.
* El cluster de mysql tambien puede ser replicado
* Los nodos del cluster mysql, podran ser agrupados en “grupos” y cada grupo tomar una seccion de la base de datos.
* Existen nodos de almacenamiento, nodos API y nodos de administracion (estos ultimos pueden distribuir la informacion del cluster entre ellos….y no tienen que ser equipos realmente poderosos)
* Para un cluster mysql un nodo… es solo un proceso…capichi!…. entre mas nodos… mas procesos trabajando y eficientando al cluster en general
* No es posible agregar nodos online al cluster mysql aun…… (tienes que parar todo si quieres sustituir un nodo con falla… esperemos que en nuevas realeases se pueda agregar nodos online.)
* Lo posito es que cuando una falla ocurre todos los nodos del cluster son avisados. Y entonces se toman medidas para procesar el trabajo de manera diferente. Si alguna aplicacion cliente estubiece realizando una transaccion durante un momento donde ocurriece una falla, esta transaccion no sera valida y se desbaratara, por lo que el cliente tendra que realizarla de nuevo. De esta manera se evitan los famosos DEADlock (saludos profesor carrete… del tecnologico de durango… ahi comprendi ese concepto.)
* Sobre un mysql cluster puedes hacer VISTAS, PROCEDIMIENTOS ALMACENADOS, TRIGGERS, que actuen sobre las tablas del cluster. Solo que estos deberan ser definidos en cada nodo del cluster.
* Existe en mysql cluster actual 2 o 3 veces mas rendimiento de lo que habia en la version de mysql cluster anterior.

Comenta