Un buen número de aplicaciones informáticas están accesibles a través de la red, siguiendo un modelo cliente-servidor. En algunos casos, tiene gran importancia que tales servicios se presten de manera continua. Para esto, se deben utilizar técnicas de replicación.
La replicación es un mecanismo utilizado para propagar y diseminar datos en un ambiente distribuido, con el objetivo de tener mejor performance y confiabilidad, mediante la reducción de dependencia de un sistema de base de datos centralizado.
Para garantizar que una aplicación distribuida sea altamente disponible (es decir, que pueda proporcionar servicio de manera continua) se deben instanciar múltiples réplicas de ésta en distintos ordenadores. Se debe conseguir que cada uno de los ordenadores que mantenga una réplica de la aplicación sea independiente del resto ante la ocurrencia de fallos.
El objetivo principal para la distribución de datos es proveer un acceso sencillo a la información por parte de los usuarios de múltiples localidades o nodos de trabajo de una red de computadoras. Para alcanzar este objetivo, los sistemas de BDD deben proveer transparencia de ubicación, que significa que el usuario no necesita conocer la localización física de cada dato dentro de la red. Idealmente, la información en la red aparece como si fuera parte de una BD no distribuida almacenada en un sitio "central", hacia donde todos los usuarios convergen.
La replicación de la información en una BDD apunta a aumentar la disponibilidad de la información. Esta disponibilidad puede observarse desde dos perspectivas:
Aumentar el paralelismo en las consultas, dado que la misma información residirá en más de una localidad de la red.
Mejorar la disponibilidad de los datos ante eventuales caídas de nodos de la red.
El concepto de replicación es muy amplio e involucra muchos aspectos que hacen al diseño de datos de la BDD. Los protocolos de aseguramiento de integridad de la información y los protocolos de actualización de las replicas son los puntos más interesantes para ser tenidos en cuenta.