Está en la página 1de 15

Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

UNIDAD V
BASES DE DATOS DISTRIBUIDAS


Base de Datos Distribuida en Red

Varias computadoras


Sistema Multiprocesadores

Una sola computadora con 3 discos

La informacin debe estar lo mas cerca posible de su usuario principal
34
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

Mejora las comunicaciones y el rendimiento. La informacin se
encuentra en segmentos en distintos servidores. Segmentos de la base de datos
en diferentes medios de almacenamiento.


Principales Caractersticas de una Base de Datos Distribuida

1) Administrador global : Aun y cuando se tengan fragmentos de la base de
datos en diferentes sitios o localidades debe de conservarse el concepto
integral de una base de datos, teniendo para esto un responsable o
administrador global.

2) Administrador local : Es el responsable de mantener la integridad de la
base de datos en lo que a su sitio corresponde.

3) Autonoma del sitio : Se refiere a la libertad con que opere cada
administracin local (facultades que pueda tener).

4) Distribucin transparente : Cuando se realiza la distribucin se debe de
vigilar 2 niveles de transparencia ; el primero es el del usuario. En donde
dicho usuario debe de observar el sistema como una base de datos
centralizada. El segundo nivel se refiere a los programadores, idealmente
debera implicar la misma dificultad desarrollar una aplicacin en un
sistema centralizado y en un sistema distribuido. El nivel de usuario se
cumple totalmente.


5) Redundancia : A diferencia de los sistemas centralizados en donde no es
conveniente que haya redundancia en la informacin, en los sistemas
distribuidos puede resultar conveniente en muchos casos duplicar la
informacin en los diferentes servidores, con el fin de mejorar el
rendimiento.
Se acepta cierto grado de redundancia en un catalogo de clientes completo
(varias sucursales) en diferentes ciudades, pero tener cuidado al dar de alta
un cliente (o de baja) en alguna ciudad en especifico y hacerlo para todas
las copias espejo de las dems ciudades.


6) Estructura fsica compleja y acceso eficiente : Dado que los datos pueden
estar fragmentados se torna mas complejo llevar el control de dichas
35
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

distribuciones, as como de los procesos de actualizacin. El beneficio de
lo anterior consiste en que se mejora notablemente el acceso de la
informacin.



Por qu base de datos distribuida ?

1) Razones organizacionales y/o econmicas.
En algunos casos las necesidades de las empresas son las que determinan si
una base de datos debe permanecer centralizada o es conveniente distribuirla.
Un caso tpico es el caso de empresas en crecimiento que deciden abrir nuevos
almacenes o sucursales. Parte del inventario principal pasa a la(s) sucursal(es).
Antes de que evolucionara la tecnologa de las redes la nica opcin que
tenan las empresas era desarrollar sus aplicaciones bajo esquemas de grandes
y costosos mainframes, que por su naturaleza no consideraban la opcin de
distribuir la base de datos. Fue mas fcil para las empresas crecer
gradualmente lo que fue provocando que las base de datos se fueran
distribuyendo.

2) Optimizacin de las comunicaciones



36
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

Independientemente del tipo de instalacin o cableado de que se trate (par
trenzado o coaxial), as como de la topologa empleada (bus, anillo, estrella) el
rendimiento de las comunicaciones depende fundamentalmente de la
capacidad de las tarjetas de red (10 MBits/seg o 100 MBits/seg).
Considerando lo anterior es indiscutible que el rendimiento de las
comunicaciones ser inversamente proporcional al nmero de usuarios que
atienda un mismo servidor, y entonces para los casos de grandes instalaciones
(muchos usuarios) nos veremos obligados a construir segmentos de red
interconectados entre si, conformados obviamente por mas de un servidor lo
cual necesariamente conduce a un sistema de base de datos distribuida.

3) Bases de Datos Existentes.
Debido a un crecimiento descontrolado, a una planeacin deficiente, a
situaciones de confidencialidad etc. , pueden llegar a existir en la misma
empresa bases de datos independientes. De acuerdo a los principios de una
base de datos, la informacin de la empresa debe estar en un entorno
integrado, debiendo interconectarlas para cumplir ste punto, lo que
consecuentemente producir una BDD.

Servicios Soportados por un sistema tpico

Los servicios soportados por un sistema tpicos son :

