1. Bases de datos distribuidas
1.1. Introduccion
1.2. Definicion
1.3. Sistema de bases de datos distribuidos
1.4. Terminologia
1.5. Caracterisiticas
1.7. Otras capacidades de las BDD
1.8. Tipos de fallas en un Sistema manejador de bases de datos
1.9. Ventajas
1.10. Desventajas
1.11. Estructura y arquitectura de un SBDD

2. Fragmentacion
2.1. Introduccion
2.2. Validez de la fragmentacion
2.3 Tipos de fragmentacion
2.3.1. Fragmentacion horizontal
2.3.2. Fragmentacion vertical
2.3.3 Fragmentacion hibrida
2.3.4. Porque usarla?
2.3.5. Responsables de la fragmentacion
2.3.7. Estrategia de fragmentacion

3. Replicacion
3.1 Introduccion
3.2. Tipos de replicacion
3.2.1 Basica
3.2.2. Avanzada

4. Transacciones
4.1 Introduccion
2.1. Propiedades de las transacciones

5. Principales aplicaciones

 

BASES DE DATOS DISTRIBUIDAS

Introduccion

Inicialmente la informacion se almacenaba de manera centralizada, pero poco a poco se fueron combinando las redes de comunicacion y las Bases de Datos, se originaron los gSistemas Distribuidos de Comunicacionh, en donde los datos y el manejo de los mismos se hacia a traves de muchos sitios ligados a traves de una red de comunicacion.

La tecnologia ha hecho posible que algunas facilidades inicialmente imaginadas solo en suenos se conviertan en realidad. Por ejemplo, las transacciones en linea que permite el sistema bancario actual. Los sistemas de computo distribuido son ejemplos claros en donde las necesidades organizacionales se combinan con la disponibilidad de nuevas Tecnologias para hacer realidad tales aplicaciones.


Definicion

Es un conjunto de multiples bases de datos logicamente relacionadas las cuales se encuentran distribuidas entre diferentes sitios interconectados por una red de comunicaciones y no en una maquina aislada.

La informacion que constituye la base de datos esta almacenada en diferentes sitios en la red, y las aplicaciones que se ejecutan acceden datos en distintos sitios. En consecuencia, la llamada "base de datos distribuida" es en realidad una especie de objeto virtual, cuyas componentes se almacenan fisicamente en varias bases de datos "reales" distintas ubicadas en diferentes sitios. Un nuevo componente de software en cada sitio realiza las funciones de sociedad necesarias y es la combinacion de este nuevo componente y el SGDB ya existente lo que constituye el llamado "sistema de administracion de bases de datos distribuidas" (SGBDD)

SGBDD:
Permite el manejo de la BDD y hace esta distribucion transparente a todos los usuarios.


Un sistema de bases de datos distribuidos

Es un sistema en el cual multiples sitios de bases de datos estan ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red. El principio fundamental de una BDD es que debe gverseh igual que un sistema no distribuido.


Terminologia

1. Base de Datos Distribuida:
Es una base de datos ubicada en distintas localizaciones unidas todas ellas a traves de una red
2. Sistema de Base de Datos Distribuida:
Es una coleccion de localidades, en cada una de las cuales opera un sistema de base de datos local y que pueden participar en la ejecucion de transacciones que acceden a datos de varias localidades.
3. Datos Locales:
Datos en un mismo sitio o localidad con su propia base de datos.
4. Datos Globales:
Datos que se mantienen en una base de datos cuya ubicacion es diferente para al menos uno de los usuarios.
5. Enlace:
Canales de comunicacion entre dos sitios dela red y que proveen las capacidades de transferencia de datos.
6. Sistema de Gestion de Base de Datos Distribuidios (SGBDD):
Es el software que gestiona el sistema de base de datos distribuidos. Algunos SGBDD son:
System for Distributed Database ? Computer Corporation of America
Distributed INGRESS ? Relational Technology
R* ? IBM
7. Transaccion:
La ejecucion de un programa de usuario que interactua con el SGBDD.
8. Agente:
Un proceso que coopera para ejecutar una transaccion.
9. Transaccion Local:
Una transaccion que requiere un unico agente.
10 Transaccion Global:
Una transaccion que requiere varios agentes.
11. Red de Area Amplia (WAN):
Una red de computadoras en la que los sitios estan bastante dispersos geograficamente.
12. Red de Area Local (LAN):
Una red de computadoras en la que los sitios estan ubicados a corta distancia uno de otro (por lo general menos de una milla).
13. Fragmentacion de Datos:
Particion de una relacion en un SBDD.


