Title: Sistemas de Bases de Datos Distribuidas
1Sistemas de Bases de Datos Distribuidas
Sistemas de Bases de Datos Distribuidas - UCV
2Esquema de la Clase
- Antecedentes
- Conceptos Fundamentales
- Por qué Distribuir?
- Criterios para clasificar un SD
- Tipos de Distribución
- Ventajas
- Desventajas/Problemas
- CaracterÃsticas de un SBDD
- Principio Fundamental de las BDD
3Antecedentes
- Durante los años 70, las corporaciones ejercieron
sistemas de administración de BD Centralizados. - Resolviendo sus necesidades de información
estructuradas (reportes formales estandarizados). - Los datos corporativos se guardaban en un solo
sitio central, por lo general una computadora
mainframe o minicomputadora. - El acceso a los datos se proporcionaba mediante
terminales no inteligentes conectadas en serie.
4Antecedentes
- El método centralizado funcionaba bien para
satisfacer las necesidades de información
estructurada de las corporaciones. - Pero se quedaba corto cuando los eventos, siempre
en movimiento, requerÃan tiempos de respuestas y
acceso a la información más rápidos. - Los años 80 dieron lugar a una serie de cambios
tecnológicos y sociales que afectaron el
desarrollo y el diseño de la BD.
5Antecedentes
- Cambios tecnológicos y sociales
- Las operaciones de negocios se volvieron más
geográficamente descentralizadas. - La competencia se incrementó a nivel global.
- Las demandas de los clientes y las necesidades
del mercado favorecieron el estilo de
administración descentralizado.
6Antecedentes
- Los rápidos cambios tecnológicos crearon
microcomputadoras de bajo costo con poder de
procesamiento como de mainframe. - En consecuencia, un número cada vez mayor de
corporaciones adoptaron las LAN como base para
sus soluciones computarizadas. - Estos factores crearon un ambiente de negocios
dinámico en el cual las compañÃas tuvieron que
responder con rapidez a las presiones
competitivas y tecnológicas.
7Antecedentes
- Dos requerimientos en las BD se volvieron obvias
- El acceso rápido a los datos se volvió crucial en
el ambiente de toma de decisiones dinámico. - La descentralización de las estructura de
administración hicieron de las BD
descentralizadas, ubicadas en lugares múltiples y
de acceso múltiple, una necesidad.
8Antecedentes
- Durante los años 90 los factores anteriores se
acrecentaron con más firmeza y se vió fuertemente
influenciado por - La creciente aceptación de Internet, en
particular WWW, como plataforma para el acceso y
distribución de los datos (la www es, en
realidad, el depósito de Datos Distribuidos). - El enfoque del análisis de técnicas para el
manejo y almacenamiento de los datos. Como por
ejemplo réplica de datos y consultas
distribuidas.
9Antecedentes
- Una BDD es particularmente útil porque la
administración centralizada presenta problemas
como - Degradación del desempeño provocada por un número
creciente de ubicaciones remotas a mayores
distancias. - Costos altos asociados con el mantenimiento y
operación de grandes sistemas de BDC (mainframe). - Problemas de confiabilidad creados por la
dependencia de un sitio central.
10Conceptos Fundamentales
Hay dos conceptos fundamentales ha tomar en
cuenta Sistema Conjunto de procesadores que
actúa de manera coordinada para resolver un
problema de interés Distribución En un sistema
los elementos componentes están distribuidos
fÃsicamente, por lo que deben comunicarse
mediante algún mecanismo. Un Sistema Distribuido
(SD) es un conjunto de elementos de procesamiento
autónomos interconectados por una red y que
cooperan para realizar una tarea en común
compartiendo recursos de hardware y
software. Para el usuario final, el sistema se
comporta como un todo local.
11Conceptos Fundamentales
BD
Redes
Una Bases de Datos Distribuidas(BDD) es una
colección de múltiples bases de datos (BD)
lógicamente interrelacionadas y distribuidas
sobre una red de computadores.
12Conceptos Fundamentales
Un Sistema de Bases de Datos Distribuidas (SBDD),
es un sistema en el cual múltiples sitios de
bases de datos están ligados por un sistema de
comunicaciones, de tal forma que, un usuario en
cualquier sitio puede acceder los datos en
cualquier parte de la red exactamente como si los
datos estuvieran almacenados (localmente) en su
sitio propio. Un Sistema Manejador de BDD es el
software que permite el manejo del SBDD y hace la
distribución transparente al usuario.
13Por qué Distribuir?
- Intercambio de Información.
- Mejorar tiempo de cálculo (Paralelismo).
- Mejorar distribución de cargas de trabajo.
- Incrementar disponibilidad y confiabilidad.
- Compartimiento de recursos.
- Especialización de funciones.
- Aplicaciones con inherente distribución.
14Criterios para Clasificar un SD
- Acoplamiento o Granularidad se refiere a cuan
cercanos están los elementos de procesamiento - Acoplamiento Débil
- Acoplamiento Fuerte
- Estructura de la red de interconexión
- Sincronización coordinación entre los procesos
- SÃncrona
- AsÃncrona
15Tipos de Distribución
- Se puede distribuir
- Datos
- Aplicaciones ó Cálculo
- Control
16Distribución de Control
- Este tipo de distribución se da cuando múltiples
elementos del sistema pueden tomar decisiones que
afecten el comportamiento del sistema, tales como
la transmisión de informaciones, el inicio o
terminación de procesos, o la recolección de
resultados finales o parciales.
17Distribución de Control
18Distribución de Cálculo
- La Distribución de Cálculo se da cuando las
tareas a realizar sobre un determinado conjunto
de datos se reparten entre varios procesos. - Por ejemplo, a algunos procesadores se les puede
asignar la tarea de compilación de datos mientras
otros elaboran reportes y otros más extraen
información relevante.
19Distribución de Datos
- La Distribución de Datos es el esquema usado
preferentemente cuando se tienen grandes
volúmenes de datos (por ejemplo información
gráfica o geográfica) y se desea procesarla de la
manera más económica utilizando muchos nodos. - Este tipo de distribución tiene dos formas
básicas de aplicación - Replicación de datos.
- Particionamiento de datos
20Ventajas
- Acceso a los datos más rápido se pueden
localizar fÃsicamente en el lugar donde se
accedan con mayor frecuencia. - Mayor confiabilidad y disponibilidad debido a la
autonomÃa e independencia de los nodos - Permite que la estructura de la BD refleje la
estructura de la empresa. - Mejoran el rendimiento cada nodo con BD más
pequeñas y menos transacciones.
21Desventajas/Problemas
- El principal problema de diseño Cómo distribuir
la información por los diferentes nodos? - Control de concurrencia y mecanismos de
recuperación más complejos. - El procesamiento de consultas el orden en que
se realizan las transacciones afecta enormemente
la velocidad de respuesta del sistema. - Control de integridad más complejo
- Mayor vulnerabilidad en cuanto a seguridad.
- Incrementa el costo.
- Distribución de Control
22CaracterÃsticas de los SBDD
- 1. Garantiza la confiabilidad en las
transacciones - Una transacción se dice que es distribuida
cuando sus operaciones son ejecutadas sobre dos o
más nodos distintos de una BDD. - SMBDD -gt Manejar transacciones distribuidas
- 2. Mejora en el rendimiento
- Distribuir información
- Ejecutar querys y transacciones en paralelo
- Cada nodo maneja solo una porción de los datos
- Mayor cercanÃa de los datos a donde son
accedidos. - 3. Facilidad de Expansión
- incremento en el tamaño de las bases de datos,
- 4.Transparencia
- Se ocultan los detalles de implementación al
usuario.
23Mecanismos a Estudiar
- Diseño de las BDD como las aplicaciones y la BD
deben ser colocados a través de los nodos,
considerando como fragmentar los datos,
asignación de los fragmentos, replicación y
manejo del directorio. - Procesamiento de consultas distribuidas decidir
una estrategia de ejecución de cada query sobre
la red de manera optimizar costo/efectividad
considerando factores como distribución de los
datos, costo de comunicación, falta de
información en el nodo local.
24Mecanismos a Estudiar
- Control de Concurrencia Distribuido coordinar
los accesos concurrentes a la base de datos,
considerando integridad de la BD y abrazos
mortales - Confiabilidad recuperación después de las fallas
asegurar que el conjunto de agentes que
participan en una transacción realicen todos un
compromiso (commit) al unÃsono o todos al mismo
tiempo restablezcan la información anterior
(rollback).
25Mecanismos a Estudiar
Manejo de Directorio
Diseño de Distribución
Confiabilidad
Procesamiento De Consultas
Control de Concurrencia
Manejo de Transacciones
Manejo de InterBloqueos
26Principio Fundamental de las BDD
- Desde el punto de vista del usuario final, un
sistema distribuido deberá ser idéntico a un
sistema no distribuido - Doce reglas de las BDD
- 1. AutonomÃa Local todas las operaciones de un
sitio dado se controlan en ese sitio ningún nodo
X deberá depender de algún otro nodo Y para su
buen funcionamiento. - 2. No dependencia de un sitio central No debe
existir dependencia de un sitio central maestro
para obtener un servicio central, - 3. Operación continua Los sistemas distribuidos
deben proporcionar mayor confiabilidad y mayor
disponibilidad,
27Principio Fundamental de las BDD
- 4. Independencia con respecto a la localización
No debe ser necesario que los usuarios sepan
dónde están almacenados fÃsicamente los datos,
más bien deben poder comportarse como si todos
los datos estuvieran almacenados en su propio
sitio local. - 5. Independencia con respecto a la fragmentación
Un sistema maneja fragmentación de datos si es
posible dividir una relación en partes o
fragmentos para propósitos de almacenamiento
fÃsico. los usuarios deberán poder comportarse
(al menos desde el punto de vista lógico) como si
los datos no estuvieran fragmentados en realidad.
- 6. Independencia de replicación Un sistema
maneja réplica de datos si un fragmento dado de
una relación se puede representar en el nivel
fÃsico mediante varias copias almacenadas o
réplicas, en muchos sitios distintos. los
usuarios deberán poder comportarse (al menos
desde un punto de vista lógico) como si sólo
existiera una copia de los datos.
28Principio Fundamental de las BDD
- 7. Procesamiento distribuido de consultas
optimizar la ejecución de consultas que va a
implicar más de un nodo. - 8. Manejo distribuido de transacciones una sola
transacción puede implicar la ejecución de código
en varios sitios. Este manejo de transacciones
tiene dos aspectos principales control de
concurrencia y recuperación - 9. Independencia con respecto al hardware
integrar diferentes componentes de hardware,
diferentes plataformas y presentar al usuario una
sola imagen del sistema.
29Principio Fundamental de las BDD
- 10. Independencia con respecto al Sistema
Operativo No solo ejecutar el mismo SMBD en
diferentes equipos, sino también poder ejecutarlo
en diferentes sistemas operativos. - 11. Independencia con respecto a la red soportar
diferentes topologÃas de redes. - 12. Independencia con respecto al SMBD soportar
heterogeneidad de SMBD.