1. introducción y conceptos básicos

37
Bases de datos distribuidas Introducción y conceptos básicos

Upload: janoe-antonio-gonzalez-reyes

Post on 26-Jul-2015

98 views

Category:

Education


5 download

TRANSCRIPT

Page 1: 1. introducción y conceptos básicos

Bases de datos distribuidasIntroducción y conceptos básicos

Page 2: 1. introducción y conceptos básicos

Introducción

Sistemas de bases de datos

Tecnología de sistemas de bases de datos distribuidas

Tecnologías de redes y telecomunicaciones

Page 3: 1. introducción y conceptos básicos

70’s y principios de los 80´s

• Las primeras bases de datos se movieron hacia la centralización.

• Bases de datos monolíticas y gigantescas.• Cambio de paradigma en el procesamiento de datos: cada

aplicación define y mantiene sus propios datos los datos son definidos y administrados centralmente.

• Independencia de los datos• Integrar datos operacionales de una empresa.• Proveer acceso centralizado y controlado a los datos.

Page 4: 1. introducción y conceptos básicos

Procesamiento tradicional de archivos

Page 5: 1. introducción y conceptos básicos

Procesamiento de bases de datos

Page 6: 1. introducción y conceptos básicos

Finales de los 80’s

• Mayor descentralización.

• Autonomía de proceso.

• El mayor objetivo Integración sin centralización.

Page 7: 1. introducción y conceptos básicos

Procesamiento de datos distribuido

• CPU y procesos (hardware) de entrada y salida, están separados físicamente, pero lógicamente se solapan.

• Sistema de computo distribuido: Número de elementos autónomos de procesamiento (no necesariamente homogéneos) que están interconectados a través de una red de computadoras que cooperan realizando las tareas que les fueron asignadas.

Page 8: 1. introducción y conceptos básicos

¿Qué es lo que se distribuye?

• Procesamiento lógico.

• La función.

• Los datos.

• El control.

Page 9: 1. introducción y conceptos básicos

¿Por qué hacemos la distribución?

• El procesamiento distribuido corresponde con la estructura organizacional actual donde las empresas son distribuidas ampliamente.

• Muchas de las aplicaciones actuales en tecnología computacional son inherentemente distribuidas: Aplicaciones web, negocios de comercio electrónico, aplicaciones multimedia, sistemas de control de manufactura, etc.

Page 10: 1. introducción y conceptos básicos

¿Por qué hacemos la distribución?

• La razón principal es atacar los problemas de administración de datos a gran escala usando una variación de la regla “divide y vencerás”.

• Los sistemas de computación distribuidos dividen un problema complejo en piezas más pequeñas y las resuelven eficientemente de manera coordinada.

Page 11: 1. introducción y conceptos básicos

Base de datos distribuida

• Colección de múltiples bases de datos interrelacionadas lógicamente, distribuida por una red de computadoras.

Page 12: 1. introducción y conceptos básicos

Sistema de administración de bases de datos distribuidas (DDBS)

• Software que maneja una base de datos distribuida haciendo la distribución transparente para el usuario.

Page 13: 1. introducción y conceptos básicos

DDBS

• No es una “colección de archivos” que puedan ser almacenados individualmente en los diferentes nodos de una red de computadoras.

• Los archivos deben:• Relacionarse lógicamente.• Estructurarse sobre los mismos archivos.• Acceder a través de una vía común.

Page 14: 1. introducción y conceptos básicos

DBMS centralizado

Page 15: 1. introducción y conceptos básicos

DDBS

Page 16: 1. introducción y conceptos básicos

Alternativas en la entrega de datos

• Modos de entrega

• Frecuencia

• Métodos de comunicación

Page 17: 1. introducción y conceptos básicos

Modos de entrega

• Pull-only (Jalar)

• Push-only (empujar)

• Híbrido

Page 18: 1. introducción y conceptos básicos

Modos de entrega (Pull-only)

• La transferencia es iniciada por el cliente.• El servidor responde localizando la información

requerida.• Los clientes no reciben notificaciones después de haber

realizado alguna actualización o inserción.• Los servidores son interrumpidos continuamente.• La información recibida se deriva de la información que

el cliente conoce.

Page 19: 1. introducción y conceptos básicos

Modos de entrega (push-only)

• La transferencia es iniciada por el servidor dada una ausencia de requerimientos del cliente.

• “Decide” qué datos son de interés común.• “Decide” cuándo enviar los datos a los clientes.• “Decide” a cuales clientes enviar los datos.• Su utilidad reside en la precisión del servidor para

detectar las necesidades del cliente.

Page 20: 1. introducción y conceptos básicos

Modos de entrega (híbrido)

• La transferencia de información ocurre hacia ambos lados.