Caracteristicas

La caracteristica principal que tienen las Bases de Datos Distribuidas son:
? Las computadoras de un sistema distribuido pueden variar en tamano y funcion no comparten ni memoria ni discos.
? Los distintos nodos estan informados sobre los demas.
? Usualmente incluyen aplicaciones cliente / servidor.
? Cada punto de la red es una base de datos, la cual cuenta con autonomia local.
? Cada computador que maneja una BD de una BDD se le denomina NODO.
? Habilidad para acceder datos ubicados en multiples sitios, localizados en diferentes nodos de una red.
? Replicas.
? Fragmentacion.
? No dependencia de un sitio central.
? Transparencia de localizacion de datos.
? Manejo distribuido de transacciones
? Independencia con respecto a la red.
? Independencia del sistema operativo.


Capacidades

Ademas de contar con las funciones de un SGBD Centralizado, debe contar con las siguientes capacidades:
? Tener acceso a sitios remotos y transmitir consultas y datos entre los diversos sitios a traves de una red de comunicaciones
? Elaborar estrategias de ejecucion para consultas y transacciones que tienen acceso a datos a mas de un sitio.
? Decidir a cual copia del elemento replicado se tendra acceso
? Mantener la consistencia de las copias de un elemento replicado.
? Recuperarse de caidas de sitios individuales y fallas en los enlaces de comunicacion.


Tipos de fallas en un SMBDD

? Fallas de transacciones
El control de concurrencia y recuperacion de los datos se tornan mas complejos.
? Fallas del sistema.
La distribucion provoca un aumento en la complejidad del diseno al igual que en la implementacion del sistema.
? Fallas del medio de almacenamiento.
? Fallas de comunicacion.
La probabilidad de violaciones de seguridad es creciente.

Para que las BDDR tengan mayor eficiencia en cuanto a desempeno se distribuyen los datos de acuerdo a los requerimientos de uso y las capacidades computacionales que disponen los diferentes usuarios, pero manteniendo la vision del sistema como un solo componente. Para esto se desarrollaron diferentes algoritmos de distribucion de datos y se implementaron las tecnicas de fragmentacion.

Resultados
1. El sistema debe operar como si solo existiera un sistema operativo
2. En un sistema distribuido se dan dos tipos de transacciones, las locales y las globales.
3. Cada localidad puede procesar transacciones locales y tambien puede participar en la ejecucion de transacciones


Ventajas

? Compartimiento de Datos
? Autonomia
? Disponibilidad
? Replicacion y fragmentacion de informacion
? Control de concurrencia
? Permite respaldos en linea
? Permite manejar un elevado volumen de datos


Desventajas

El principal inconveniente de los sistemas distribuidos de bases de datos es la complejidad anadida que es necesaria para garantizar la coordinacion apropiada entre los nodos. Esta creciente complejidad tiene varias facetas:

? Coste de desarrollo del software
? Mayor probabilidad de errores
? Mayor sobrecarga del procesamiento
? Poca seguridad


Estructura y arquitectura

COMPONENTES:
Un sistema de base de datos distribuidas se compone de un conjunto de sitios, conectados entre si mediante algun tipo de red de comunicaciones. La interaccion de estos componentes se da a traves de un administrador de bases de datos distribuidas (SGBDD), el cual esta formado por transacciones y por los administradores de las base de datos de todas las computadoras. En conclusion, cada sitio tiene sus propias bases de datos erealesf locales, sus propios usuarios locales, sus propios SGBD y programas para administracion de transacciones y su propio administrador local de comunicacion de datos.

