Title: Introducci
1Introducción a los Sistemas de Bases de Datos
Distribuidos
Gabriel Vásquez Dpto. Electrónica,
Instrumentación y Control
2Definición
- Un sistema de base de datos distribuido (SBDD)
consiste de una colección de lugares, conectados
a través de alguna red de comunicaciones y cumple
que - Cada lugar es un SGBD que puede operar solo
- Los usuarios pueden acceder los datos de
cualquier lugar como si fueran datos locales. - Para el usuario el sistema distribuido debe
verse igual que un sistema No-Distribuido - Un SBDD se clasifica en homogéneo si cada lugar
tiene el mismo SGBD, de otro modo se denomina
heterogéneo.
3Ventajas de SBDD
- La principal ventaja es que permiten que la
estructura de la base de datos se ajuste de forma
lógica a las necesidades de las empresas. El
tener esto tiene como ventaja inherente que la
información de la base de datos puede ser
accedida más eficientemente que en un sistema
centralizado.
4Reglas que debería cumplir un SBDD
- Autonomía Local. Los lugares que conforman el
SBDD deben ser autónomos y poder operar como SGBD
locales - No dependencia de un lugar central. Dentro del
sistema no debería haber un lugar central del
cual dependiera la operación de todo el sistema.
Esto se refiere no solo al almacenamiento de los
datos, si no al manejo de transacciones,
procesamiento de consultas, etc. - Operación continua. La operación del SBDD no
debería de ser afectado por cambios del SGBD en
algunos lugares, o dar de alta nuevos lugares. - Independencia de la localización. Para los
usuarios debe ser transparente en donde estén
localizados los datos.
5Reglas que debería cumplir un SBDD
- Independencia de fragmentación. Los usuarios no
deben preocuparse de cómo están particionados los
datos. Respecto a la fragmentación. - Independencia de la replicación. El usuario no
debería preocuparse de que existan datos
n-replicados en el SBDD. Esta regla es importante
pero difícil de implementar totalmente, por la
replicación de actualizaciones. - Un SBDD debe soportar el que una consulta sea
resuelta parcialmente en diferentes lugares y
después integrar los resultados, con objeto de
reducir el tráfico en la red de comunicaciones.
La optimización de consultas es mas importante en
un SBDD que en un sistema centralizado
6Reglas que debería cumplir un SBDD
- Manejo de Transacciones Distribuidas. El SBDD
debe soportar el manejo de control de
concurrencia y recuperación. Para esto se
implementa generalmente el manejo de BLOQUEOS y
el PROTOCOLO COMMIT de DOS FASES. - Independencia del Hardware. La operación del SBDD
debe ser independiente del hardware utilizado en
cada uno e los lugares. - Independencia del sistema operativo. El sistema
debe operar como si solo existiera un sistema
operativo, es decir debe ser transparente que en
el SBDD existan diversos sistemas operativos. - Independencia de la red. Igual que la regla
anterior, sin importar que red o redes se tengan
en operación, debe ser como un sistema
centralizado. - Independencia del SGBD. No importando cuantos y
cuales SGBD se tengan en el SBDD, para el usuario
se tiene la impresión de que es un solo SGBD.
7Principales problemas en los sistemas
distribuidos
- Las velocidades de transmisión del medio de
comunicación pueden ser tan bajas como 1200 bps.
Mientras que en un sistema local tenemos
velocidades de 2 Mbps. - Procesamiento de Consultas. En este aspecto se
debe tratar de reducir el número y tamaño de
registros que son movidos entre los diferentes
lugares al tratar de resolver consultas. Además
de la información se requiere para realizar la
optimización en forma local, es necesario contar
con la información de fragmentación y
localización
8Principales problemas en los sistemas
distribuidos
- Propagación de actualizaciones
- Este es uno de los problemas más graves de
tener los datos replicados. Una solución
excelente no se tiene, y normalmente se
implementa la siguiente estrategia - Una copia centralizada que es la que
generalmente se actualiza. - Múltiples copias que son actualizadas bajo la
responsabilidad del lugar que tiene la copia
centralizada.
9Principales problemas en los sistemas
distribuidos
- Concurrencia
- Este problema puede dar lugar a DEADLOCKS
distribuidos. Una de las estrategias que se
siguen para controlar la concurrencia involucra
(considerando que hay n lugares) - N requerimientos de bloqueo
- N concesiones de bloqueo
- N mensajes de actualización
- N reconocimientos
- N requerimientos de desbloqueo
10Principales problemas en los sistemas
distribuidos
- En el enfoque de una copia centralizada que
después se actualiza a las demás copias se
requiere - Un requerimiento de bloqueo
- Una concesión de bloqueo
- N actualizaciones
- N reconocimientos
- 1 requerimiento de desbloqueo
11Transacciones
- Una transacción es una unidad lógica de trabajo.
Una transacción esta compuesta de un conjunto de
operaciones que actúan sobre una base de datos. - COMMIT Y ROLLBACK
12Transacciones Commit y Rollback
- COMMIT. Señaliza el fin exitoso de una
transacción. Al ejecutar esta instrucción se
hacen permanentes, dejando la base de datos
consistente - ROLLBACK. Señaliza la terminación no-existosa de
una transacción. Todas las actualizaciones
hechas por la transacción son desechas.
13FALLAS LOCALES Y GLOBALES
- Una falla local es aquella que solo afecta a una
transacción local. En contraste una falla global
afecta a todas las transacciones y posiblemente
al sistema computacional completo. - Fallas globales
- Fallas en el sistema. Afectan todas las
transacciones en progreso pero no dañan
físicamente la base de datos. Ej. Fallas de
energía. - Fallas en unidades de almacenamiento. Afectan a
la base de datos completa o una porción de ella.
Ej. Falla en el disco.
14TIPOS DE BLOQUEOS (LOCKS)
- Una forma de controlar algunos de los problemas
anteriormente descritos es a través del uso de
LOCKS que permiten que una transacción BLOQUEE
una porción de la base de datos. - Bloqueos Compartidos
- Bloqueos Exclusivos
15Gabriel Vásquez Dpto. Electrónica,
Instrumentación y Control