• Se inicia a través del cliente (pull).• La subsecuente transferencia o actualización hacia los

clientes la inicia el servidor (push).

Page 21: 1. introducción y conceptos básicos

Frecuencia

• Clasifica la regularidad del envío de datos con tres medidas:• Periódica

• Condicional

• Ad-hoc o irregular

Page 22: 1. introducción y conceptos básicos

Frecuencia (periódica)

• Los intervalos pueden ser definidos por el sistema o por los perfiles de los clientes.

• Los datos son enviados del servidor a los cliente en intervalos regulares.

• La transferencia está programada periódicamente.

Page 23: 1. introducción y conceptos básicos

Frecuencia (condicional)

• El servidor envía los datos cuando se ciertas condiciones, especificadas por los perfiles de los clientes, son satisfechas.

• Usados comúnmente en el modo de envío híbrido o push-only.

Page 24: 1. introducción y conceptos básicos

Frecuencia (ad-hoc)

• Se usa en sistemas pull-only puros.• La transferencia de datos se da únicamente cuando el

cliente la requiere.

Page 25: 1. introducción y conceptos básicos

Método de comunicación

• Uno a uno (unicast)

• Uno a muchos (multicast / broadcast)

Page 26: 1. introducción y conceptos básicos

Promesas de los DDBS’s

• Administración transparente de los datos distribuidos y replicados.

• Acceso confiable a los datos a través de las transacciones distribuidas.

• Desempeño mejorado.

• Expansión del sistema más fácil.

Page 27: 1. introducción y conceptos básicos

Administración transparente de los datos replicados y distribuidos

• La transparencia se refiere a la separación entre la semántica de alto-nivel y las cuestiones de implementación de bajo nivel en un sistema.

EMP(ENO, ENAME, TITLE)

PROJ(PNO, PNAME, BUDGET)

SAL(TITLE, AMT)

ASG(ENO, PNO, RESP, DUR)

Page 28: 1. introducción y conceptos básicos

Administración transparente de los datos replicados y distribuidos

Page 29: 1. introducción y conceptos básicos

Administración transparente de los datos replicados y distribuidos

Page 30: 1. introducción y conceptos básicos

Administración transparente de los datos duplicados y replicados

• Independencia de los datos: Independencia lógica, independencia física.

• Transparencia de la red: El usuario no distingue entre aplicaciones que corren en diferentes arquitecturas de bases de datos.• Transparencia de localización • Transparencia de nombres (nombres únicos)

• Transparencia de replicación• Transparencia de fragmentación (vertical, horizontal)

Page 31: 1. introducción y conceptos básicos

¿Quién provee transparencia?

• Nivel de capa de acceso (lenguaje)• Nivel de sistema operativo• Dentro del DBMS

Page 32: 1. introducción y conceptos básicos

Confiabilidad a través de transacciones distribuidas

• La falla en alguna liga no es suficiente para tirar el sistema entero.

• Algunos partes de la base de datos pueden ser inalcanzables para algunos usuarios, pero otras si pueden ser visibles.

• Una transacción es una unidad básica de cómputo confiable y consistente, consiste en de una secuencia de operaciones de base de datos ejecutada como una acción atómico.

Page 33: 1. introducción y conceptos básicos

Confiabilidad a través de transacciones distribuidas

• Existe una transparencia de concurrencia para transformar un estado de base de datos consistente en otro estado de base de datos consistente.

Page 34: 1. introducción y conceptos básicos

Confiabilidad a través de las transacciones distribuidas

• Ejemplo:• Asumamos que existe una aplicación que actualiza los salarios

de todos los empleados en un 10%. Lo mejor es encapsular la consulta que complete esta tarea dentro de una transacción.

• ¿Qué pasa si el sistema se cae a la mitad del camino de la transacción?

• ¿Falla de atomicidad?• ¿Qué pasa si otro usuario calcula el promedio de salarios de los

empleados mientras se están actualizando?• ¿Existe ejecución concurrente? • ¿Por donde se propagan las transacciones mencionadas?

Page 35: 1. introducción y conceptos básicos

Capas de transparencia

Page 36: 1. introducción y conceptos básicos

Desempeño mejorado

• Se basa en dos puntos:• El DDBS fragmenta la base de datos, habilitando los datos a

ser almacenados cercanamente a los puntos de uso. (CPU y servicio I/O liberados, menor retraso de acceso remoto).

• El paralelismo inherente de los sistemas distribuidos puede explotarse a través del paralelismo inter-consultas e intra-consultas.

* Debate: Aprovechando las nuevas capacidades de la tecnología de redes ¿Por qué no utilizamos bases de datos centralizadas (cliente/servidor)?

Page 37: 1. introducción y conceptos básicos

Sencilla expansión del sistema

• Poder de almacenamiento

• Poder de procesamiento