Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos...

29
Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV

Transcript of Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos...

Page 1: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Sistemas de Bases de Datos Distribuidas

Lic. Bárbara da Silva

Sistemas de Bases de Datos Distribuidas - UCV

Page 2: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Esquema 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

Page 3: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Antecedentes

• 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.

Page 4: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Antecedentes

• 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.

Page 5: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Antecedentes

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.

Page 6: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Antecedentes

• 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.

Page 7: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Antecedentes

• 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.

Page 8: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Antecedentes

• 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.

Page 9: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Antecedentes

• 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.

Page 10: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Conceptos 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.

Page 11: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Conceptos 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.

Page 12: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Conceptos 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.

Page 13: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

¿Por 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.

Page 14: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Criterios 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

Page 15: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Tipos de Distribución

Se puede distribuir:• Datos• Aplicaciones ó Cálculo• Control

Page 16: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Distribució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.

Page 17: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Distribución de Control

Control

Centralizado

Distribuido

Cuando solamente un proceso se encarga de mantener el control de todo el sistema

Cuando las tareas relativas a la sincronización de los procesos, capacidad de compartir recursos y otras relacionadas, están repartidas entre varios procesos

Page 18: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Distribució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.

Page 19: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Distribució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

Page 20: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Ventajas

• 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.

Page 21: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Desventajas/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

Page 22: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Caracterí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 -> Manejar transacciones distribuidas

2. Mejora en el rendimientoDistribuir informaciónEjecutar querys y transacciones en paraleloCada nodo maneja solo una porción de los datosMayor cercanía de los datos a donde son accedidos.

3. Facilidad de Expansiónincremento en el tamaño de las bases de datos,

4.TransparenciaSe ocultan los detalles de implementación al usuario.

Page 23: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Mecanismos 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.

Page 24: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Mecanismos 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).

Page 25: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Mecanismos a Estudiar

Manejo de Directorio

Diseño deDistribución

Control deConcurrencia

Manejo de InterBloqueos

ConfiabilidadProcesamientoDe Consultas

Manejo de Transacciones

Page 26: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Principio 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,

Page 27: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Principio 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.

Page 28: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Principio 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.

Page 29: Sistemas de Bases de Datos Distribuidas Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.

Principio 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.