150 likes | 294 Views
Introducción a los Sistemas de Bases de Datos Distribuidos. SBDD. Gabriel Vásquez Dpto. Electrónica, Instrumentación y Control. Definició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:
E N D
Introducción a los Sistemas de Bases de Datos Distribuidos SBDD Gabriel Vásquez Dpto. Electrónica, Instrumentación y Control
Definició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.
Ventajas 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.
Reglas 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.
Reglas 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
Reglas 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.
Principales 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
Principales 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.
Principales 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
Principales 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
Transacciones 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
Transacciones: 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.
FALLAS 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.
TIPOS 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
¿Preguntas? Gabriel Vásquez Dpto. Electrónica, Instrumentación y Control