Replicación de bases de datos
Para entender un poco más este tema, debemos empezar por explicar qué es una replicación de base de datos, existen diferentes tipos de replicación, pero todas apuntan a un objetivo en común: tener una copia de nuestra base de datos que se encuentre actualizada en todo momento, con el fin de utilizarla como sitio de contingencia, reportería, migración, y más ideas que podamos imaginar. Este objetivo puede verse muy simple, pero, al intentar cumplirlo nos vamos a encontrar con otros pequeños inconvenientes que debemos tener en cuenta, estas son algunas preguntas claves:
- ¿Qué opciones me brinda el tipo de licenciamiento?
- ¿Nuestra base de datos réplica estará disponible en todo momento?
- ¿Qué tipo de replicación es más conveniente para el comportamiento y características de mi base de datos?
Estas preguntas solo son la punta del iceberg, debido a que, la mayoría de los clientes no conocen en detalle sus bases de datos, lo que los lleva a implementar mecanismos de replicación no recomendados o que no pueden cumplir con los tiempos esperados.
Beneficios de replicar tus bases de datos
Supongamos que ya tenemos una estrategia de replicación de datos acorde a nuestras necesidades y expectativas, ¿qué beneficios nos puede brindar?, en realidad hay un beneficio en general que se puede utilizar de varias maneras, y es la disponibilidad, ya que nos permite tener a nuestra disposición una copia de la base de datos, lo cual nos abre el panorama para:
- Sitio de contingencia ante desastres o problemas que impidan a los usuarios finales acceder al sitio productivo: la base de datos es sólo uno de los componentes del plan de recuperación de desastres (DRP) pero es un gran avance si ya contamos con una replicación de la base de datos.
- Trasladar procesos de reporting o integración de datos a nuestra base de datos alterna, para liberar recursos en la base de datos productiva.
- Migración de datos a diferentes sistemas operativos, versiones y ediciones de bases de datos, o comunicación con otros motores o herramientas de mensajería como Apache Kafka, lo cual amplía el abanico de posibilidades de comunicación.
- Replicación de la base de datos a la nube para cualquiera de los fines mencionados, para abrir la puerta a poder tener un DRPaaS (Disaster Recovery Plan as a Service), MaaS (Migration as a Service) y algunas otras funcionalidades como servicio relacionadas con nuestra replicación.
Tipos de replicación de bases de datos
Si queremos conseguir estos beneficios debemos empezar a pensar en cómo lograrlos, lo primero que debemos hacer es tener muy claro qué tipo de replicación se adapta más a nuestra base de datos y a los objetivos que debemos cumplir; podría ser de la siguiente manera:
Una replicación física de base de datos está basada en el paso de bloques de datos, y su recuperación en el destino depende de abrir la base de datos de manera consistente. Tener una replicación física puede ser muy confiable, pero no es para todos los escenarios, por regla es para replicaciones de datos entre ambientes muy similares entre sí, o por lo menos de la misma arquitectura, y en el caso de Oracle, se requiere un licenciamiento Enterprise para utilizar las herramientas nativas, para standard debemos configurar un proceso llamado standby que tiene más probabilidad de presentar errores. Además, el paso constante de archivos puede ser un problema para la red.
Una replicación lógica de bases de datos se basa en el paso de mensajes como operaciones de base de datos de forma independiente y puede ser una muy buena opción para ambientes heterogéneos, sin embargo, también tiene sus limitaciones en cuanto a tipos de datos personalizados, memoria dinámica y algunos procesos que son reservados para el motor, como la auditoría nativa. En este caso hay que analizar muy bien el comportamiento de nuestra base de datos y tener presente que pueden presentarse altos volúmenes de operaciones al momento de ejecutar procesos calendarizados.
Estrategias para la replicación de bases de datos
Al evaluar la estrategia para la replicación de bases de datos, se deben contemplar dos actividades principales:
Decidir el tipo de replicación y ponerla a funcionar
Aquí es donde podemos utilizar herramientas especializadas para replicaciones lógicas, incluso para replicar hacia otros motores, hacia la nube o incluso hacia otros sistemas de mensajerías empresariales, al tratarse de una replicación lógica se abre a diferentes opciones de replicación, como para la migración, reporting, consolidación de la data, entre muchas otras.
Realizar un Backup consistente como punto de partida de nuestra réplica
En este último punto existen altas probabilidades de cometer errores, y en realidad, solamente tenemos una opción: Utilizar herramientas nativas del motor para obtener dicho respaldo consistente.
En este punto se deben estar preguntando: ¿debemos afectar a los usuarios finales para ello? No!, la estrategia de replicación permite que estas herramientas trabajen en conjunto para lograr una configuración sin necesidad de tener ventanas de mantenimiento o afectar la disponibilidad de las aplicaciones, en la mayoría de los casos, se debe realizar un respaldo, copiarlo al ambiente alterno, recuperar el respaldo y configurar la replicación.
Parece algo sencillo ¿verdad? Pues la realidad supera la estimación, normalmente se debe evaluar: actividad de la base de datos, características de los ambientes a nivel de almacenamiento, memoria y capacidad de la red, es importante evitar momentos de altas cargas de actividad, si los ambientes son homogéneos o heterogéneos, el tipo de respaldo más adecuado (físico, lógico), configuración de la replicación y algunas otras actividades del cronograma en general que ya hacen parte de la reserva del autor, en este punto crítico de la lectura es donde se debe leer la mítica frase: si quiere saber más: ¡pregúntennos!
También te invitamos a conocer SharePlex, nuestro producto emblema para la replicación de bases de datos.
Queremos escucharte
Si quieres ampliar la información o requieres asesoría, estaremos dispuestos a atenderte.