Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Base de Datos Distribuidas
Base de Datos Distribuidas
Documentación de clase
(02/03)
Índice
1.- Introducción……………………………………...……………………2
-1-
Bases de datos distribuidas
1.- Introducción
Las BDD surgieron como la mezcla de 2 tecnologías cada vez más utilizadas: las
bases de datos y las redes de comunicaciones de datos.
Una Base de Datos Distribuida es una base de datos construida sobre una red
computacional y no en una máquina aislada. La información que constituye la base de
datos esta almacenada en diferentes sitios en la red y las aplicaciones que se ejecutan
acceden a datos en distintos sitios de la red. Se puede decir también que una BDD es un
conjunto de bases de datos interrelacionadas lógicamente y distribuidas a través de una
red de computadores. Cada BD que forma un “sitio” de la BDD es en sí una BD y está
convenido que vaya a trabajar con otras BD para formar el sistema distribuido.
-2-
Bases de datos distribuidas
CPU B CPU B
D D
MEMORIA MEMORIA
CONMUTADOR
Sistema de computación n
CPU B
D
MEMORIA
-3-
Bases de datos distribuidas
BD Central BD2
1 (madrid)
Zaragoza Logroño
Red de
comunicacione
s
Barcelona
San
Sebastián
San
Sebastián
Red de
Zaragoza comunicaciones
DB5
Madrid
Barcelona
DB3
DB4
Las BDD tienen que cumplir una serie de reglas, en concreto 12 reglas que son
las siguientes:
a) Autonomía local: Los sitios de un sistema distribuido deben ser
autónomos.
-4-
Bases de datos distribuidas
-5-
Bases de datos distribuidas
Algunas de las ventajas que nos pueden incitar al uso de las bases de datos
distribuidas son:
2.- Transparencia de réplica: Puede haber casos en los que nos interese
realizar copias de información en varios sitios diferentes para mejorar la disponibilidad,
rendimiento y fiabilidad. La transparencia de réplica permite a los usuarios obviar o
desconocer la existencia de las copias de seguridad.
-6-
Bases de datos distribuidas
-7-
Bases de datos distribuidas
Las BDD también tienen ciertas desventajas o factores negativos frente a las BD
habituales:
-8-
Bases de datos distribuidas
El sistema de gestión de BDD es difícil de diseñar para que pueda cumplir todas
las ventajas enumeradas anteriormente. Un SGBDD además de las funciones que realiza
un SGBD centralizado, debe realizar un conjunto de funciones:
-9-
Bases de datos distribuidas
Con la breve introducción anterior ahora vamos a explicar los diferentes tipos
que fragmentación que puede haber:
- 10 -
Bases de datos distribuidas
- 11 -
Bases de datos distribuidas
Entre los dos sistemas anteriores hay un extenso abanico de replicación: puede
haber varias copias de un fragmento en un sitio, varios o como más convenga según el
dominio en el que hagamos el SBDD. La forma de cómo se van a replicar los datos se
conoce como esquema de replicación y al proceso de asignación de fragmentos a cada
uno de los nodos, se le conoce como distribución de los datos (o asignación de los
datos).
- 12 -
Bases de datos distribuidas
Ahora vamos a diferenciar entre los diferentes tipos de SGBDD y los diferentes
factores y criterios que los diferencian. Un factor a tener en cuenta es el grado de
homogeneidad. Cuando los servidores utilizan el mismo software y los clientes también,
se dice que estamos hablando de un sistema homogéneo y en caso contrario hablamos
de un sistema heterogéneo. Otro factor a tener en cuenta es la autonomía local. Si el
sitio local no puede funcionar como un SGBD autónomo se dice que el sistema no tiene
autonomía local. Si se permite a las transacciones locales acceso directo a un servidor,
el sistema tendrá cierta autonomía local.
- 13 -
Bases de datos distribuidas
- 14 -
Bases de datos distribuidas
Además de los mecanismos, para optimizar las consultas, propios de los sistemas
de bases de datos centralizadas, un SGBDD tiene que tener en cuenta otros factores a la
hora de optimizar. El factor más relevante a tener en cuenta es el tiempo de transmisión
de la información a través de la red. Este factor puede no ser muy importante en redes
de alta velocidad, pero llega a tener un aspecto importante en otro tipo de redes de
menores prestaciones. Por este motivo los SGBDD tienden a minimizar la cantidad de
transferencias de datos a través de la red, eligiendo estrategias de ejecución de consultas
distribuidas.
Los SGBD son capaces de escoger la mejor forma de ejecutar la consulta para
transferir el menor número de información posible a través de la red. Una instrucción
que suele dar buen resultado para realizar las consultas es la semirreunión, que
explicaremos mas adelante.
- 15 -
Bases de datos distribuidas
- 16 -
Bases de datos distribuidas
que almacene el sitio. Esta técnica se puede solapar también con la técnica de sitios de
respaldo para así mejorar la fiabilidad y la disponibilidad.
En este sistema no se posee una copia distinguida como en los casos anteriores.
Con este sistema cada solicitud de bloqueo se envía a todos los sitios que incluyan una
copia del elemento de datos. Cada copia mantiene su propio bloqueo y puede conceder
o rechazar la solicitud. Si la mayoría de las copias otorgan el bloqueo a la transacción
que lo solicita, esta poseerá el bloqueo e informará de su situación al resto de sitios. Si
una transacción no recibe la mayoría de los votos de concesión, cancelará su solicitud e
informará a todos los sitios.
- 17 -
Bases de datos distribuidas
Con las BDD pueden surgir multitud de problemas como por ejemplo saber si
uno de los sitios está caído, ya que puede estar caído, puede haber fallado la
comunicación de subida o puede haber fallado la comunicación de bajada. Este
problema es difícil de determinar y causa mucho tráfico entre los sitios para poder
adivinar el problema al que se enfrenta.
La confirmación distribuida es otro problema que surge con las BDD. Cuando
una transacción está actualizando datos en varios sitios, no puede confirmarse hasta
asegurarse de que el efecto de la transacción no se puede perder en ningún sitio. Esto
significa que cada sitio debe haber almacenado primero permanentemente los efectos
locales de la transacción en el diario local en el disco del sitio.
- 18 -
Bases de datos distribuidas
Todas las BDD de oracle utilizan el software de red Oracle Net8 para
comunicarse entre bases de datos. Net8 permite a las BD comunicarse a través de redes
para soportar transacciones distribuidas y remotas. Las direcciones de las BD dentro de
un sistema distribuido son jerárquicas, por ej. ventas.us.americas, la cual sería la BD
ventas bajo el domino de red us a su vez bajo el dominio americas.
- 19 -