ARQUITECTURA
Los usuarios interactuan con el SGBDD ejecutando programas que se llaman transacciones. Las transacciones en tales sistemas no estan ya restringidas a un solo proceso controlado por un modulo de software, sino que pueden invocar un conjunto de procesos cooperantes. Cada uno de esos procesos cooperantes en la transaccion se llaman agentes. Una transaccion que requiere de solo un agente se llama transaccion local. Una transaccion que requiere varios agentes se denomina transaccion global. Un agente dado puede solo acceder a los datos controlados por su software de gestion de datos local. Acceder a los datos de otro sitio requiere de la cooperacion de los agentes de esos sitio.

Las transacciones acceden a los registros mediante operaciones read (lectura) y write (escritura). Una transaccion expide las ordenes read y write al SGBDD y ejecuta las entradas y salidas por el terminal.

Cada sitio participante en el SGBDD tipicamente ejecuta uno o mas de los siguientes modulos de software: Un administrador de transacciones (AT), Un administrador de datos (AD) y Un planificador. Las transacciones se comunican con los ATs; los ATs con los planificadores; los planificadores se comunican entre ellos y tambien con los ADs y los ADs administran los datos. Cada transaccion comunica todas sus lecturas y escrituras a un unico AT. Una transaccion tambien expide una operacion begin (empezar) a su AT cuando empieza su ejecucion, y luego un end (terminar) cuando esta finaliza. El AT comunica cada lectura y escritura al planificador. El planificador controla la secuencia en el cual los ADs procesan las ordenes de lectura y escritura y mantienen el control de concurrencia. Cuando el planificador recibe una instruccion de lectura o escritura, el planificador puede:
? Procesar la instruccion inmediatamente
? Demorar el procesamiento guardando la instruccion para su accion posterior
? Rechazar la instruccion en el caso de un error de transmision

El AD ejecuta cada lectura y escritura que recibe. Para una lectura, el AD recorre su base de datos local y retorna el valor solicitado. Para una escritura, el AD modifica la base de datos local y retorna un reconocimiento al planificador, que lo envia de regreso al AT y este lo regresa a la transaccion.

DISENO
El diseno de un sistema de base de datos distribuida puede resultar una tarea compleja. Se deben hacer consideraciones muy cuidadosas sobre los objetivos y las estrategias que deben servir al diseno y paralelamente se deben tomar decisiones sobre como hay que distribuir los datos entre los sitios de la red.
? Transparencia de la Ubicacion
? Transparencia de Duplicacion
? Independencia de la Configuracion
? SGBDD no Homogeneos
? Duplicacion de Datos
? Particionamiento de la Base de Datos
? Fragmentacion de Datos

 


Fragmentacion

Es el Particionamiento de la informacion para distribuir cada parte a los diferentes sitios de la red. Permite controlar donde seran almacenados los datos a nivel de tablas.

Para que las BDDR tengan mayor eficiencia en cuanto a desempeno se distribuyen los datos de acuerdo a los requerimientos de uso y las capacidades computacionales que disponen los diferentes usuarios, pero manteniendo la vision del sistema como un solo componente. Para esto se desarrollaron diferentes algoritmos de distribucion de datos y se implementaron las tecnicas de fragmentacion.


Validez de la fragmentacion

Al realizar la fragmentacion de una relacion se deben satisfacer las siguientes condiciones para garantizar la validez de la misma:
? Condicion de completitud. La descomposicion de una relacion R en los fragmentos R1, R2, ..., Rn es completa si y solamente si cada elemento de datos en R se encuentra en algun de los Ri.
? Condicion de Reconstruccion. Si la relacion R se descompone en los fragmentos R1, R2, ..., Rn, entonces debe existir algun operador relacional N (llaves primarias)
? Condicion de Fragmentos Disjuntos. Si la relacion R se descompone en los fragmentos R1, R2, ..., Rn, y el dato di esta en Rj, entonces, no debe estar en ningun otro fragmento.


Tipos de fragmentacion

? Fragmentacion Horizontal: donde se distribuyen los registros de las tablas de la base de datos entre diferentes nodos de la red.
? Fragmentacion Vertical: donde se distribuyen los atributos de acuerdo a la frecuencia de su uso.
? Fragmentacion Hibrida: que incluye una o varias secuencias de aplicacion de las fragmentaciones anteriormente mencionadas.


