¿Que es un cluster?
Es un conjuntos de ordenadores unidos entre si a través de una red, lo cual permite que se comporten como si fuesen una única computadora.
¿Que es MariaDB Galera Cluster?
Es un es una tecnología que permite el clustering multi-maestro síncrono para MariaDB esta tecnología se encuentra disponible solo en Linux y es compatible con los motores de almacenamiento XtraDB / InnoDB.
Funcionamiento
Al utilizar el modo multi-maestro, solo puedes usar el nivel de aislamiento REPEATABLE-READ (el nivel predeterminado), Cuando emite una lectura coherente (es decir, una declaración SELECT normal), InnoDB le da a su transacción un punto de tiempo según el cual su consulta ve la base de datos. Si otra transacción elimina una fila y se confirma después de que se asignó su punto de tiempo, no verá la fila como eliminada. Las inserciones y actualizaciones se tratan de manera similar.
Una lectura coherente no establece ningún bloqueo en las tablas a las que accede y, por lo tanto, otras sesiones pueden modificar esas tablas al mismo tiempo que se realiza una lectura coherente en la tabla.
Ejemplo funcionamiento
En el siguiente ejemplo, la sesión A ve la fila insertada por la sesión B solo cuando sesión B ha confirmado la inserción y la sesión A también ha confirmado, de modo que el punto de tiempo avanza más allá de la confirmación de la sesión B.
Session A Session B SET autocommit=0; SET autocommit=0; time | SELECT * FROM t; | empty set | INSERT INTO t VALUES (1, 2); v SELECT * FROM t; empty set COMMIT; SELECT * FROM t; empty set COMMIT; SELECT * FROM t; --------------------- | 1 | 2 | ---------------------
¿Como se transfiere la información de un nodo a otro?
La transferencia de información entre nodos se realiza Mediante un método de transferencia de instantáneas de estado (SST), así cuando un nuevo nodo se une a un clúster el nodo configurado como donante proporciona una copia completa de los datos al nuevo nodo.
Nota: puede designar por adelantado qué nodo debe ser el donante con el parámetro wsrep_sst_donor de lo contrario el módulo Comunicación de grupo seleccionará un donante por usted todo en función de la información disponible de los estados de los nodos.
Metodos SST
Método | Velocidad | Bloques Donante | Disponibilidad de Live Node | Tipo | |
---|---|---|---|---|---|
mysqldump | Lento | Bloques | Disponible | Lógico | |
rsync | Lo más rápido | Bloques | Indisponible | Físico | |
xtrabackup | Rápido | Brevemente | Indisponible | Físico |
Galera admite varios métodos de back-end para SST. pero en nuestro caso utilizaremos la Instantáneas de estado físico rsync, este tipo de instantánea copian directamente los archivos de datos de nodo a nodo.