Por Evangelina Fis en Couchbase Slider

La replicación de datos se refiere a la copia de datos de un repositorio a otro con la finalidad de mantener la consistencia en una arquitectura distribuida. 

Descubrí las herramientas de Couchbase que permiten replicar datos de manera inteligente.

Cross Datacenter Replication (XDCR), la replicación de datos en Couchbase

La replicación de datos es una práctica necesaria que están llevando adelante las empresas para obtener información valiosa de sus datos y tomar decisiones inteligentes.

Couchbase Cross Datacenter Replication (XDCR) es una herramienta clave para impulsar la replicación de datos en clústeres ubicados en diferentes centros de datos. 

Recordemos que la replicación entre clústeres se utiliza para garantizar una distribución uniforme y una alta disponibilidad de la información. 

XDCR está diseñado para la replicación global: replicación de datos entre múltiples regiones, múltiples centros de datos, múltiples proveedores de nube o cualquier combinación. Se requieren múltiples clústeres si se desea replicar datos en diferentes regiones. 

A diferencia de otras bases de datos, la funcionalidad multi-datacenter de Couchbase no se proporciona extendiendo un único clúster a través de múltiples centros de datos. Debido a las altas latencias de la red, los nodos/servidores en distintas regiones no pueden formar parte del mismo clúster. Cada clúster es independiente.

La herramienta cuenta con muchas funciones y opciones potentes disponibles:

  • Admite operación unidireccional y bidireccional.
  • Replicación activa-activa con resolución automática de conflictos. 
  • Replicación filtrada para replicar subconjuntos de documentos.
  • Replicación de datos de un depósito de origen a un depósito de destino.
  • Replicación de memoria a memoria, y asincrónica.
  • Replicación tanto de datos existentes como de aquellos que fueron modificados. 

Además, los clústeres de origen y destino pueden tener diferentes números de servidores (nodos), y XDCR es resistente a los cambios de topología.

Casos de uso de XDCR

Las configuraciones unidireccionales y bidireccionales tienen sus propios casos de uso.

Replicación unidireccional

La replicación unidireccional es ideal en los siguientes casos:

  • Recuperación ante desastres: Los datos más recientes siempre están disponibles en caso de desastre, lo que permite una conmutación por error y una recuperación rápida, sin pérdida de datos ni tiempo de inactividad.
  • Copias de desarrollo/prueba: Es posible proporcionar copias de los datos de producción con fines de prueba y desarrollo, lo cual reduce el trabajo manual y el riesgo de errores. XDCR proporciona replicación casi en tiempo real, lo que significa que los datos de prueba siempre están actualizados con los datos de producción.
  • Generación de informes/archivo: La replicación de datos en un clúster de archivo permite informes y análisis eficientes sin afectar el rendimiento del entorno de producción. Es la solución perfecta para organizaciones que necesitan mantener datos históricos con fines de cumplimiento o análisis.

Replicación bidireccional

La replicación bidireccional se puede utilizar para casos de uso como los siguientes:

  • Múltiples clústeres activos «calientes»: Al replicar datos en múltiples centros de datos, XDCR puede ayudar a proporcionar un equilibrio de carga eficiente y alta disponibilidad, ya que lo hace en tiempo real. Es adecuado para organizaciones que necesitan atender grandes volúmenes de tráfico o una base de usuarios distribuida globalmente.
  • Localización de datos: Con XDCR se pueden crear clusters distribuidos geográficamente almacenando por cercanía los datos y reduciendo la latencia. Los datos están siempre actualizados en la ubicación más cercana.
  • Geofencing: La herramienta se puede configurar para replicar información en clústers específicos, lo que garantiza la disponibilidad dentro de las regiones geográficas designadas. Esto puede ser utilizado por organizaciones que deben cumplir con las normas de privacidad o aplicar restricciones de geoperimetraje en sus datos.

Opciones XDCR

La resolución de conflictos resuelve problemas que surgen cuando diferentes nodos en el clúster intentan actualizar los mismos datos de forma simultánea

La resolución de conflictos basada en secuencias, los resuelve en base al orden en que se reciben las actualizaciones. Por el contrario, la resolución de conflictos basada en marcas de tiempo se basa en las actualizaciones más recientes.

Dependiendo del caso de uso específico, un tipo de resolución de conflictos puede ser más apropiado que otro. XDCR de Couchbase brinda flexibilidad para elegir el método apropiado.

El filtrado, por su parte, permite a los usuarios especificar qué documentos deben incluirse o excluirse de la replicación entre clústeres. Esto se puede basar en criterios como el tipo de documento, los valores de los atributos u otros metadatos. 

El filtrado XDCR proporciona un mayor control sobre qué documentos se replican, lo cual reduce el tráfico de red innecesario y la sobrecarga de almacenamiento.

La eliminación de un documento en un clúster activará la eliminación del documento correspondiente en el otro clúster. Sin embargo, este comportamiento se puede filtrar, lo que permite a las organizaciones mantener datos históricos para casos de uso de archivo o informes. 

De esta manera, las organizaciones garantizan que los datos permanezcan disponibles en sus clústers de informes o archivos, incluso si los documentos correspondientes se han eliminado en el clúster de producción. 

Esto puede ayudar a las organizaciones a cumplir con las políticas de retención de datos y garantizar que los datos importantes estén siempre disponibles para análisis e informes.

XDCR también puede admitir escenarios de migración, como la migración independiente de la infraestructura desde las instalaciones a la nube.Para conocer más sobre Couchbase y la replicación de datos, ¡hablemos!

Hablemos

¿Interesado en
potenciar tu negocio?

Aprovechá el máximo potencial de tus datos para mejorar los procesos de negocio.

¡Trabajemos juntos!