Bases de Datos Distribuidas -Panorama General
M.C. Fernando Pech May
Instituto Tecnol´
ogico Superior de los R´ıos
auxtecomp@gmail.com
Materia: Distributed Database Systems
Tabla de contenido
1
Introducci´
on a las Bases de Datos
Elementos de una BD
Independencia de Datos
2
Sistema de Base de Datos Distribuida
Computaci´
on Distribuida
Promesas de los DBMS distribuidos
Transparencia
3
Arquitectura de DDBMS
Arquitectura ANSI/SPARC
Arquitectura gen´
erica
Modelos arquitect´
onicos para los DDBMS
Bibliograf´ıa
Distributed Database Management Systems: A practical Approach: Saeed K. Rahimi and Frank S. Haug Ed. Wiley
Distributed Database Systems: David Bell and Jane Grimson. Ed. Addison Wisley
Distributed Computing: Principles, Algorithms, and Systems. Ajay D. Kshwmkalyani and Mukesh Singhal. Ed. Cambridge
Evaluaci´
on
Unidad I.
1Investigaci´
on: 35%
2Ejercicios: 35%
3Lecturas: 10%
4Examen: 20%
Unidad II-IV
1
Investigaci´
on(ejercicios, lecturas, etc): 40%
2Avance de proyecto: 40%
3
Examen: 20%
Recomendaciones:
Asistir a todas las clases de forma puntual.
Esfuerzo y dedicaci´
on en cada actividad a realizar
NO plagiar tareas y c´
odigo fuente
Sugerencias
Web: www.itsr.edu.mx/fpech/bdd
Correo:auxtecomp@gmail.com
Horarios:
Matutino: Lunes 9-11 Martes 12-14 Viernes 11-12
Vespertino: Lunes 14-16 Martes 14-15 Mi´
ercoles 16-18
Asesor´ıas: Lunes y Viernes de 5-7 pm(avisar con anticipaci´
on)
Algunos lenguajes y herramientas
Java
Lenguajes web: JSP, JSF, Servlets, JavaBeans, Ajax, etc.
Herramientas de documentaci´
on: Latex (Kile)
GBD: Mysql
Definiciones informales
Una base de datos (BD) es una colecci´
on simple de datos
que se almacenan en una computadora
El t´
ermino distribuido es un medio simple en la que un grupo
de computadoras cooperan de forma ordenada para realizar
tareas.
Caracter´ıstica principal de una BD
La caracter´ıstica principal de una Base de datos (BD) es la
“Persistencia”
Una base de datos consta de dos elementos principales:
1
Modelo l´
ogico.
2Modelo f´ısico.
Modelo l´
ogico
Dise˜
no de las relaciones de los datos b´
asicos y su definici´
on en un
sistema de base de datos.
Modelo relacional
1
Relaci´
on (cabecera -Atributos- y cuerpo -Tuplas-) -Tabla
2
Dominio (Es un conjunto de valores at´
omicos que puede
adoptar un atributo en particular.)
3
Esquema Relacional
(Compuesto por un nombre de relaci´on, R, y una lista de atributos A1,A2,...,An, de tal forma que se puede denotar como R(A1,A2,...,An))4
Clave
Una relaci´
on es una especie abstracta de objeto y una tabla es una
representaci´
on concreta de tal objeto abstracto.
Modelo f´ısico
Creaci´
on de un m´
etodo eficiente para almacenar datos y
mecanismos de recuperaci´
on
Tipos de datos
Llaves primarias
Orden de los atributos (p. ej. columnas de longitud
fija/variable)
Integridad referencial (v´ınculo entre dos tablas)
´Indices (llaves primarias, for´aneas, ´ındices de acceso,
Sistmas de archivos
Anteriormente, los programas almacenaban sus datos en
archivos regulares
Cada programa deb´ıa mantener sus propios datos
Sobrecarga enorme
Propenso a errores
File 1 File 2 File 3 Program 1 Data Description 1 Program 2 Data Description 2 Program 3 Data Description 3Sistema Administrador de Base de Datos (DBMS)
El desarrollo de un BDMS ayuda a la independencia de los
datos
Proporciona el mantenimiento y control de los datos
centralizados
Database Application Program 1 (with data semantics) Application Program 1 (with data semantics) Application Program 1 (with data DBMS Description Manipulation Control ...Sistemas de Bases de Datos Distribuidas
Es la uni´
on de dos enfoques que parecen relativamente
opuestos en la inform´
atica: Las bases de datos y las redes de
computadora
Database Technology Computer Networking Distributed Database Systems Integration Integration DistributionUn conjunto de elementos de procesamiento aut´
onomo (no
necesariamente homog´
eneos) que est´
an interconectadas por
una red de computadoras y que cooperan en la realizaci´
on de
tareas asignadas.
Procesadores aut´
onomos que se comunican entre s´ı a trav´
es
de una red de computadoras.
Que se est´
a distribuyendo?
Procesamiento l´
ogico
Funciones
Datos
Control
T´
erminos sin´
onimos
Funci´
on Distribuida
Procesamiento distribuido de datos
Precesamiento satelital
Procesamiento dorsal
Computadoras de prop´
osito especial/dedicados
Sistemas de tiempo compartido
Sistema modular funcional
Qu´
e esta Distribuido?
L´
ogica de procesamiento
Funciones
Datos
Control
Que es un Sistema de Base de Datos Distribuidas?
Una base de datos distribuida (DDB) es aquella en la que sus
datos se encuentran repartidos en varias computadoras que
est´
an interconectadas por una red de comunicaciones.
Un sistema Administrador de Base de Datos Distribuidas
(DDBMS) es el software que administra la DDB y
proporciona un mecanismo de acceso que hace transparente
esta distribuci´
on a los usuarios.
Un Sistema de Base de Datos Distribuida (DDBS)=DDB +
DDBMS
Que no es una Base de Datos Distribuida?
Un sistema de c´
omputo de tiempo compartido
Un sistema multiprocesador fuertemente o d´
ebilmente
acoplado
Un sistema de base de datos, el cual reside en un s´
olo nodo de
la red (esto es una BD centralizada)
DBMS Distribuidas
Los datos se almacenan en una serie de sitio. Cada sitio
consta de su propio procesador
Los procesadores de cada sitio estan interconectados por una
red de comunicaci´
on (no multiprocesadores).
1
Sistemas de base de datos paralelo.
Una base de datos distribuida es una base de datos, no una
coleccion de archivos (datos l´
ogicamente relacionados que son
presentados al usuario con un patr´
on de acceso).
1
Modelo de datos relacional.
Un DDBMS es un DBMS completo.
Ejemplo
Base de datos que consiste de 3 relaciones, empleados,proyectos y
asignaci´
on. Las relaciones est´
an particionadas y almacenadas en
diferentes sitios (fragmentaci´
on).
Arquitectura de memoria compartida
Comunicaci´
on a trav´
es de escrituras en memoria
L´ımite del n´
umero de procesadores por el canal de
comunicaci´
on
Ejemplo: Multiprocesadores sim´
etricos (Sequents, Encore) y
algunas mainframes (IBM 3090, DPS8 de Bull)
Arquitectura de disco compartido
Creaci´
on de cl´
uster
Aumento de la redundancia (tolerancia a fallos)
Cuello de botella al accesar los discos
Arquitectura de nada compartido
Alta ampliabilidad
Deficiencia en la comunicaci´
on de datos entre nodos
Ejemplo: DBC de Teradata, Tandem, Paragon de Intel, 3600 y
3700 de NCR.
Aplicaciones
Manufactura(multiplantas)
Comando y control militar
SIGs corporativos
Aerol´ıneas
Cadenas hoteleras
Cualquier organizaci´
on que tenga una estructura
organizacional desentralizada
Ventajas de los SBDDs
Razones econ´
omicas y organizacionales
Fiabilidad y disponibilidad
Distribuci´
on del control y utilizaci´
on compartida de datos
Reducci´
on de tr´
afico en la comunicaci´
on de datos
Agilizaci´
on del procesamiento de consultas
Interconexi´
on de base de datos existentes
Crecimiento incremental
Objetivos de las BDDs
Autonom´ıa local
Independencia de un sitio central
Operaci´
on cont´ınua
Transparencia de localizaci´
on
Transparencia de fragmentaci´
on
Transparencia de repetici´
on
Procesamiento distribuido de consultas
Procesamiento de transacciones distribuidas
Transparencia de hardware
Transparencia de sistema operativo
Transparencia de red
Desventajas de los SBDDs
Falta de experiencia
Complejidad
Costo
Distribuci´
on del control
Dificultad de cambio
Problematicas en los SABDDs
Dise˜
no de base de datos distribuidas
1
Como distribuir las Bases de datos?
2
Distribuci´
on de datos replicada y no replicada
3
Problema relacionado con la administraci´
on del diccionario
Procesamiento de consultas
1
Problema de optimizaci´
on
2
Min(costo=transmisi´
on de datos + procesamiento local)
Problem´
aticas en los SABDDs
Control de concurrencia
Sincronizaci´
on de acceso concurrente
Manejo de interbloqueo
Fiabilidad
Como hacer que el sistema resistente a fallas?
Atomicidad y durabilidad
Soporte de sistema operativo
Sistema operativo con soporte adecuado para operar bases de
datos
Problem´
aticas relacionadas
1
Soporte de sistema operativo
sistemas operativos con soporte para operar bases de datos.
Dicotom´ıa entre requerimientos de procesamiento de prop´
osito
general y requerimientos de procesamiento de bases de datos.
2
Sistemas abiertos e interoperabilidad
Sistemas multibase de datos distribuidos.
Escenario con mayor probabilidad.
Problem´
aticas de paralelismo.
Promesas de los DBMS distribuidos
Administraci´
on transparente de datos en:
distribuci´
on
fragmentaci´
on
replicaci´
on
Mejorar la fiabilidad y disponibilidad a trav´
es de transacciones
distribuidas
Mejorar el desempe˜
no
Transparencia
La transparencia es la separaci´
on semantica de alto nivel de
un sistema de bajo nivel con la aplicaci´
on.
El objetivo fundamental es proporcionar independencia de
los datos en un entorno distribuido.
1
transparencia en la red (distribuci´
on)
2transparencia en la replicaci´
on
3
transparencia en la fragmentaci´
on
fragmentaci´
on horizontal: selecci´
on
fragmentaci´
on vertical: proyecci´
on
h´ıbrida
Transparencia -Acceso
SELECT ENAME,SAL FROM EMP,ASG,PAY WHERE DUR > 12
Tipos de transparencia
1
Independencia de datos.
2
Transparencia de red (o distribucion de la transparencia)
Transparencia de localizaci´
on.
Transparencia en la fragmentaci´
on.
3
Transparencia en la replicaci´
on.
4Transparencia en la fragmentaci´
on.
Fiabilidad en las transacciones
1
Los datos y componentes replicados deben ser DDBMS mas
fiables.
2
Las transacciones distribuidas proporcionan:
transparencia en la concurrencia.
Falla en la atomicidad.
3
Las transacciones distribuidas requieren la ayuda de la
implementacion de:
protocolos de control de concurrencia distribuidas.
protocolos commit.
4
Replicacion de datos
lectura de grandes cantidades de datos, un problema para las
actualizaciones.
Mejora de rendimiento potencial
1
La proximidad de los datos de sus puntos de uso.
Requiere un poco de apoyo a la replicaci´
on y fragmentacion.
2
ejecuci´
on en paralelismo.
Paralelismo de inter-consulta.
Paralelismo de intra-consulta.
Vista interna
Trata con la definici´
on f´ısica y la organizaci´
on de los datos
Este nivel se encarga de los problemas de la localizaci´
on de los
datos en los diferentes dispositivos de almacenamiento y los
mecanismos que se usan para accesar y manipular los datos
El esque interno es la descripci´
on de la vista interna.
Vista externa
Esta vista se encarga de la percepci´
on que tienen los usuarios
de la base de datos.
En esta vista, la base de datos se percibe de manera abstracta.
La vista de un usuario individual representa porci´
on de la base
de datos que ser´
a accesada por el usuario, as´ı como las
relaciones que el usuario desear´ıa ver entre los datos.
El esquema externo es la descripci´
on de la vista externa.
Autonom´ıa de los DBMS
Cada DBMS tiene libertad de escoger su modelo de datos y la
t´
ecnica de administraci´
on de transacciones
Pueden decidir que informaci´
on desean compartir y c´
omo
desean compartirlos con otros DBMS
Cada DBMS tiene libertad para ejecutar transacciones que se
le ofrezcan de la manera que desee.
Autonom´ıa de los DBMS
Las operaciones locales de los DBMS no deben ser afectadas
por su participaci´
on en el sistema
El procesamiento y optimizaci´
on de los DBMS no deben ser
afectados por la ejecuci´
on de consultas globales
La congruencia y operaci´
on del sistema no debe afectarse
cuando los DBMS se agregan o se separan del sistema
Heterogeinedad de los DBMS
Del sistema operativo
Del Sistema de Administraci´
on de Base de Datos
Del modelo de datos
Del lenguaje de manipulaci´
on de datos
Distribuci´
on de los DBMS
Los componentes del sistema pueden estar localizados
diferentes sitios o en el mismo.
Modelos arquitect´
onicos para los DDBMS
Cuando una DDB es muy homog´
enea se dice que es
Multibase de datos distribuida
Cuando una DDB tiene mucha autonom´ıa local se dice que es
federada
Ventajas de la Arquitectura Cliente/Servidor
1
Mayor eficiencia en la divisi´
on de trabajo.
2Escala horizontal y vertical de los recursos.
3
Mejor relacion precio / rendimiento en las maquinas cliente..
4
Capacidad para utilizar herramientas familiares
5
Cliente de acceso a datos remotos ( a travez de las normas ).
6