2. Introducción
Sistemas de bases de
datos
Tecnología de sistemas de bases de
datos distribuidas
Tecnologías de redes y
telecomunicaciones
3. 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.
6. Finales de los 80’s
• Mayor descentralización.
• Autonomía de proceso.
• El mayor objetivo Integración sin centralización.
7. 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.
8. ¿Qué es lo que se
distribuye?
• Procesamiento lógico.
• La función.
• Los datos.
• El control.
9. ¿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.
10. ¿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.
11. Base de datos distribuida
• Colección de múltiples bases de datos interrelacionadas
lógicamente, distribuida por una red de computadoras.
12. 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.
13. 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.
18. 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.
19. 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.
20. 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).
21. Frecuencia
• Clasifica la regularidad del envío de datos con tres
medidas:
• Periódica
• Condicional
• Ad-hoc o irregular
22. 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.
23. 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.
24. Frecuencia (ad-hoc)
• Se usa en sistemas pull-only puros.
• La transferencia de datos se da únicamente cuando el
cliente la requiere.
26. 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.
27. 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)
30. 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)
32. 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.
33. 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.
34. 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?
36. 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)?