3.3 Replicación de los datos
Imprime este documento

Anteriormente habiamos hablado de la replicación de los datos cuando describimos los niveles de transaparencia. En este tema vamos a abordar especialmete la replicación de los datos en una base de datos distribuida.

La replicación de datos se refiere al almacenamiento de copias de datos en sitios múltiples servidos por una red de computadoras. Pueden guardarse copias de fragmentos en varios sitios para satisfacer requerimientos de información específicos. Como la existencia de copias de fragmentos puede mejorar la disponibilidad de los datos y el tiempo de respuesta, estas copias reducen los costos de comunicación y de consulta totales.

Supongamos que la base de datos A está dividida en dos fragmentos: A1 y A2. Dentro de una base de datos distribuida replicada es posible el escenario ilustrado en la Figura 1: el fragmento A1 se guarda en los sitios S1 y S2, mientras que el A2 se guarda en los sitios S2 y S3.

Figura 1. Replicación.

Los datos replicados se someten a la regla de consistencia mutua, ésta requiere que todas las copias de fragmentos de datos sean idénticas; por consiguiente, para mantener la consistencia de los datos entre las réplicas, el Sistema de Administración de Base de Datos Distribuida (DDBMS) debe garantizar que se realice una actualización de la base de datos en todos los sitios donde existan réplicas.

Aunque la replicación tiene algunos beneficios, también exige más complejidad de procesamiento del DDBMS porque cada copia de datos debe ser mantenida por el sistema. Para ilustrar la complejidad impuesta a un DDBMS, consideremos los procesos que el DDBMS debe realizar para utilizar la base de datos:

  • Si la base de datos está fragmentada, el DDBMS debe decidir qué copia acceder.
  • Una operación Read (lectura) selecciona la copia más cercana para satisfacer la transacción. Una operación Write (escritura) requiere que todas las copias se seleccionen y actualicen para satisfacer la regla de consistencia mutua.
  • El procesador de transacciones envía una solicitud de datos de cada procesador de datos para su ejecucción.
  • El procesador de datos recibe y ejecuta cada solicitud y envía los datos de vuelta al procesador de transacciones.
  • El procesador de transacciones arma las respuestas del procesador de datos.

El problema se complica más cuando se consideran factores adicionales tales como la topología de la red y procesos de comunicación.
Existen tres escenarios de replicación: una base de datos puede ser totalmente replicada, parcialmente replicada o no replicada (Rob, 2004):

  • Una base de datos totalmente replicada guarda varias copias de cada fragmento de la base de datos en varios sitios; en este caso, los fragmentos de la base de datos están replicados. Una base de datos totalmente replicada puede no ser práctica debido a la cantidad de carga impuesta al sistema.
  • Una base de datos parcialmente replicada guarda múltiples copias de algunos fragmentos de la base de datos en múltiples sitios. La mayoría de los DDBMS son capaces de manejar bien la base de datos parcialmente replicada.
  • Una base de datos no replicada guarda cada fragmento de base de datos en un solo sitio; por consiguiente, no existen fragmentos de base de datos duplicados.

Varios factores influyen en la decisión de utilizar replicación de datos:

  • Tamaño de la base de datos.
  • Frecuencia de uso.
  • Costos de desempeño, software, indirectos y de administración asociados con la sincronización de las transacciones y sus componentes contra beneficios de tolerancia a las fallas asociados con los datos replicados.
Cuando la frecuencia de uso de datos remotamente localizados es elevada y la base de datos es grande, la replicación de los datos reduce el costo de las solicitudes de datos. La información sobre la replicación de los datos se guarda en el Catálogo de Datos Distribuidos (DDC), cuyo contenido es utilizado por el procesador de transacciones para decidir qué copia de un fragmentos de base de datos acceder. La replicación de datos permite recuperar los datos perdidos.
AnteriorSiguiente