Supóngase que la tabla A está
dividida en dos fragmentos A1 y A2. Dentro de una base de datos distribuida
replicada, es posible el escenario de la ilustración 6 en el que 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. La regla de consistencia mutua 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 SGBDD debe
garantizar que se realice una actualización de la base de datos en todos los
sitios donde existan réplicas.
Suponiendo que la base de datos
está fragmentada correctamente, hay que decidir la asignación de los fragmentos
a diversos sitios en la red. Cuando se asignan los datos, o bien se pueden
replicar o mantenerse una sola copia de los mismos. Las razones para la
replicación son la disponibilidad, fiabilidad y la eficiencia de consultas de
sólo lectura. Si hay múltiples copias de un elemento de datos, hay una buena
probabilidad de que alguna copia esté accesible en algún lugar, incluso cuando
se producen fallos en el sistema. Por otra parte, las consultas de sólo lectura
que acceden a los mismos elementos de datos pueden ser ejecutados en paralelo desde
la salida de copias en múltiples sitios.
Por otra parte, la ejecución de
las transacciones de actualización causa problemas ya que el sistema tiene que
garantizar que todas las copias de los datos se actualizan correctamente. De
ahí que la decisión con respecto a la replicación dependa de la relación
existente entre consultas de sólo lectura y consultas de actualización. Esta
decisión afecta a casi todos los algoritmos de SGBDD y las funciones de
control.
Una base de datos no replicada (comúnmente se
llama base de datos particionada) contiene fragmentos que se asignan a los
diferentes sitios, y sólo hay una copia de cada fragmento en la red. En el caso
de realizarse replicación, la base de datos puede ubicarse en su totalidad en
cada lugar (base de datos totalmente replicada), o los fragmentos pueden
distribuirse en los nodos de tal manera que las copias de un fragmento puedan
residir en varios emplazamientos (base de datos parcialmente replicada). En
este último caso el número de copias de un fragmento puede suponer un aumento
de coste para el algoritmo de asignación.
En la Tabla 1 se comparan
estas alternativas con respecto a varias funciones de los SGBD distribuidos.
Aunque la replicación tiene
algunos beneficios, también exige más complejidad de procesamiento del SGBDD,
porque cada copia de datos debe ser mantenida por el sistema. Para ilustrar la
complejidad de un SGBDD, se deben considerar los procesos que el SGBDD debe
realizar a la hora de gestionar la base de datos:
• Si la base de datos está
fragmentada, el SGBDD debe decidir qué copia acceder. • Una operación de
lectura selecciona la copia más cercana para satisfacer la transacción. Una
operación de 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 a cada procesador de datos para su ejecució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
construye las respuestas del procesador de datos.
El problema se complica más
cuando se consideran factores adicionales tales como la topología de red y los
protocolos de comunicación.
BIBLIOGRAFIA: DISEÑO DE BASE DE DATOS DISTRIBUIDA, AQUINO BOLIVIA - 2005.
No hay comentarios.:
Publicar un comentario