Horizontal

Consiste en particionar las tuplas de una relacion global en subconjuntos, donde cada subconjunto puede contener datos que tienen propiedades comunes y se puede definir expresando cada fragmento como una operacion de seleccion sobre la relacion global.

Ejemplo: supongamos que la relacion R es la relacion VUELO de la figura 6. Esta relacion puede dividirse en dos fragmentos que se definen formalmente como una SELECCION sobre la relacion R, asi:

ORIGEN DESTINO H. PARTID H. LLEGA
Den SF 9 am 10 am
Den SLC 7 am 8 am
Den SF 1 pm 2 pm
Den SF 6 pm 7 pm
SF Den 8 am 11 am
SF Den 12 pm 3 pm
SF Den 5 pm 8 pm
SF SLC 9 am 11 pm

Origen Destino H. Partid H. Llega
Den SF 9 am 10 am
Den SLC 7 am 8 am
Den SF 1 pm 2 pm
Den SF 6 pm 7 pm

Origen Destino H. Partid H. Llega
SF Den 8 am 11 am
SF Den 12 pm 3 pm
SF Den 5 pm 8 pm
SF SLC 9 am 11 pm


Fragmentacion vertical

La fragmentacion vertical es la subdivision de atributos en grupos. Los fragmentos se obtienen proyectando la relacion global sobre cada grupo. La fragmentacion es correcta si cada atributo se mapea en al menos un atributo del fragmento. La fragmentacion vertical requiere de la adicion de un atributo especial para identificar la tupla (AIT).

Ejemplo: Descompongamos la relacion VUELO en VUELO1 y VUELO2

Origen Destin H Part H. Lle AIT
Den SF 9 am 10 am 1
Den SLC 7 am 8 am 2
Den SF 1 pm 2 pm 3
Den SF 6 pm 7 pm 4
SF Den 8 am 11 am 5
SF Den 12 pm 3 pm 6
SF Den 5 pm 8 pm 7
SF SLC 9 am 11 pm 8

Vuelo1: Vuelo2:
Orige H.Par AIT
Den 9 am 1
Den 7 am 2
Den 1pm 3
Den 6 pm 4
SF 8 am 5
SF 12pm 6
SF 5pm 7
SF 9 am 8

Dest H.lle AIT
SF 10am 1
SLC 8 am 2
SF 2pm 3
SF 7pm 4
Den 11am 5
Den 3pm 6
Den 8pm 7
SLC 11pm 8

 


Fragmentacion hibrida (MIXTA)

Esta consiste en aplicar la fragmentacion vertical seguida de la fragmentacion horizontal o viceversa.

Sea la relacion EMP( empno, name, sal, tax, mrgno, depno )

Fragmentacion mixta, aplicando VH:
EMP1 = SL depno <= 10 PJempno, name, mgrno, depno EMP
EMP2 = SL 10 < depno <= 20 PJempno, name, mgrno, depno EMP
EMP3 = SL depno > 20 PJempno, name, mgrno, depno EMP
EMP4 = PJ empno, sal, tax EMP
La reconstruccion de la relacion EMP es definida por la siguiente expresion:
EMP = UN(EMP1, EMP2, EMP3)JNempno = empnoPJempno, sal, tax EMP4


Por que usar la fragmentacion?

1. Sirve para mejorar el tiempo de respuesta de un usuario.
2. Mejorar la concurrencia (fragmentacion para operaciones localizadas)
3. Mejorar la disponibilidad (saltar fragmentos que se encuentran fuera de linea)
4. Mejorar las operaciones de backup (reduce tiempo en estas operaciones)


Responsables de la fragmentacion?

1. El administrador del SGBD
2. El administrador de la BD

Los cuales trabajan de manera colaborativa


Estrategia de fragmentacion

Una estrategia de fragmentacion consiste en una distribucion de esquemas y la asignacion de espacios de bases de datos donde residiran los fragmentos.

Para formular una estrategia, debemos tener en cuenta los siguientes pasos.

1. Decidir cual es la meta de la fragmentacion primaria. la meta de la fragmentacion dependera de lo largo o extenso de las aplicaciones que acceden a la tabla.

