Base de Datos Distribuidas - Instituto Tecnólogico de La Laguna

Anuncio
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
Niveles de Transparencia en la distribución.
Arquitectura de referencia
38
Academia de Sistemas y Computación.
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
B
R
S
Pieza A
Pieza B
.
.
.
Pieza R
Pieza S
.
.
.
100
75
20
40
Defragmentar :
CATALOGO = CAT1 un CAT2
40
$
$
$
$
50.00 Guadalajara
100.00 Guadalajara
.
.
.
500.00 Monterrey
80.00 Monterrey
.
.
.
CAT1
CAT2
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,
EMP2 = PJ NumEmp,
Nombre, RFC, EMPLEADO
Nombre, Salario, Impuesto EMPLEADO
EMPLEADO
1 David Román ROD999999
2 Dafne Castro CAD000000
3 Hilda Garza
GAH000000
$ 5,000.00
$ 6,000.00
$ 6,000.00
$
$
$
450.00
700.00
700.00
EMP1
1 David Román
2 Dafne Castro
3 Hilda Garza
ROD999999
CAD000000
GAH000000
1 David Román
2 Dafne Castro
3 Hilda Garza
$ 5,000.00
$ 6,000.00
$ 6,000.00
EMP2
$
$
$
450.00
700.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
(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
Academia de Sistemas y Computación.
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
Descargar