1) Acceso remoto
2) Algn grado de transparencia en la distribucin
3) Administracin y control
3.1) Herramientas de monitoreo de la base de datos global
3.2) Informacin de los enlaces
3.3) Utilizacin de las base de datos
3.4) Informacin global de los datos existentes en los diferentes sitios
4) Recuperacin y concurrencia : deben soportar control de concurrencia y
recuperacin de transacciones distribuidas.
37
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

Niveles de Transparencia en la distribucin.
Arquitectura de referencia


38
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

Diagrama de Fragmentacin

Convenciones

1) Ri indica el i-esimo fragmento de la relacin global R.
2) Para distinguir los fragmentos de cada sitio utilizamos superndices. R
i
j

representa el i-esimo fragmento de la relacin global R en el sitio j.


La fragmentacin se realiza en forma o manera lgica, no se hace en
base a cada sitio, para permitirnos integrar los fragmentos fcilmente.
39
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

Fragmentacin Horizontal

Como ejemplo a considerar, un catalogo de proveedores de algunas
ciudades. Considerar la siguiente estructura y las caractersticas de proveedor
y almacn :

CATALOGO[NumParte, Descripcin, Existencia, Costo, Proveedor]

Proveedores : Guadalajara y Monterrey
Almacenes : Monterrey y Torren

CAT1 = SL
proveedor

= Guad
Catalogo
CAT2 = SL
proveedor

= Mty
Catalogo

CATALOGO

A Pieza A 100 $ 50.00 Guadalajara
B Pieza B 75 $ 100.00 Guadalajara
. . CAT1
. .
. .
R Pieza R 20 $ 500.00 Monterrey
S Pieza S 40 $ 80.00 Monterrey
. . CAT2
. .
. .

Defragmentar :

CATALOGO = CAT1 un CAT2
40
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

Fragmentacin Vertical.

EMPLEADO [NumEmp, Nombre, RFC, Salario, Impuesto]

EMP1 = PJ
NumEmp, Nombre, RFC,
EMPLEADO
EMP2 = PJ
NumEmp, Nombre, Salario, Impuesto
EMPLEADO

EMPLEADO

1 David Romn ROD999999 $ 5,000.00 $ 450.00
2 Dafne Castro CAD000000 $ 6,000.00 $ 700.00
3 Hilda Garza GAH000000 $ 6,000.00 $ 700.00


EMP1
1 David Romn ROD999999
2 Dafne Castro CAD000000
3 Hilda Garza GAH000000


EMP2
1 David Romn $ 5,000.00 $ 450.00
2 Dafne Castro $ 6,000.00 $ 700.00
3 Hilda Garza $ 6,000.00 $ 700.00

Defragmentar :

EMPLEADO = EMP1 JN EMP2

A) Realizar el producto cartesiano de las tablas involucradas, lo cual consiste
en concatenar a cada ocurrencia de A cada ocurrencia de B.
B) Seleccionar en la tabla resultante aquellos registros u ocurrencias que
contengan la misma informacin en los atributos comunes, y el resto lo
eliminamos.
C) Eliminar las columnas duplicadas.
41
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

Transparencia de la fragmentacin (Nivel del Programador)

(NIVEL 1)

READ (Terminal, $SNUM) ;
SELECT NAME into $NAME
FROM SUPPLIER
WHERE SNUM = $SNUM
WRITE (Terminal, $NAME)


(NIVEL 2)

READ (Terminal, $SNUM) ;
SELECT NAME into $NAME
FROM SUPPLIER1
WHERE SNUM = $SNUM
IF NOT # FOUND THEN
SELECT NAME INTO $NAME
FROM SUPPLIER2
WHERE SNUM = $SNUM
WRITE (Terminal, $NAME)


42
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.


(NIVEL 3)

READ (Terminal, $SNUM) ;
SELECT NAME into $NAME
FROM SUPPLIER1, AT SITE1
WHERE SNUM = $SNUM
IF NOT # FOUND THEN
SELECT NAME INTO $NAME
FROM SUPPLIER2, AT SITE2
WHERE SNUM = $SNUM
WRITE (Terminal, $NAME)




Acceso remoto va acceso primario


43
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

Acceso remoto va un programa auxiliar



Recuperacin de un Sistema Distribuido

Una transaccin debe ejecutarse en forma atmica, es decir o se
ejecutan todas las instrucciones de la transaccin o no se ejecuta ninguna.
En el caso de ejecucin concurrente el efecto de ejecutar una
transaccin debe de ser el mismo que si se ejecutara sola en el sistema.
44
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

