Está en la página 1de 15

Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

UNIDAD V
BASES DE DATOS DISTRIBUIDAS

Base de Datos Distribuida en Red

Varias computadoras

Sistema Multiprocesadores

Una sola computadora con 3 discos

La información debe estar lo mas cerca posible de su usuario principal

34
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Mejora las comunicaciones y el rendimiento. La información se


encuentra en segmentos en distintos servidores. Segmentos de la base de datos
en diferentes medios de almacenamiento.

Principales Características 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) Autonomía del sitio : Se refiere a la libertad con que opere cada


administración local (facultades que pueda tener).

4) Distribución transparente : Cuando se realiza la distribución 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
debería implicar la misma dificultad desarrollar una aplicación 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 información, en los sistemas
distribuidos puede resultar conveniente en muchos casos duplicar la
información 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 demás ciudades.

6) Estructura física compleja y acceso eficiente : Dado que los datos pueden
estar fragmentados se torna mas complejo llevar el control de dichas

35
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

distribuciones, así como de los procesos de actualización. El beneficio de


lo anterior consiste en que se mejora notablemente el acceso de la
información.

¿Por qué base de datos distribuida ?

1) Razones organizacionales y/o económicas.


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 típico 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 tecnología de las redes la única opción que
tenían las empresas era desarrollar sus aplicaciones bajo esquemas de grandes
y costosos mainframes, que por su naturaleza no consideraban la opción de
distribuir la base de datos. Fue mas fácil para las empresas crecer
gradualmente lo que fue provocando que las base de datos se fueran
distribuyendo.

2) Optimización de las comunicaciones

36
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Independientemente del tipo de instalación o cableado de que se trate (par


trenzado o coaxial), así como de la topología 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 número 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 planeación 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 información 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 típico

Los servicios soportados por un sistema típicos son :

1) Acceso remoto
2) Algún grado de transparencia en la distribución
3) Administración y control
3.1) Herramientas de monitoreo de la base de datos global
3.2) Información de los enlaces
3.3) Utilización de las base de datos
3.4) Información global de los datos existentes en los diferentes sitios
4) Recuperación y concurrencia : deben soportar control de concurrencia y
recuperación de transacciones distribuidas.

37
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Niveles de Transparencia en la distribución.


Arquitectura de referencia

38
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Diagrama de Fragmentación

Convenciones

1) Ri indica el i-esimo fragmento de la relación global R.


2) Para distinguir los fragmentos de cada sitio utilizamos superíndices. Rij
representa el i-esimo fragmento de la relación global R en el sitio j.

La fragmentación se realiza en forma o manera lógica, no se hace en


base a cada sitio, para permitirnos integrar los fragmentos fácilmente.

39
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Fragmentación Horizontal

Como ejemplo a considerar, un catalogo de proveedores de algunas


ciudades. Considerar la siguiente estructura y las características de proveedor
y almacén :

CATALOGO[NumParte, Descripción, Existencia, Costo, Proveedor]

Proveedores : Guadalajara y Monterrey


Almacenes : Monterrey y Torreón

CAT1 = SLproveedor = Guad Catalogo


CAT2 = SLproveedor = 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 Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Fragmentación Vertical.

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

EMP1 = PJ NumEmp, Nombre, RFC, EMPLEADO


EMP2 = PJ NumEmp, Nombre, Salario, Impuesto EMPLEADO

EMPLEADO

1 David Román 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 Román ROD999999
2 Dafne Castro CAD000000
3 Hilda Garza GAH000000

EMP2
1 David Román $ 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 información en los atributos comunes, y el resto lo
eliminamos.
C) Eliminar las columnas duplicadas.

41
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Transparencia de la fragmentación (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 Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

(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 vía acceso primario

43
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Acceso remoto vía un programa auxiliar

Recuperación de un Sistema Distribuido

Una transacción debe ejecutarse en forma atómica, es decir o se


ejecutan todas las instrucciones de la transacción o no se ejecuta ninguna.
En el caso de ejecución concurrente el efecto de ejecutar una
transacción debe de ser el mismo que si se ejecutara sola en el sistema.

44
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Estructura del Sistema

Cada localidad del sistema contiene 2 subsistemas :

A)Manejador de transacciones. Este se encarga de :


1. Mantener una bitácora para la recuperación

2. Participar en un esquema de control de concurrencia apropiado para


coordinar la ejecución en paralelo de las transacciones que se
ejecuten en esa localidad.

B)Coordinador de transacción. Para cada una de estas transacciones el


coordinador debe :
1. Iniciar la ejecución de la transacción
2. Distribuir la transacción en las localidades adecuadas
3. Asegurar la terminación de la transacción.

Vigor del Sistema

En forma adicional en una configuración distribuida es necesario prever


otros tipos de fallas como puede ser :

1. La falla total de una localidad


2. La interrupción de una línea de comunicación
3. Perdida de mensajes.

45
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Protocolo de Comisión de Transacciones (2 fases)

Fase 1 : Iniciar la transacción

El coordinador envía un mensaje de preparación 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 transacción, 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 función del coordinador.
En el caso de una falla si la recuperación es inmediata la localidad en
cuestión debe de leer su bitácora buscando una instrucción 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 opción hacer.

46
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Falla del Coordinador

1. Con al menos una localidad que contenga el registro < no T > o <abortar
T>,realizará un deshacer la transacción.
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 Línea de Comunicación.

En este caso la localidad queda fuera, el coordinador observará a la


localidad que perdió la comunicación 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. Fácil manejo de paralizaciones (bloqueos muertos).

47
Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación.

Desventajas.

1. Vulnerabilidad
2. Cuellos de botella

B) Enfoque de mayoría
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 información 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.

Administración de una Base de Datos Distribuida.

Actividades típicas : desarrollo, mantenimiento y control.

Actividades especificas :
A) Políticas de acceso a la base de datos.
B) Grado de autonomía de los sitios

Catálogos para administrar una base de datos

1. Descripción del esquema global.


2. Descripción de la fragmentación.
3. Descripción de localizaciones.
4. Mapeo a nombres locales.
5. Métodos de acceso.
6. Estadísticas sobre la base de datos.
7. Protección y seguridad.

48

También podría gustarte