Sistemas de Datos

Anuncio
Sistemas de Datos
Bases de Datos Distribuidas
Bases de Datos Distribuidas
Sistemas de Datos
Contexto
SUCURSAL
EE.UU.
CONEXIÓN
CASA CENTRAL
ARGENTIANA
SUCURSAL
RUSIA
SUCURSAL
AUSTRALIA
Bases de Datos Distribuidas
Sistemas de Datos
Centralizado
SUCURSAL
EE.UU.
BD CENTRAL ARGENTINA
SUCURSAL
RUSIA
SUCURSAL
AUSTRALIA
Bases de Datos Distribuidas
Sistemas de Datos
Descentralizado – Acceso Compartido
BD
EE.UU.
LINK BD
BD
RUSIA
BD
K
LIN
BD
ARGENTINA
BD
AUSTRALIA
Bases de Datos Distribuidas
Sistemas de Datos
Descentralizado – XML
WEB
BD
EE.UU. SERVICE
<XML>
WEB
BD
SERVICE RUSIA
<XML>
<XML>
BD
ARGENTINA
BD
AUSTRALIA
Bases de Datos Distribuidas
Sistemas de Datos
Descentralizado - Datawarehouse
BD
EE.UU.
UBICADO EN
ARGENTINA
BD
RUSIA
DATAWAREHOUSE
Productos
con mayor
BD
ARGENTINA demanda.
Resultado
Operativo
Global.
BD
AUSTRALIA
Bases de Datos Distribuidas
Sistemas de Datos
Descentralizado - Distribuido
UNIDAD LÓGICA
BD LOCAL
EE.UU.
BD LOCAL
ARGENTINA
BD LOCAL
RUSIA
BD LOCAL
AUSTRALIA
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Componentes
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Componentes
SITIO
CADA UNA DE LAS COMPUTADORAS QUE
FORMAN PARTE DEL SISTEMA
DISTRIBUIDO.
BD LOCAL
BASE DE DATOS RESIDENTE EN CADA
SITIO.
GESTOR
TRANSACCIONES
GESTIONA LA EJECUCIÓN DE LAS
TRANSACCIONES QUE ACCEDEN A LOS
DATOS ALMACENADOS EN UN SITIO.
RED
PROPORCIONA LA COMUNICACIÓN ENTRE
LOS SITIOS.
COORDINADOR
COORDINA LA EJECUCIÓN DE LAS
DIFERENTES TRANSACCIONES (LOCALES O
GLOBALES) INICIADAS EN EL SITIO.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Fallos
FALLO
CAIDA DE
UN SITIO
MOTIVO
Problemas relacionados
con el hardware o
software del sitio.
PÉRDIDA
DEL ENLACE
Problemas relacionados
con las comunicaciones
hacen que se pierda la
conexión a un sitio.
PÉRDIDA DE
MENSAJES
Pérdida de paquetes
transmitidos a través de
la red.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Almacenamiento
CLIENTE
NOMBRE
PAIS
CIUDAD
12
Carbajal Adolfo
Argentina
Bs. As.
18
Álvarez Beatriz
Argentina
Catamarca
25
Derek Dylan
Australia
Sydney
COPIA 11
COPIA
RÉPLICA
BD LOCAL
ARGENTINA
COPIA 22
COPIA
COPIA 33
COPIA
BD LOCAL
AUSTRALIA
BD LOCAL
EE.UU.
TABLA
CLIENTE
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Almacenamiento
CLIENTE
NOMBRE
PAIS
CIUDAD
12
Carbajal Adolfo
Argentina
Bs. As.
18
Álvarez Beatriz
Argentina
Catamarca
25
Derek Dylan
Australia
Sydney
TABLA
CLIENTE
RÉPLICA FRAGMENTACIÓN
FRAGMENTACIÓN
HORIZONTAL
REGISTRO 11
REGISTRO
COPIA 1
COPIA 2
BD LOCAL
ARGENTINA
REGISTRO 22 YY 33
REGISTRO
COPIA 2
COPIA 1
BD LOCAL
EE.UU.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Almacenamiento
CLIENTE
NOMBRE
PAIS
CIUDAD
12
Carbajal Adolfo
Argentina
Bs. As.
18
Álvarez Beatriz
Argentina
Catamarca
25
Derek Dylan
Australia
Sydney
TABLA
CLIENTE
RÉPLICA FRAGMENTACIÓN
FRAGMENTACIÓN
VERTICAL
CLIENTE –– NOMBRE
NOMBRE -- PAIS
PAIS
CLIENTE
COPIA 1
COPIA 2
BD LOCAL
ARGENTINA
CLIENTE –– CIUDAD
CIUDAD
CLIENTE
COPIA 2
COPIA 1
BD LOCAL
EE.UU.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Almacenamiento
FRAGEMTACIÓN
Un buen criterio de fragmentación ayuda
a reducir el tráfico de red.
RÉPLICA
Mejora las Operaciones de Lectura
Desmejora las Operaciones de Escritura
TRANSPARENCIA
Para el usuario el dato es uno. NO
tiene porque conocer si el mismo
fue fragmentado o replicado.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Almacenamiento
(Ventajas / Desventajas)
DISPONIBILIDAD
Si se cae un sitio entonces el dato se
puede encontrar en otro.
PARALELISMO
Mejora el rendimiento de las consultas.
SOBRECARGA
Mayor esfuerzo en la actualización.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Transacción
Gestor de
Transacciones
Mantenimiento de un registro histórico con
fines de recuperación.
Control de la concurrencia en el sitio.
Inicio de la ejecución de la transacción.
Coordinador de
Transacciones
División de la transacción en subtransacciones y distribución a los sitios.
Coordinación de la terminación de la
transacción (Comprometer o Abortar).
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Transacción
EJEMPLO
Un cliente se presenta en la sucursal La Plata del
Banco HSBC y desea realizar dos operaciones.
A) Un depósito en la cuenta que posee en esta
sucursal.
B) Un depósito en la cuenta que posee en la
sucursal Andorra de España.
¿Cómo se procesan ambas transacciones?
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Transacción
DEPÓSITO CUENTA SUCURSAL LA
PLATA
SITIO LA PLATA
BD
GT
CT
CONSULTA CUENTA Y ACTUALIZA SALDO
Cajera Sucursal
La Plata
Los datos se encuentran en la base de datos del sitio La
Plata, lo cual no genera la necesidad de acceder a datos
contenidos en otro sitio. Por lo que se trata de una
transacción denominada “LOCAL”.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Transacción
DEPÓSITO CUENTA SUCURSAL ANDORRA
SITIO LA PLATA
BD
GT
CT
CONSULTA CUENTA Y ACTUALIZA SALDO
El coordinador del sitio La
Plata se conecta con el
Gestor del sitio Andorra.
BD
GT
CT
SITIO ANDORRA
Cajera Sucursal
La Plata
Los datos NO se encuentran en la base de datos
del sitio La Plata, lo que genera la necesidad de
acceder a los datos del sitio Andorra. Por lo que se
trata de una transacción denominada “GLOBAL”.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Transacción
PROTOCOLO DE
COMPROMISO
Garantiza la propiedad de consistencia, ya
que en todos los sitios en los cuales
se ejecuta una transacción la misma se
comprometerá o abortará.
Dos fases (C2F): Es uno de los más sencillos
y más utilizado en bases distribuidas.
Tres fases (C3F): Variante del C2F, evita
ciertos inconvenientes del C2F pero añade
complejidad y sobrecarga.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Transacción
PROTOCOLO DE 2 FASES (C2F)
FASE
1
(VOTACIÓN)
SITIO 1
1. CT: Añade <T preparar>
a su archivo de registro
histórico.
2. Envía <Preparar T>
5. CT: Añade <T Comprometida>
o <T Abortada > a su registro
2
histórico.
(ACUER- 6. Envía <Comprometer T> o
DO)
<Abortar T>
SITIO 2
3. GT: Añade <T Preparada> o <No T>
a su archivo de registro histórico.
4. Contesta <T Preparada> o
<Abortar T>
7.GT: <Compromete T> o <Aborta T>,
actualiza su registro histórico y su
cache de datos.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Transacción
PROTOCOLO DE 2 FASES (C2F) - FALLOS
SITIO 1
D
E
U
N
S
I
T
I
O
1. CT: Envía <Preparar T>
3. CT: Envía <Abortar T>
SITIO 2
SITIO 2
4. Al recuperarse el GT revisa su
registro histórico para confirmar o
abortar las transacciones pendientes.
1.CT: Envía <Preparar T>
SITIO 2
3. CT: Envía <Comprometer T>
o <Abortar T>
2. Falla el sitio antes de
contestar <T Preparada>
o <Abortar T>
2. Falla el sitio después de
contestar <T Preparada>
o <Abortar T>
4. Al recuperarse el GT revisa su
registro histórico para confirmar o
abortar las transacciones pendientes.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Transacción
PROTOCOLO DE 2 FASES (C2F) - FALLOS
D
E
L
C
O
O
R
D
I
N
A
D
O
R
SITIO 1
SITIO 1
1. Falla el sitio antes
de enviar <Preparar
T>
1. CT: Envía <Preparar T>
SITIO 1
SITIO 2
3. Falla el sitio antes de
enviar <Comprometer
T> o <Abortar T>
2. GT: Contesta <T Preparada>
o <Abortar T>
4. GT: Decide si Compromete o
Aborta T. De no poder decidir
entonces se debe esperar a que
se recupere el coordinador para
finalizar T.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Concurrencia
GESTOR DE
BLOQUEO ÚNICO
GESTOR DE
BLOQUEO
DISTRIBUIDO
Ventajas:
Sencilla Implementación.
Sencillo tratamiento de los interbloqueos.
Desventajas:
Cuellos de botella en el sitio que actúa de
gestor.
Es vulnerable, ya que si se cae el sitio se
pierde el control de concurrencia.
Ventajas:
Sencilla Implementación.
Reducción de los cuellos de botella.
Si se cae un sitio no se pierde el control de
concurrencia.
Desventajas:
Complejo tratamiento de los interbloqueos,
ya que se el bloqueo ahora no se realiza en
un único sitio.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Concurrencia
PROTOCOLO DE
COPIA PRINCIPAL
Se elige una copia que se almacena en un
sitio denominado Sitio Principal y los bloqueos
se realizan contra este sitio.
Si se cae el sitio principal el dato queda
inaccesible.
PROTOCOLO DE
MAYORÍA
Se solicita la petición de bloqueo como
mínimo a la mitad + 1 de los n sitios que
contienen el dato a bloquear.
Implementación Compleja, ya que se necesita
una mayor cantidad de mensajes para
gestionar las peticiones de
bloqueo/desbloqueo.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Ventajas
DATOS COMPARTIDOS
AUTONOMÍA
Se accede a los datos contenidos en
cualquier sitio.
Cada sitio es responsable del control de los datos
almacenado en él.
DISPONIBILIDAD
Ante un fallo en un sitio los restantes continúan
operativos.
PERFORMANCE
CONSULTAS
Paralelización de Operaciones.
Acceso a datos en forma local.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido - Desventajas
COORDINACIÓN
COMPLEJA
Gestión de transacciones, bloqueos e
interbloqueos más complejos que
un ambiente centralizado.
MAYOR COSTO
DE DESARROLLO
Las aplicaciones requieren de mayor
complejidad para su implementación en un
ambiente distribuido.
FALLOS
Recuperación del sistema ante fallos más
complejo que en un ambiente Centralizado.
SOBRECARGA DE
PROCESAMIENTO
La coordinación de los sitios requiere un
intercambio mayor de mensajes a través de la
red.
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido – Variante Réplica
RÉPLICA MAESTRO-ESCLAVO
SITIO 1
(MAESTRO)
(ESCLAVO)
INSERT INTO
CLIENTE (id_cliente,
nombre) VALUES
(1234, ‘Luis Alvarez’)
Actualización
BD Principal
SITIO 3
SITIO 2
UPDATE CLIENTE
SET nombre =
‘Luis G. Alvarez’
WHERE id_cliente
= 1234
(ESCLAVO)
SELECT *
FROM CLIENTE
i ón
c
a
z
i
l
Actua ncipal
ri
BD P
Replicación
Sincrónica/
Asincrónica
Replicación
Sincrónica /Asincrónica
Lee los
datos de la
base local
Bases de Datos Distribuidas
Sistemas de Datos
Distribuido – Variante Réplica
RÉPLICA MULTI-MAESTRO
SITIO 1
INSERT INTO
CLIENTE (id_cliente,
nombre) VALUES
(1234, ‘Luis Alvarez’)
SITIO 2
UPDATE CLIENTE
SET nombre =
‘Luis G. Alvarez’
WHERE id_cliente
= 1234
SITIO 3
SELECT *
FROM CLIENTE
Lee los
datos de la
base local
Actualización
Actualización
BD Local
BD Local
Replicación Sincrónica/
Replicación
Asincrónica
Sincrónica/
Replicación
Asincrónica
Sincrónica/Asincrónica
Replicación Sincrónica/
Asincrónica
Descargar