Bases de Datos Distribuidas
Grupo de datos que pertenecen a un sistema que se encuentra repartido entre ordenadores de una misma red.
Para tener una base de datos distribuida debe cumplirse las condiciones de una Red Computacional.
Arquitectura
Global Schema
Define todos los datos que están incluidos en la bd distribuida
Fragmentation Schema
Traducción entre relaciones globales y fragmentos.
Allocation Schema
Define el sitio en el cual un fragmento está localizado.
Local Maping Schema
Traduce los fragmentos locales a los objetos que son manejados por el SMBD local
Tipos de almacenamiento
Replica
Conserva varias copias o réplicas idénticas de una tabla.
Disponibilidad
El sistema sigue funcionando aún en caso de caída de uno de los nodos.
Aumento del paralelismo
Varios nodos pueden realizar consultas en paralelo sobre la misma tabla.
Aumento de la sobrecarga en las actualizaciones
El sistema debe asegurar que todas las réplicas de la tabla sean consistentes.
Fragmentación
Horizontal
Una tabla se divide. Los fragmentos se definen a través de una operación de selección.
Vertical
Los fragmentos se definen a través de una operación de proyección.
Mixta
La combinación de las dos anteriores
Replica
Se pueden aplicar sucesivamente a la misma relación de partida.
Niveles de Transparencia
La separación de la semántica de alto nivel de un sistema de los aspectos de bajo nivel relacionados a la implementación del mismo.
Independencia lógica de datos.
Tiene inmunidad de las aplicaciones de usuario a los cambios en la estructura lógica de la base de datos.
Independencia física de datos.
Ocultamiento de los detalles sobre las estructuras de almacenamiento a las aplicaciones de usuario.
Procesamiento Distribuido de Consulta
Convierte las transacciones de usuario en instrucciones para manipulación de datos.
Recuperación
Fallo de los nodos.
El sistema deberá continuar trabajando con los nodos que aún funcionan.
Copias múltiples de fragmentos de datos.
El subsistema encargado del control de concurrencia es el responsable de mantener la consistencia en todas las copias que se realicen
Transacción distribuida correcta
Se pueden producir fallos durante la ejecución de una transacción correcta
Fallo de las conexiones de comunicaciones.
Ser capaz de tratar los posibles fallos que se produzcan en las comunicaciones entre nodos.
Catálogo
Programas encargados de controlar la ejecución concurrente de las transacciones
Cache Manager
Se encarga de mover los datos entre las memorias volátiles y no volátiles
Recovery Manager
Asegura que la base de datos contenga los efectos de la ejecución de transacciones correctas y ninguno de incorrectas
Data Manager
Unifica las llamadas a los servicios del CM y el RM
Transaction Manager
Determina qué nodo deberá realizar cada operación a lo largo de una transacción
Ventajas
Los datos son localizados en lugar más cercano, por tanto, el acceso es más rápido
La comunicación entre nodos se mejora, los costos de operación se reducen, son amigables al usuario
Mediante la replicación de información, las bases de datos distribuidas pueden presentar cierto grado de tolerancia a fallos