1. introducción y conceptos básicos

Post on 26-Jul-2015

100 Views

Category:

Education

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Bases de datos distribuidasIntroducció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

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.

Procesamiento tradicional de archivos

Procesamiento de bases de datos

Finales de los 80’s

• Mayor descentralización.

• Autonomía de proceso.

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

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.

¿Qué es lo que se distribuye?

• Procesamiento lógico.

• La función.

• Los datos.

• El control.

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

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

Base de datos distribuida

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

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.

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.

DBMS centralizado

DDBS

Alternativas en la entrega de datos

• Modos de entrega

• Frecuencia

• Métodos de comunicación

Modos de entrega

• Pull-only (Jalar)

• Push-only (empujar)

• Híbrido

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.

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.

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

Frecuencia

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

• Condicional

• Ad-hoc o irregular

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.

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.

Frecuencia (ad-hoc)

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

cliente la requiere.

Método de comunicación

• Uno a uno (unicast)

• Uno a muchos (multicast / broadcast)

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.

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)

Administración transparente de los datos replicados y distribuidos

Administración transparente de los datos replicados y distribuidos

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)

¿Quién provee transparencia?

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

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.

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.

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?

Capas de transparencia

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)?

Sencilla expansión del sistema

• Poder de almacenamiento

• Poder de procesamiento

top related