Professional Documents
Culture Documents
Base de Datos Distribuidas en Oracle
Base de Datos Distribuidas en Oracle
Facultad de CC.FF.MM
Escuela Académico Profesional de Informática
ALUMNOS :
Goicochea Pozo, José Luis
Mejia La Madrid, Oscar
Ruiz Huamán, Roberto
Villacorta Bazán, Luis
CICLO : X
TRUJILLO - PERÚ
2010
TOPICOS ESPECIALES EN COMPUTACION III - BASE DE DATOS DISTRIBUIDAS
En las BDDH Todos los sitios tiene idéntico software de sistemas de gestores de bases de
datos, son consientes 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 base 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.
Todos los sitios tienen idéntico software de sistemas gestores de bases de datos.
1.1 Caracteristicas:
En las bases de datos heterogéneas sitios diferentes puede que utilicen esquemas diferentes
y diferente software de gestión de sistemas de base de datos. Puede que unos sitios no sean
consientes de la existencia de los demás y puede que solo 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.
2.1. CLASIFICACIÓN.
Débilmente acoplados
• Los usuarios deben de tratar explícitamente con las base de datos.
Fuertemente acoplados
• Los administradores de la federación controlan el acceso y mantienen el sistema.
• Esquema federado único. SIRIUS-DELTA, DDTS.
• Múltiples esquemas federados: Mermaid, MULTIBASE.
TOPICOS ESPECIALES EN COMPUTACION III - BASE DE DATOS DISTRIBUIDAS
Para este punto, consideraremos una tabla T que se tiene que almacenar en él una
base de datos distribuida. Existen varias opciones:
RÉPLICA
- Disponibilidad:
Como se vio en la introducción, la réplica permite que el sistema siga
funcionando aún en caso de caída de uno de los nodos.
FRAGMENTACIÓN DE DATOS
En algunos casos, puede ser necesario que los fragmentos no sean disjuntos,
TOPICOS ESPECIALES EN COMPUTACION III - BASE DE DATOS DISTRIBUIDAS
- Fragmentación vertical:
- Fragmentación mixta:
TRANSACCIONES DISTRIBUIDAS
Hay varias formas de organizar los agentes para construir una estructura de proceso
cooperativo.
1. Existe un agente raíz que arranca la transacción; el lugar donde reside se denomina nodo
origen de la transacción
Cada sitio tiene su propio gestor local de transacciones, cuya función es asegurar las
propiedades ACID de las transacciones que se ejecuten en ese sitio. Los diferentes gestores
de transacciones colaboran para ejecutar las transacciones globales. Para comprender el
modo en que se pueden implementar estos gestores, considérese un modelo abstracto de
sistema de transacciones, en el que cada sitio contenga dos subsistemas:
El gestor de transacciones
El coordinador de transacciones
La atomicidad es una propiedad de las transacciones que asegura que o bien son realizadas
todas las operaciones o ninguna. La atomicidad requiere que si una transacción es
interrumpida por un fallo, sus resultados parciales sean restaurados a las condiciones
iníciales. Las razones típicas por las que una transacción no finaliza son la cancelación o
ruptura del sistema. La finalización puede ser solicitada por la propia transacción (o el
usuario) debido a que alguna de sus entradas sea errónea o porque algunas condiciones
hacen que la terminación de la transacción sea inadecuada.
Mensajes Incorrectos
Pérdida de mensajes
En el protocolo básico, hay un agente coordinador y el resto de los agentes que deben
confirmar juntos se denominan participantes. El coordinador es responsable de tomar la
decisión final de confirmación o cancelación. Cada participante corresponde a una
subtransacción que ha realizado alguna operación de escritura sobre la BD local. La idea
básica del 2PC es determinar una decisión única para todos los participantes con respecto a
la confirmación o cancelación de subtransacciones locales. Si un participante no puede
confirmar su subtransacción local, todos los participantes deben cancelar localmente. El
TOPICOS ESPECIALES EN COMPUTACION III - BASE DE DATOS DISTRIBUIDAS
protocolo se realiza en dos fases. La meta de la primera fase es alcanzar una decisión
común, y la de la segunda fase es implementar esta decisión.
Se trata de una base de datos a nivel lógico (los usuarios la manejan como una base
de datos normal), pero que en realidad (físicamente) está implementada en varias
ubicaciones físicas, incluso en máquinas diferentes y distantes.
Gracias a las instantáneas no hace falta una sobrecarga tan excesiva de las
instantáneas de la base de datos. Posee arquitectura cliente/servidor. Cada ordenador
en la red es un nodo que pude actuar como cliente, servidor o ambos.
Utiliza el software de red Oracle Net8 para comunicación entre bases de datos. Net8
permite a las bases de datos comunicarse a través de redes para soportar
transacciones distribuidas y remotas. Empaqueta sentencias SQL en uno de los
muchos protocolos de comunicación para facilitar al cliente la comunicación con el
servidor y después empaqueta y devuelve los resultados de forma similar al cliente.
DATABASE LINKS
TOPICOS ESPECIALES EN COMPUTACION III - BASE DE DATOS DISTRIBUIDAS
Se almacenan en el catálogo:
CREACIÓN DB LINK
Crea un link público de nombre nombreLink que establece un enlace a una BD
remota cuya ubicación está descrita en el nombre de servicio a través un usuario y
contraseña de dicha BD.
BORRADO DBLINK
DROP [PUBLIC] DATABASE LINK nombreLink;
NOMBRE DE SERVICIO
Cada BD es identificada unívocamente en una BD distribuida por un nombre global
de BD. Este consta del nombre de la BD junto con el nombre del host en la red en la
que esta BD está ubicada.
TIPOS DE DBLINKS
Los enlaces pueden ser:
SELECT nombre
FROM dbb.autor@link
WHERE nacionalidad = "Francia"
SELECT nombre
FROM dbb.autor@link, libro
WHERE dbb.autor.idautor@link = libro.idautor
AND nacionalidad = "Francia"
BORRADO DE SINONIMOS
DROP[PUBLIC] SYNONYM autores;
CONCLUSIONES
TOPICOS ESPECIALES EN COMPUTACION III - BASE DE DATOS DISTRIBUIDAS
En las BDD homogéneas todos los sitios tienen idéntico software de sistemas de
gestores de bases de datos.
En las bases de datos homogéneas un solo gestor puede ser el administrador de la
coordinación y cualquier operación que desee realizarse se hará en la base de datos
global.
En las bases de datos heterogéneas la administración se comparte entre los
diferentes DBA locales.
En una base de datos heterogénea los usuarios tienen acceso a los datos, de los
distintos sistemas, a través de una interfaz común sin embargo, no existe un
esquema global que describa a todos los datos de las distintas bases de datos.
Una transacción es una unidad atómica de trabajo que se realiza por completo o bien
no se efectúa en absoluto.
El hecho de que los gestores locales garanticen atomicidad para las transacciones
locales no es por sí mismo suficiente para proporcionar la atomicidad a nivel
distribuido.
En el nivel más alto está la transacción distribuida, constituida por el agente raíz y
los otros agentes.
A lo largo de este documento se ha intentado dar una visión global y genérica de los
problemas y características que contiene el diseño de una base de datos distribuida.
Debería tenerse presente la existencia de enfoques de fragmentación distintos y,
posiblemente, más complejos, pero se debe pensar que sean más eficientes.
Los diferentes tipos de fragmentación tiene sus ventajas unos de otro que mirando
desde el punto de la aplicación se puede escoger cualquiera dependiendo de los
beneficios que nos aporta.
Pese a la aparición de los métodos de bases de datos distribuidas hace ya años,
parece que el salto de lo centralizado a lo distribuido a escala comercial está por
venir.
Para facilitar las comunicaciones entre el cliente y el servidor las sentencias SQL
son empaquetadas.