15
Introducción a los Sistemas de Bases de Datos Distribuidos SBDD Gabriel Vásquez Dpto. Electrónica, Instrumentación y Control

Introducción a los Sistemas de Bases de Datos Distribuidos

Embed Size (px)

DESCRIPTION

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: - PowerPoint PPT Presentation

Citation preview

Page 1: Introducción a los  Sistemas de Bases de Datos Distribuidos

Introducción a los Sistemas de Bases de Datos Distribuidos

SBDD

Gabriel Vásquez

Dpto. Electrónica, Instrumentación y Control

Page 2: Introducción a los  Sistemas de Bases de Datos Distribuidos

DefiniciónUn 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.

Page 3: Introducción a los  Sistemas de Bases de Datos Distribuidos

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.

Page 4: Introducción a los  Sistemas de Bases de Datos Distribuidos

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

Page 5: Introducción a los  Sistemas de Bases de Datos Distribuidos

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

Page 6: Introducción a los  Sistemas de Bases de Datos Distribuidos

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.

Reglas que debería cumplir un SBDD

Page 7: Introducción a los  Sistemas de Bases de Datos Distribuidos

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

Page 8: Introducción a los  Sistemas de Bases de Datos 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

Page 9: Introducción a los  Sistemas de Bases de Datos Distribuidos

ConcurrenciaEste 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

Page 10: Introducción a los  Sistemas de Bases de Datos 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

Principales problemas en los sistemas distribuidos

Page 11: Introducción a los  Sistemas de Bases de Datos Distribuidos

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

Page 12: Introducción a los  Sistemas de Bases de Datos Distribuidos

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.

Page 13: Introducción a los  Sistemas de Bases de Datos Distribuidos

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.

Page 14: Introducción a los  Sistemas de Bases de Datos Distribuidos

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

Page 15: Introducción a los  Sistemas de Bases de Datos Distribuidos

¿Preguntas?

Gabriel Vásquez

Dpto. Electrónica, Instrumentación y Control