View
96
Download
5
Category
Preview:
Citation preview
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
Recommended