La agrupación de bases de datos es un término un tanto ambiguo, algunos proveedores consideran que un clúster que tiene dos o más servidores comparte el mismo almacenamiento, otros llaman a un clúster un conjunto de servidores replicados.
La replicación define el método por el cual un conjunto de servidores permanece sincronizado sin tener que compartir el almacenamiento pudiendo dispersarse geográficamente, hay dos formas principales de hacerlo:
replicación master-master (o multi-master): cualquier servidor puede actualizar la base de datos. Por lo general, se ocupa de un módulo diferente dentro de la base de datos (o un software completamente diferente que se ejecuta sobre ellos en algunos casos).
Lo malo es que es muy difícil hacerlo bien, y algunos sistemas pierden propiedades ACID cuando se encuentran en este modo de replicación.
Lo positivo es que es flexible y puede soportar la falla de cualquier servidor mientras se mantiene actualizada la base de datos.
replicación maestro-esclavo: solo hay una copia única de datos autorizados, que se envía a los servidores esclavos.
Lo malo es que es menos tolerante a fallas, si el maestro muere, no hay más cambios en los esclavos.
Lo positivo es que es más fácil de hacer que multimaestro y generalmente conserva las propiedades de ACID.
El equilibrio de carga es un concepto diferente, consiste en distribuir las consultas enviadas a esos servidores para que la carga se distribuya de la manera más uniforme posible. Por lo general, se realiza en la capa de aplicación (o con un grupo de conexiones). La única relación directa entre la replicación y el equilibrio de carga es que necesita alguna replicación para poder equilibrar la carga, de lo contrario tendría un solo servidor.
Desde el punto de vista de SQL Server:
El agrupamiento le dará una configuración activa - pasiva. Es decir, en un clúster de 2 nodos, uno de ellos será el activo (en servicio) y el otro será pasivo (en espera de hacerse cargo cuando el nodo activo falle). Es una alta disponibilidad desde el punto de vista del hardware.
Puede tener un clúster activo-activo, pero requerirá múltiples instancias de SQL Server ejecutándose en cada nodo. (es decir, la instancia 1 en el nodo A que falla a la instancia 2 en el nodo B, y la instancia 1 en el nodo B que falla a la instancia 2 en el nodo A).
El equilibrio de carga (al menos desde el punto de vista de SQL Server) no existe (al menos en el mismo sentido del equilibrio de carga del servidor web). No se puede equilibrar la carga de esa manera. Sin embargo, puede dividir su aplicación para que se ejecute en alguna base de datos en el servidor 1 y también se ejecute en alguna base de datos en el servidor 2, etc. Este es el medio principal de "equilibrio de carga" en el mundo SQL.
fuente
La agrupación en clúster utiliza almacenamiento compartido de algún tipo (una caja de unidades o una SAN, por ejemplo), y coloca dos front-end de la base de datos. Los servidores front-end comparten una dirección IP y un nombre de red de clúster que los clientes usan para conectarse, y deciden entre ellos quién está actualmente a cargo de atender las solicitudes de los clientes.
Si está preguntando acerca de un servidor de base de datos en particular, agréguelo a su pregunta y podemos agregar detalles sobre su implementación, pero en esencia, eso es la agrupación.
fuente
La agrupación de bases de datos es en realidad un modo de replicación sincrónica entre dos o posiblemente más nodos con una funcionalidad adicional de tolerancia a fallas agregada a su sistema, y eso también en una arquitectura de nada compartido. Al no compartir nada significa que los nodos individuales en realidad no comparten ningún recurso físico como el disco o la memoria.
En lo que respecta a mantener los datos sincronizados, hay un servidor de administración al que se conectan todos los nodos de datos junto con el nodo SQL para lograr esto (hablando específicamente de MySQL).
Ahora sobre las diferencias: el equilibrio de carga es solo un resultado que podría lograrse a través de la agrupación, los otros incluyen alta disponibilidad, escalabilidad y tolerancia a fallas.
fuente