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.
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:
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):
Varios factores influyen en la decisión de utilizar replicación de datos: