3. A diferencia de los sistemas paralelos, en
los que los procesadores se hallan
estrechamente acoplados y constituyen
un único sistema de bases de datos, los
sistemas distribuidos de bases de datos
consisten en sitios débilmente acoplados
que no comparten ningún componente
físico. además, puede que los sistemas de
bases de datos que se ejecutan en cada
sitio tengan un grado sustancial de
independencia mutua.
4. Cada sitio puede participar en la
ejecución de transacciones que tienen
acceso a los datos de uno o varios de los
sitios. La diferencia principal entre los
sistemas de bases de datos centralizados
y los distribuidos es que, en los primeros,
los datos residen en una única ubicación,
mientras que en los segundos los datos
residen en varias ubicaciones. La
distribución de los datos es causa de
muchas dificultades en el procesamiento
de las transacciones y de las consultas.
6. EN LAS BASES DE DATOS DISTRIBUIDAS
HOMOGÉNEAS TODOS LOS SITIOS TIENEN
IDÉNTICO SOFTWARE DE SISTEMAS GESTORES
DE BASES DE DATOS, SON CONSCIENTES DE LA
EXISTENCIA DE LOS DEMÁS SITIOS Y
ACUERDAN COOPERAR EN EL PROCESAMIENTO
DE LAS SOLICITUDES DE LOS USUARIOS. EN
ESTOS SISTEMAS LOS SITIOS LOCALES
RENUNCIAN A UNA PARTE DE SU AUTONOMÍA
EN CUANTO A SU DERECHO A MODIFICAR LOS
ESQUEMAS O EL SOFTWARE DEL SISTEMA
GESTOR DE BASES DE DATOS. ESE SOFTWARE
TAMBIÉN DEBE COOPERAR CON LOS DEMÁS
SITIOS EN EL INTERCAMBIO DE LA
INFORMACIÓN SOBRE LAS TRANSACCIONES
PARA HACER POSIBLE EL PROCESAMIENTO DE
LAS TRANSACCIONES ENTRE VARIOS SITIOS.
7. A diferencia de lo anterior, en las bases de datos
distribuidas heterogéneas sitios diferentes puede
que utilicen esquemas diferentes y diferente
software de gestión de sistemas de bases de
datos. Puede que unos sitios no sean conscientes
de la existencia de los demás y puede que sólo
proporcionen facilidades limitadas para la
cooperación en el procesamiento de las
transacciones. Las diferencias en los esquemas
suelen constituir un problema importante para el
procesamiento de las consultas, mientras que la
divergencia del software supone un inconveniente
para el procesamiento de transacciones que
tengan acceso a varios sitios.
9. ¡Considérese una relación r que hay que
almacenar en la base de datos! Hay dos
enfoques del almacenamiento de esta
relación en la base de datos distribuida:
10. Réplica: El sistema conserva réplicas
(copias) idénticas de la relación y guarda
cada réplica en un sitio diferente. La
alternativa a las réplicas es almacenar
sólo una copia de la relación r.
11. Fragmentación: El sistema divide la
relación en varios fragmentos y guarda
cada fragmento en un sitio diferente.
13. Disponibilidad: Si alguno de los sitios que
contiene la relación r falla, la relación
puede hallarse en otro sitio distinto. Por
tanto, el sistema puede seguir
procesando las consultas que impliquen a
r, pese al fallo del sitio.
14. Paralelismo incrementado: En caso de
que la mayoría de los accesos a la
relación r sólo resulten en la lectura de la
relación, varios sitios pueden procesar en
paralelo las lecturas que impliquen a r.
Cuantas más réplicas de r haya, mayor
será la posibilidad de que los datos
necesarios se hallen en el sitio en que se
ejecuta la transacción. Por tanto, la
réplica de los datos minimiza el
movimiento de los datos entre los sitios.
15. Sobrecarga incrementada durante la
actualización: El sistema debe asegurar
que todas las réplicas de la relación r
sean consistentes; en caso contrario
pueden producirse cómputos erróneos.
Por eso, siempre que se actualiza r, hay
que propagar la actualización a todos los
sitios que contienen réplicas. El resultado
es una sobrecarga incrementada. Por
ejemplo, en un sistema bancario, en el
que se replica en varios sitios la
información de las cuentas, es necesario
asegurarse de que el saldo de cada
cuenta concuerde en todos los sitios.
17. Si la relación r se fragmenta, r se divide en varios
fragmentos r1, r2, . . . ,rn. Estos fragmentos
contienen suficiente información como para
permitir la reconstrucción de la relación original r.
Hay dos esquemas diferentes de fragmentación de
las relaciones: fragmentación horizontal y
fragmentación vertical. La fragmentación
horizontal divide la relación asignando cada tupla
de r en uno o más fragmentos. La fragmentación
vertical divide la relación descomponiendo el
esquema R de la relación r. Estos enfoques se
ilustrarán fragmentando la relación cuenta, con el
esquema
esquema-cuenta = (número-cuenta,
nombre-sucursal, saldo)
18. En la fragmentación horizontal la relación
r se divide en varios subconjuntos, r1, r2,
. . . , rn. Cada tupla de la relación r debe
pertenecer como mínimo a uno de los
fragmentos, de modo que se pueda
reconstruir la relación original, si fuera
necesario.
19. A modo de ejemplo, la relación cuenta puede dividirse
en varios fragmentos, cada uno de los cuales
consiste en tuplas de cuentas que pertenecen a una
sucursal concreta. Si el sistema bancario sólo tiene
dos sucursales (Guadarrama y Cercedilla) habrá dos
fragmentos diferentes:
Cuenta1 = σ nombre-sucursal = «Guadarrama» (cuenta)
cuenta2 = σ nombre-sucursal = «Cercedilla» (cuenta)
21. No se debe exigir a los usuarios de los
sistemas distribuidos de bases de datos
que conozcan la ubicación física de los
datos ni el modo en que se puede tener
acceso a ellos en un sitio local concreto.
Esta característica, denominada
transparencia de los datos, puede adoptar
varias formas:
22. Transparencia de la fragmentación: No se
exige a los usuarios que conozcan el
modo en que se ha fragmentado la
relación.
23. Transparencia de la réplica: Los usuarios
ven cada objeto de datos como
lógicamente único. Puede que el sistema
distribuido replique los objetos para
incrementar el rendimiento del sistema o
la disponibilidad de los datos. Los
usuarios no deben preocuparse por los
objetos que se hayan replicado ni por la
ubicación de esas réplicas.
24. Transparencia de la ubicación: No se
exige a los usuarios que conozcan la
ubicación física de los datos. El sistema
distribuido de bases de datos debe poder
hallar los datos siempre que la
transacción del usuario facilite el
identificador de los datos.