Estructura del Sistema

Cada localidad del sistema contiene 2 subsistemas :

A)Manejador de transacciones. Este se encarga de :
1. Mantener una bitcora para la recuperacin

2. Participar en un esquema de control de concurrencia apropiado para
coordinar la ejecucin en paralelo de las transacciones que se
ejecuten en esa localidad.

B)Coordinador de transaccin. Para cada una de estas transacciones el
coordinador debe :
1. Iniciar la ejecucin de la transaccin
2. Distribuir la transaccin en las localidades adecuadas
3. Asegurar la terminacin de la transaccin.


Vigor del Sistema

En forma adicional en una configuracin distribuida es necesario prever
otros tipos de fallas como puede ser :

1. La falla total de una localidad
2. La interrupcin de una lnea de comunicacin
3. Perdida de mensajes.
45
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

Protocolo de Comisin de Transacciones (2 fases)


Fase 1 : Iniciar la transaccin

El coordinador enva un mensaje de preparacin a cada una de las
localidades involucradas.
Recibe una respuesta de cada una de las localidades involucradas
Si todas las localidades contestan Li < T Lista >. Quiere decir que se
puede ejecutar dicha transaccin, procediendo entonces el coordinador a
enviar el siguiente mensaje < Cometer T >.
Con solo una de las localidades involucradas que conteste que no est
lista ( Li < no T > ), el coordinador enviar el siguiente mensaje a todas las
localidades < Abortar T >.


Fase 2 :

Cuando todas las localidades hayan respondido < T cometida > o < T
abortada > termina la funcin del coordinador.
En el caso de una falla si la recuperacin es inmediata la localidad en
cuestin debe de leer su bitcora buscando una instruccin cometer, abortar o
realizar las siguientes acciones :

A)Encontr un registro < Cometer T >, entonces determina realizar un
rehacer ( REDO (T)), y al terminar contesta <T Cometida>.
B)Encuentra un registro < Abortar T >, entonces realiza un deshacer
(undo (T)), cuando termina contesta < T Abortada >.
C)Encuentra un registro < T lista >, consulta al coordinador el cual le
indicara que opcin hacer.
46
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.

Falla del Coordinador

1. Con al menos una localidad que contenga el registro < no T > o <abortar
T>,realizar un deshacer la transaccin.
2. Si al menos alguna de las localidades contiene el registro < cometer T >
entonces realiza un rehacer, se revisan entre las mismas localidades.


Falla de una Lnea de Comunicacin.

En este caso la localidad queda fuera, el coordinador observar a la
localidad que perdi la comunicacin simplemente como un servidor que fall
y todos los procedimientos descritos se aplican.



Control de Concurrencia

A)Enfoque de coordinador nico
En este enfoque se prohibe que cualquier localidad solicite
bloqueo de registros o ella misma los haga sin avisar al coordinador.



Ventajas

1. Sencillo de implementar.
2. Fcil manejo de paralizaciones (bloqueos muertos).
47
Instituto Tecnolgico de la Laguna Base de Datos II Academia de Sistemas y Computacin.


Desventajas.

1. Vulnerabilidad
2. Cuellos de botella

B) Enfoque de mayora
Bajo este esquema cada localidad aplica los candados que necesita para
sus actualizaciones. Debido a lo anterior si se puede tener bloqueos
circulares y consecuentemente no ser sencillo controlar las
paralizaciones. Cuando hay poca redundancia de informacin se puede
pensar en este esquema.

C) Copia primaria
Existen copias o respaldos en todas las localidades (alta redundancia) ;
de todas las copias se debe definir una copia primaria, y cuando alguien
requiera un candado de registro deber hacerlo sobre la mencionada
copia primaria.


Administracin de una Base de Datos Distribuida.


Actividades tpicas : desarrollo, mantenimiento y control.

Actividades especificas :
A) Polticas de acceso a la base de datos.
B) Grado de autonoma de los sitios

Catlogos para administrar una base de datos

1. Descripcin del esquema global.
2. Descripcin de la fragmentacin.
3. Descripcin de localizaciones.
4. Mapeo a nombres locales.
5. Mtodos de acceso.
6. Estadsticas sobre la base de datos.
7. Proteccin y seguridad.


48

También podría gustarte