You are on page 1of 50

UNIVERSIDAD PERUANA LOS ANDES

FACULTAD DE INGENIERÍA
CARRERA PROFESIONAL DE INGENIERIA DE
SISTEMAS Y COMPUTACION

SISTEMAS DISTRIBUIDOS
BASE DE DATOS DISTRIBUIDOS

Mg. Freddy Toribio Huayta Meza


1
Introducción

Las BDD surgen de 2 tecnologías en auge: Bases de datos


y redes de comunicaciones.

A finales de los `80 se empezó a tender hacia la


Descentralización y autonomía de procesos.

Una BDD está construida sobre una red de comunicaciones,


por lo que la información de la BD está repartido entre los
diferentes sitios que forman la red.

Una BDD es un cjto. de BD interrelacionadas lógicamente, y


distribuidas a través de la red de computadoras.
Introducción

El SGBDD maneja todas las BDD haciendo que la distribución


de los datos sea transparente para el usuario.

Tipos de arquitecturas multiprocesador:

Memoria compartida: múltiples procesadores que


comparten la MP.

Disco compartido: múltiples procesadores que comparten


almacenamiento secundario pero no
la MP.
Introducción

Las arquitecturas mencionadas anteriormente comparten datos


sin la necesidad de redes de comunicación.

Se les conoce como SGBD paralelas, en lugar de SGBDD.

Hay otro tipo de arquitectura: arquitectura con nada


compartido.

En esta arquitectura los procesadores no comparten MP, ni


almacenamiento secundario y comparten la información por
medio de redes de alta velocidad.

En esta arquitectura tiene que haber simetría y homogeneidad


en los nodos, por lo que no es una BDD.
Introducción

Sistema de computación 1 Sistema de computación 2

CPU BD CPU BD

MEMORIA MEMORIA

CONMUTADOR

Sistema de computación n

CPU BD

MEMORIA

Fig. 1. Arquitectura con nada compartido


Introducción

BD1 Central BD2


(madrid)

Zaragoza Logroño

Red de
comunicaciones

Barcelona
San
Sebastián

Fig. 2.Arquitectura con BD centralizada


Introducción

BD1 Logroño BD2

San
Sebastián

Zaragoza Red de
comunicaciones

DB5
Madrid

Barcelona
DB3

DB4

Fig. 3. Arquitectura verdadera de BDD


Introducción

Las BDD tienes que cumplir las 12 reglas siguientes:

a) Autonomía local.

b) No dependencia de un sitio central.

c) Operación continua.

d) Independencia con respecto a la localización.

e) Independencia con respecto a la fragmentación.

f) Independencia de réplica.
Introducción

g) Procesamiento distribuido de consultas.

h) Manejo distribuido de transacciones.

i) Independencia con respecto al equipo.

j) Independencia con respecto al SO.

k) Independencia con respecto a la red.

l) Independencia con respecto al SGBD.


Orígenes
◼ Evolución acelerada de los sistemas
de información
◼ Crecimiento no planeado de la
información al interior de las
organizaciones
◼ Dispersión en sitios geográficamente
distantes
◼ Sistemas tecnológicamente
diferentes
Orígenes
◼ Necesidad de compartir e integrar la
información dispersa
◼ Se requiere un tipo de tecnología
diferente al tradicional
◼ La Base de Datos Distribuida es una
buena solución a lo anterior.
Definición
◼ Una Base de Datos Distribuida
(BDD) es una colección de datos
relacionados lógicamente, pero
dispersos entre diversos sitios de una
red de computadoras. [Ceri y
Pelagatti]
◼ Cada sitio en la red tiene capacidad
de procesamiento autónomo y puede
ejecutar aplicaciones locales.
BDD (ilustración esquemática)
Razones para la dispersión
◼ Naturaleza de la información
◼ Motivos económicos
◼ Consideraciones de desempeño
◼ Necesidades de fiabilidad
◼ Requerimientos de disponibilidad
◼ Etc.
Consecuencias de la dispersión
◼ Incremento en la complejidad de
diseño
◼ Mayores dificultades para la
instrumentación de las soluciones
◼ Administración y resolución de
problemas implican aplicación de
mejores recursos
◼ Necesidad de apego a estándares
Software para BDD
◼ DDBMS = Distributed DataBase
Management System
◼ Debe permitir la creación, el uso y el
mantenimiento de la BDD
◼ Debe realizar funciones típicas de un
DBMS no distribuido
◼ También debe soportar otras
funciones
Funciones extra para un
DDBMS
◼ Capacidad de accesar sitios remotos
y transmitir consultas y datos entre
diversos sitios a través de una red de
computadoras

◼ Capacidad de rastrear la pista de


distribución y de replicación de los
datos en el catálogo del DDBMS
◼ Capacidad de elaborar estrategias de
ejecución para consultas y
transacciones que accesan datos en
más de un sitio

◼ Capacidad de mantener la
consistencia en las copias de un
elemento de información
◼ Capacidad de recuperarse ante
caídas de sitios individuales y fallos
de un enlace de comunicación

◼ Capacidad de decidir cual de las


copias de un elemento de
información será accesada
Componentes de un DDBMS
◼ Componente de manejo de Base de Datos
(DB)
◼ El componente de Comunicación de Datos
(DC)
◼ El Diccionario de Datos (DD), el cual es
extendido para representar información
sobre la distribución de los datos sobre la
red
◼ El componente de base de datos
Ventajas de las BDD
Ventajas de las BDD

a) Gestión de datos distribuidos con diferentes niveles de


transparencia:

1.- Transparencia de red o de distribución.

2.- Transparencia de réplica.

3.- Transparencia de fragmentación.

b) Incremento de la fiabilidad y disponibilidad.

c) Mejora del rendimiento.

d) Expansión de la BD más sencilla.


Desventajas de las BDD
Desventajas de las BDD

Las desventajas frente a las BD monolíticas son:

a) Procesamiento de consultas.

b) Administración del catálogo.

c) Propagación de actualizaciones.

d) Recuperación.

e) Concurrencia
Funciones adicionales
de las BDD
Funciones adicionales de las BDD

Un SGBDD además de las funciones de un SGBD tiene


que realizar:

a) Mantenimiento de la pista de los datos.

b) Procesamiento de consultas distribuidas.

c) Gestión de transacciones distribuidas.

d) Gestión de datos replicados.


Funciones adicionales de las BDD

e) Recuperación de las Bases de Datos Distribuidas.

f) Seguridad.

g) Gestión del catálogo distribuido.

Para la realización de las funcionalidades extra, hace falta un


“buen” diseño ya que de él depende el rendimiento de
nuestras transacciones y consultas.
Fragmentación de los
datos
Fragmentación de los datos

Consiste en la división de la información de la BD en partes


más pequeñas que se puedan repartir entre los nodos.

La decisión de dónde llevar las diferentes partes influirá


notoriamente en el rendimiento global de nuestra BDD.

En un BD relacional por ej. se puede dividir por relaciones.

Existen diferentes formas de fragmentación:

a) Fragmentación horizontal: Subdivisión por tuplas


de una relación. Con la fragmentación horizontal
derivada se utilizan las claves extranjeras.
Fragmentación de los datos

b) Fragmentación vertical: subdivisión de la relación


por atributos de ésta. En esta fragmentación se
conservan todas tuplas de la relación.

c) Fragmentación mixta: es una mezcla de los dos


tipos anteriores. Se divide la relación en tuplas
y se cogen sólo los atributos que nos interesen.

El esquema de fragmentación es la definición de un conjunto


de fragmentos que incluye todos los atributos y tuplas de la BD

El esquema de asignación describe qué fragmentos van a qué


sitio de nuestra BDD.
Replicación y asignación
de los datos
Replicación y asignación de los datos
Método eficaz para mejorar la disponibilidad de la información
en nuestra BDD.

Replicación total: copia completa de la BD en cada sitio. Gran


rendimiento en consultas, pero muy malo
en actualización e inserción.

No replicación: no copias redundantes en ningún sitio de la BDD

Amplio abanico de posibilidades.

El esquema de replicación es la forma de cómo se van a replicar


los datos.

Distribución de los datos es el proceso de asignación de los


fragmentos a cada nodo de nuestro sistema.
Tipos de sistemas de
BDD
Tipos de sistemas de BDD
Grado de homogeneidad: depende del hardware y software
de cada nodo de nuestro sistema.

Autonomía local: si el sitio local puede trabajar como un


sistema autónomo o no. Hay sistemas sin
autonomía local (poseen un esquema
conceptual) y hay sistemas federados.

Los sistemas federados son aquellos que pueden trabajar de


forma autónoma. Tienen las siguientes características:

a) Diferencias en modelos de datos.

b) Diferencias en restricciones.

c) Diferencias en los lenguajes de consulta.


Tipos de sistemas de BDD

Puede darse heterogeneidad semántica cuando hay diferencia


entre en el significado, interpretación o uso de ciertos datos.

Para la autonomía de diseño se puede escoger libremente


entre una serie de parámetros:

a) Universo de discurso desde el que se representan


los datos.

b) Representación y nombres.

c) Entendimiento, significado e interpretación subjetiva


de los datos.
Tipos de sistemas de BDD
d) Restricciones de política y transacción.

e) Derivación de transacciones.

La autonomía de comunicación se refiere a la habilidad de


un sistema componente de decidir si quiere comunicarse con
otro sistema componente o no.

La autonomía de ejecución consiste en poder ejecutar


operaciones sin la intromisión de operaciones de sistemas
externos, y también es la capacidad de decidir el orden de
ejecución de las operaciones.

La autonomía de asociación es la capacidad de un nodo de


decidir si quiere compartir su funcionalidad y recursos
con otros sistemas.
Procesamiento de
consultas en BDD
Procesamiento de consultas en BDD

1.- Costos de la transferencia de datos en consultas distribuidas

Además de los métodos clásicos de optimización hay


que tener en cuenta otros factores como la velocidad
de la red, por lo que se disminuye el número de
transferencias por esta.

La semireunión es una operación que da buen resultado


para consultas distribuidas.

2.- Consultas por semireunión

Consiste en reducir al máximo el número de tuplas de una


relación, antes de transferirla por la red.
Procesamiento de consultas en BDD

La idea es enviar solo el atributo de reunión, y recogerlo


más tarde junto con los atributos que queramos de la otra
relación.

3.- Descomposición de actualizaciones y consultas.

Debe existir un módulo de descomposición de consultas


para poder enviar cada trozo de la consulta al sitio que
le corresponda. Una vez recibida la información la
fusiona formando el resultado total.
Control de concurrencia
y recuperación de BDD
Control de concurrencia y recuperación de BDD

Surgen problemas añadidos:

a) Manejar múltiples copias de los elementos de datos.

b) Fallo de sitios individuales.

c) Fallo en enlaces de comunicación.

d) Confirmación distribuida.

e) Bloqueo mortal distribuido.


Control de concurrencia y recuperación de BDD
Concurrencia basada en una copia distinguida.

Los bloqueos y desbloqueos se envían al sitio que


contiene la copia.

Métodos que utilizan la copia distinguida:

a) Técnica de sitio primario.

b) Sitio primario con sitio de respaldo.

c) Técnica de copia primaria.

Si se produce una caída del sitio coordinador, el


sistema tiene que ser capaz de escoger a otro
para que realice la función.
Control de concurrencia y recuperación de BDD

Control de concurrencia por votación.

No existe copia distinguida.

Cada solicitud se envía a todos los sitios de la BDD que


incluyan una copia del elemento a bloquear.

Si la mayoría de los sitios otorgan el bloqueo a la


transacción está informará de su estado al resto de
sitios.

Si no se otorga el bloqueo, se cancelará la solicitud


de la transacción e informará de su estado al resto
de sitios.
Recuperación distribuida
Recuperación distribuida
Multitud de problemas, como por ej. saber si un sitio está
caído, ya que:
a) puede estar caído.

b) puede haber fallado la comunicación de subida

c) puede haber fallado la comunicación de bajada

Los problemas que surgen pueden generar mucho tráfico en


la red.

La confirmación distribuida es otro problema:

Cuando una transacción está actualizando datos en varios


sitios, no puede confirmarse hasta asegurarse de que el
efecto de la transacción no se puede perder en ningún
sitio.
Relación entre las BDD y la
arquitectura cliente-servidor
Relación entre las BDD y la arquitectura cliente-servidor

El software se divide en 3 módulos:

a) El servidor: Gestiona los datos locales.

b) El cliente: Realiza las peticiones a más de un sitio y


maneja los interfaces de usuario.

c) El software de comunicación: proporciona las


primitivas de comunicación.
Oracle como BDD
Oracle como BDD
Se divide en cliente (front-end) y servidor (back-end).

El cliente ejecuta las peticiones y el servidor ejecuta las


sentencias SQL y devuelve los resultados. La arquitectura
cli-serv proporciona transparencia de localización.

Utiliza el mecanismo de confirmación en dos fases para el control


de las transacciones.

El proceso background RECO resuelve el resultado de las


transacciones distribuidas que se interrumpen con un commit.

Para fallos de larga duración Oracle permite al ABD confirmar o


deshacer manualmente cualquier transacción en duda.
Oracle como BDD

Cada nodo puede ser tanto un cliente, como un servidor,


como ambas cosas a la vez.

Oracle utiliza el software de red Net8.

Las direcciones de red dentro de un sistema distribuido


son jerárquicas.

Ofrece dos métodos de replicación:


a) Básica: Réplicas de sólo lectura.

b) Avanzada: Réplicas R/W.

Por medio de Oracle Open Gateways se permite el acceso a


BD que no sean Oracle, formándose así redes heterogéneas.

You might also like