2 Decidir como la tabla va a ser fragmentada. Se debera tomar las siguientes decisiones:
? Si fragmentar los datos de la tabla, el indice de la tabla o ambos. Esta decision se basa en la meta de la fragmentacion primaria.
? Cual es la distribucion ideal de las filas o llaves de indices de la tabla.

? 3. Decidir un esquema de distribucion. Se debe primero escoger entre un round-robin "metodo de planificacion de procesos en un sistema operativo" y un esquema de distribucion basada en expresiones. Si se escoge la ultima, se debe entonces disenar las expresiones convenientes de fragmentacion.

? 4. Para completar la estrategia de fragmentacion se debe decidir un numero y una localizacion de los fragmentos.


Replicacion de datos

? Proceso de copiado y mantenimiento de objetos en multiples bases de datos; replicacion puede mejorar el desempeno de la base de datos porque alterna las opciones de acceso a datos que existen.


Existen dos tipos de replicacion:

Replicacion Basica.
Replicacion Avanzada.

Basica

? Se acceden a las copias en modo lectura, de esta forma las aplicaciones pueden copiar datos desde servidores locales haciendo que el trafico de la red sea mas rapido.

? Este tipo de replicacion se realiza mediante Snapshots.

Avanzada

? Las caracteristicas de la replicacion avanzada extienden las capacidades de la replicacion basica permitiendo a las aplicaciones actualizar las replicas de la tabla a lo largo de un sistema de base de datos replicado.
? Todos los servidores que actuan en este tipo de replicacion deben asegurar consistencia en las transacciones globales e integridad en los datos.
? Los ambientes de replicacion avanzada se soportan utilizando Replicacion Multimaestro asi como Snapshot Sites.



Manejo de transacciones distribuidas


? Una transaccion es una coleccion de acciones que hacen transformaciones consistentes de los estados de un sistema preservando la consistencia del sistema.
? Lo que se persigue con el manejo de transacciones es por un lado tener una transparencia adecuada de las acciones concurrentes a una base de datos y por otro lado tener una transparencia adecuada en el manejo de las fallas que se pueden presentar en una base de datos.


Propiedades de las transaciones

1 .-Atomicidad. Se refiere al hecho de que una transaccion se trata como una unidad de operacion.
2.-Consistencia. La consistencia de una Transaccion es simplemente su correctitud.
3.-Aislamiento. Una transaccion en ejecucion no puede revelar sus resultados a otras transacciones concurrentes antes de su commit.
4.-Durabilidad. Es la propiedad de las transacciones que asegura que una vez que una transaccion hace su commit, sus resultados son permanentes y no pueden ser borrados de la base de datos.

Un SBDD se clasifica como homogeneo si cada lugar tiene el mismo SGBD, de otro modo se considera heterogeneo.
Se administran de forma separada y poseen una interconexion mas lenta que los sistemas centralizados.

Un SBDD debe soportar el que una consulta sea resuelta parcialmente en diferentes lugares y despues integrarlos
Transacciones
Una transaccion es una coleccion de acciones que hacen transformaciones consistentes de los estados de un sistema preservando la consistencia del sistema. Lo que se persigue con el manejo de transacciones es por un lado tener una transparencia adecuada de las acciones concurrentes a una base de datos y por otro lado tener una transparencia adecuada en el manejo de las fallas que se pueden presentar en una base de datos.

Confiabilidad
? La confiabilidad se puede ver como una medida con la cual un sistema conforma su comportamiento a alguna especificacion. Tambien se puede interpretar como la probabilidad de que un sistema no haya experimentado ninguna falla dentro de un periodo de tiempo dado.


Principales aplicaciones

? Organizaciones con estructura descentralizada
? El area industrial que maneje plantas multiples
? Aplicaciones de control y comando militar
? Lineas de transportacion aerea
? Cadenas hoteleras
? Servicios bancarios y financieros
? Supermercados y almacenes de cadena


 

                   
Apuntes segundo previo
 


Indice de temas

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright 2005 Universidad del Cauca, J. Andres G. Flechas R.. All rights reserved.