Qué es la replicación de la base de datos


Acceso a los datos sin replicación

Imagina que tienes una aplicación web que está ganando popularidad, esto aumenta mucho el volumen de datos y multiplica la carga de consultas. Estas señales hacen que su base de datos sea vulnerable a los fallos.

Piense, entonces, en los costes asociados a una interrupción del servicio, que pueden ser considerablemente muy elevados.

A partir de este ejemplo, la necesidad de continuidad del servicio y de disponibilidad de la base de datos se convierte en algo primordial.

Vemos que el acceso a los datos sin replicación se traduce en:

  • Carga del DBMS.
  • Degradación del tiempo de respuesta.
  • Alta tolerancia a fallos.
    • ¿Qué es la replicación de bases de datos?

      Para asegurar la continuidad del servicio de las aplicaciones en caso de fallo o desastre, los datos deben ser replicados.

      La replicación es un proceso de copia de datos en múltiples servidores.

      Los servidores replicados son de dos tipos: el maestro, que contiene los datos de referencia, y el esclavo, que se abastece de ellos.

      La reproducción consiste en un único servidor maestro y uno o varios servidores esclavos. Aunque en teoría no hay límite en el número de esclavos, en la práctica las limitaciones son económicas y físicas.

      Cualquier cambio de datos debe hacerse en el maestro porque la información sólo puede fluir en un sentido, del maestro al esclavo.

      Precaución: una réplica no puede ser considerada como una copia de seguridad

      ¿Qué es una replicación sincrónica?

      Una replicación puede ser sincrónica: un servidor A envía datos a un servidor B y tiene que esperar a que éste termine su procesamiento y le avise enviando un acuse de recibo, para poder continuar. Por lo tanto, en caso de desastre en un sitio, la pérdida de datos es mínima o nula.

      ¿Qué es la replicación asíncrona?

      Una replicación también puede ser asíncrona: en este caso, el servidor A envía datos a un servidor B y no espera la respuesta de éste para continuar.

      ¿Cómo puede la replicación mejorar la tolerancia a fallos?

      En caso de que el servidor activo falle, la aplicación puede pasar al servidor pasivo. Esto garantiza la continuidad del servicio.

      ¿Cómo puede la replicación mejorar el equilibrio de carga y mejorar el tiempo de respuesta?

      Es la capacidad de asumir una mayor carga de peticiones de lectura, repartiéndola entre múltiples esclavos. No hay beneficio para las peticiones de escritura porque todas tienen que hacerse en el maestro.

      Principio

      El principio de la replicación, que implica al menos a dos SGBD, es bastante sencillo y se desarrolla en tres pasos:

      1. La base de datos maestra recibe una orden de actualización (INSERT, UPDATE o DELETE).
      2. Los cambios realizados en los datos son detectados y almacenados para su propagación.
      3. Un proceso de replicación se encarga de propagar los cambios que se realicen a una segunda base denominada esclava. Por supuesto, puede haber más de una base esclava.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *