¿Qué es la replicación de datos?
Esta página le ayudará a comprender mejor la replicación de datos:
- Términos de replicación de datos
- Ventajas de la replicación de datos
- Retos de la replicación de datos
- Replicación de datos en RDBMS
- Conclusión
La replicación de datos es el proceso de copiar uno o varios registros de un lugar a otro. Estos lugares pueden ser muy similares (como copiar archivos dentro de la misma base de datos) o más distintos (como copiar datos de una base de datos a otra). El término replicación de datos suele implicar mantener los datos actualizados desde el origen hasta el destino, pero la velocidad y el nivel de automatización de la replicación pueden afectar a la coherencia de los datos.
Términos de replicación de datos
Aquí tienes una lista de términos comunes que te ayudarán a entender la replicación de datos:
Unidireccional frente a bidireccional: Una relación unidireccional significa que los datos fluyen sólo de un origen a un destino. Una relación bidireccional significa que los datos fluyen en ambos sentidos.
Activo-activo frente a activo-pasivo: En activo-activo distribuye uniformemente las cargas entre todos los nodos en todo momento. Por el contrario, un clúster activo-pasivo tiene un nodo de reserva que toma el relevo sólo si el nodo activo está sobrecargado.
Sincrónico frente a asincrónico: La replicación síncrona escribe datos simultáneamente en el nodo primario y en la réplica. La replicación asíncrona escribe primero los datos en el nodo primario y luego los copia en la réplica.
Procesamiento por lotes frente a procesamiento en tiempo real: El procesamiento por lotes recopila y procesa datos en grupos o lotes a intervalos programados, y suele ser adecuado para manejar grandes volúmenes de datos. El procesamiento en tiempo real maneja los datos a medida que se generan o reciben, por lo que es adecuado para aplicaciones sensibles al tiempo.
Incremental frente a completo: La replicación incremental de datos significa que sólo se replican los elementos actualizados de un registro. La replicación de datos completa significa que se replica todo el registro cuando cambian sus elementos.
Filtrado: Los datos de una fuente pueden filtrarse para que sólo un subconjunto o selección específica de los datos se replique en un destino.
Transformado: La transformación de datos es el proceso de convertir datos de un formato o estructura a otro para ponerlos en el formato y la estructura correctos para el análisis, la elaboración de informes o el almacenamiento en su destino.
Ventajas de la replicación de datos
La replicación de datos ha muchos usos y ventajas. Entre ellas:
Alta disponibilidad (HA): Mantener copias actualizadas de los datos en varias ubicaciones evita la pérdida de datos en caso de fallos. Normalmente, la replicación en tiempo real es unidireccional y tiene lugar entre una fuente y una o más réplicas. Si la fuente deja de estar disponible, una de las réplicas toma el relevo, a menudo automáticamente.
Recuperación en caso de catástrofe (DR): Estrechamente relacionada con la HA, la recuperación ante desastres garantiza la disponibilidad de copias de sus datos en caso de desastre.
Aumento del rendimiento: Este proceso utiliza múltiples copias de los datos para aumentar la capacidad de un sistema para atender las peticiones. Suele utilizarse para el tráfico de lectura y, con menos frecuencia, para el de escritura.
Acceso secundario: También conocida como indexación, consiste en replicar los datos en otro sistema para acceder a ellos de forma diferente. El segundo sistema puede estar dentro de la misma base de datos (en el caso de la indexación) o ser externo. Según las tecnologías utilizadas, un intermediario como Kafka para transferir los datos entre una fuente y un sistema externo.
Nota: Hemos excluido intencionadamente la "copia de seguridad" como ventaja de la replicación de datos porque no se actualiza una copia de seguridad con los cambios. Un punto clave a entender es que la replicación de datos es susceptible a la corrupción o eliminación de datos a nivel de aplicación, mientras que las copias de seguridad no lo son. Las copias de seguridad no deben considerarse un sustituto de la HA o la DR, ni la HA o la DR deben sustituir a las copias de seguridad.
Retos de la replicación de datos
Con cualquier estrategia de replicación de datos, se verá obligado a hacer concesiones entre:
- Velocidad
- La coherencia, la disponibilidad y la tolerancia a las particiones (los Teorema CAP)
- Uso y coste de los recursos (RAM, disco, CPU, red)
Por ejemplo:
- Mantener varias réplicas aumenta la seguridad de los datos en caso de interrupción, pero conlleva un mayor consumo de recursos y un coste más elevado. Lo mismo ocurre con el escalado de lecturas con múltiples réplicas.
- La replicación sincrónica puede hacer que las escrituras de origen sean más lentas (o fallen por completo). Sin embargo, la replicación asíncrona puede resultar en un mayor uso de recursos si escribe registros más rápido de lo que puede replicarlos. La replicación asíncrona también introduce la posibilidad de que haya discrepancias entre los datos de origen y los de destino, independientemente de lo rápida o fiable que sea su tecnología de replicación.
- La replicación incremental, filtrada y transformada puede resultar en un menor uso de recursos de red, pero estos tipos de replicación tienden a funcionar más lentamente y requieren una CPU de mayor rendimiento para la fuente.
Las mejores prácticas para la replicación de datos varían enormemente en función de los requisitos de su caso de uso y de las capacidades de las tecnologías que esté utilizando.
Replicación de datos en RDBMS
Cada tecnología de base de datos ofrece diferentes capacidades y opciones para la replicación de datos. Históricamente, los sistemas de gestión de bases de datos relacionales (RDBMS) replican los datos de una instancia de base de datos a otra mediante el envío de registros, que consiste en enviar los datos de una instancia de base de datos a otra después de escribirlos en el disco. Las bases de datos más recientes, como Couchbase Base de datos NoSQL, replica los datos directamente desde la RAM, aumentando significativamente la velocidad y la fiabilidad.
Conclusión
La replicación de datos es un concepto básico que sustenta muchas capacidades diferentes de las bases de datos, y la replicación se presenta en muchas formas diferentes con distintos retos y ventajas. La mejor opción de replicación de datos para su organización depende de lo que necesite conseguir y de las tecnologías que utilice.
Utilice estos recursos para obtener más información sobre la replicación de datos y las capacidades de replicación de datos de Couchbase:
Guía para la replicación de datos en la nube
Replicación de datos: Ventajas e inconvenientes
Replicación y sincronización de datos en Couchbase
Replicación entre centros de datos (Couchbase Capella™)
Replicación entre centros de datos (Couchbase Server)
Consulte nuestro centro de bases de datos para conocer otros conceptos clave de la gestión de datos.