Académique Documents
Professionnel Documents
Culture Documents
1
BD Distribuidas- Prof. Jorge Escalona. 2015
Agenda
1. Conceptos de BD Distribuidas
a) BD Distribuidas y Sistemas Distribuidos de BD
b) SGBD Distribuidos
c) Niveles de Transparencia de BD Distribuidas
d) Ventajas de una BD Distribuida
e) Funciones adicionales de un SGBD Distribuido
2. Tcnicas de Diseo de BD Distribuidas
3. Tipos de BD Distribuidas
4. Procesamiento de Consultas en BD Distribuidas
5. Control de Concurrencia y Recuperacin
6. Caso de Estudio: BD Distribuidas en PostgreSQL
2
BD Distribuidas- Prof. Jorge Escalona. 2015
Conceptos de BD Distribuidas
3
BD Distribuidas- Prof. Jorge Escalona. 2015
Conceptos de BD Distribuidas
Sitio 1
SGBD
Distribuido Sitio 3
SGBD
Distribuido
Sitio 2
SGBD
Distribuido
4
BD Distribuidas- Prof. Jorge Escalona. 2015
Conceptos de BD Distribuidas
6
BD Distribuidas- Prof. Jorge Escalona. 2015
Conceptos de BD Distribuidas
7
BD Distribuidas- Prof. Jorge Escalona. 2015
Conceptos de BD Distribuidas
8
BD Distribuidas- Prof. Jorge Escalona. 2015
Agenda
1. Conceptos de BD Distribuidas
2. Tcnicas de Diseo de BD Distribuidas
a) Fragmentacin, Asignacin y Replicacin de Datos
b) Tipos de Fragmentacin
c) Tipos de Replicacin y Asignacin de Datos
3. Tipos de BD Distribuidas
4. Procesamiento de Consultas en BD Distribuidas
5. Control de Concurrencia y Recuperacin
6. Caso de Estudio: BD Distribuidas en PostgreSQL
9
BD Distribuidas- Prof. Jorge Escalona. 2015
Tcnicas de Diseo de BD Distribuidas
10
BD Distribuidas- Prof. Jorge Escalona. 2015
Tcnicas de Diseo de BD Distribuidas
Tipos de Fragmentacin:
Fragmentacin por Relacin: las unidades lgicas o
fragmentos distribuidos estn compuestos por relaciones
completas de la bd.
Empleados Departamentos
Departamentos Ediciones
Sedes Participantes
Cursos
Sede
Prelaciones
Ediciones Externa 1
Participantes
Sede Red
Principal
Departamentos
Ediciones
Participantes
Sede
Externa 2
13
BD Distribuidas- Prof. Jorge Escalona. 2015
Tcnicas de Diseo de BD Distribuidas
Empleados Empleados
(cod_sede = 000) (cod_sede = 100)
Ediciones Ediciones
(cod_sede = 000) (cod_sede = 100)
Sede
Externa 1
Sede Red
Principal
Empleados
(cod_sede = 200)
Ediciones
(cod_sede = 200)
: operador de seleccin Sede
Externa 2
14
BD Distribuidas- Prof. Jorge Escalona. 2015
Tcnicas de Diseo de BD Distribuidas
Empleados Empleados
Ediciones (ficha, nombre,
cod_dpto)
Ediciones
Sede
Externa 1
Sede Red
Principal
Empleados
(ficha, nombre,
cod_dpto)
Ediciones
Sede
: operador de proyeccin Externa 2
15
BD Distribuidas- Prof. Jorge Escalona. 2015
Tcnicas de Diseo de BD Distribuidas
Empleados Empleados
Ediciones (ficha, nombre,
cod_dpto)
(cod_sede=100)
Ediciones
Sede
Externa 1
Sede Red
Principal
Empleados
(ficha, nombre,
cod_dpto)
(cod_sede=200)
Ediciones
Sede
Externa 2
16
BD Distribuidas- Prof. Jorge Escalona. 2015
Tcnicas de Diseo de BD Distribuidas
17
BD Distribuidas- Prof. Jorge Escalona. 2015
Tcnicas de Diseo de BD Distribuidas
18
BD Distribuidas- Prof. Jorge Escalona. 2015
Agenda
1. Conceptos de BD Distribuidas
2. Tcnicas de Diseo de BD Distribuidas
3. Tipos de BD Distribuidas
a) SBD Distribuidas Homogneos
b) SBD Distribuidas Heterogneos
c) SBD Distribuidas Federados
4. Procesamiento de Consultas en BD Distribuidas
5. Control de Concurrencia y Recuperacin
6. Caso de Estudio: BD Distribuidas en PostgreSQL
19
BD Distribuidas- Prof. Jorge Escalona. 2015
Tipos de Sistemas de BD Distribuidas
PostgreSQL PostgreSQL
Sitio 1 Sitio 3
(Linux) (Windows)
Red
PostgreSQL PostgreSQL
Sitio 2 Sitio 4
(Linux) (Unix)
20
BD Distribuidas- Prof. Jorge Escalona. 2015
Tipos de Sistemas de BD Distribuidas
PostgreSQL Oracle
Sitio 1 Sitio 3
(Linux) (Windows)
Red
Sitio 2 Sitio 4
(Linux) (Unix)
21
BD Distribuidas- Prof. Jorge Escalona. 2015
Tipos de Sistemas de BD Distribuidas
22
BD Distribuidas- Prof. Jorge Escalona. 2015
Tipos de Sistemas de BD Distribuidas
23
BD Distribuidas- Prof. Jorge Escalona. 2015
Agenda
1. Conceptos de BD Distribuidas
2. Tcnicas de Diseo de BD Distribuidas
3. Tipos de BD Distribuidas
4. Procesamiento de Consultas en BD Distribuidas
a) Costo de Transferencia
b) Optimizacin de Consultas
5. Control de Concurrencia y Recuperacin
6. Caso de Estudio: BD Distribuidas en PostgreSQL
24
BD Distribuidas- Prof. Jorge Escalona. 2015
Procesamiento de Consultas en BD Distribuidas
Sitio 2
Sitio 1
Empleado en Sitio 1 tiene 1000 filas Departamento en Sitio 2 tiene 100 filas
Cada fila tiene 192 bytes Cada fila tiene 131 bytes
Tamao de la tabla: 192.000 bytes Tamao de la tabla: 13.100 bytes
25
BD Distribuidas- Prof. Jorge Escalona. 2015
Procesamiento de Consultas en BD Distribuidas
Ejemplo 1:
Resultado:
El resultado de esta consulta tendr 1.000 filas, asumiendo que
cada empleado est asociado a un departamento.
Cada fila resultante es de 205 bytes de longitud.
Tamao de datos resultantes: 205.000 bytes
Problema:Las relaciones empleados y departamentos no estn
presentes en el sitio 3.
26
BD Distribuidas- Prof. Jorge Escalona. 2015
Procesamiento de Consultas en BD Distribuidas
Estrategias:
27
BD Distribuidas- Prof. Jorge Escalona. 2015
Procesamiento de Consultas en BD Distribuidas
Ejemplo 2:
Resultado:
El resultado de esta consulta tendr 100 filas, asumiendo que
cada departamento tiene un empleado de jefe.
Cada fila resultante es de 206 bytes de longitud.
Tamao de datos resultantes: 20.600 bytes
Problema:Las relaciones empleados y departamentos no estn
presentes en el sitio 3.
28
BD Distribuidas- Prof. Jorge Escalona. 2015
Procesamiento de Consultas en BD Distribuidas
Estrategias:
29
BD Distribuidas- Prof. Jorge Escalona. 2015
Agenda
1. Conceptos de BD Distribuidas
2. Tcnicas de Diseo de BD Distribuidas
3. Tipos de BD Distribuidas
4. Procesamiento de Consultas en BD Distribuidas
5. Control de Concurrencia y Recuperacin
a) Problemas de Concurrencia y Recuperacin en SBDD
b) Control Concurrencia Distribuida basado en Sitio Primario
c) Control Concurrencia Distribuida basado en Votacin
6. Caso de Estudio: BD Distribuidas en PostgreSQL
30
BD Distribuidas- Prof. Jorge Escalona. 2015
Control de Concurrencia y Recuperacin
32
BD Distribuidas- Prof. Jorge Escalona. 2015
Control de Concurrencia y Recuperacin
33
BD Distribuidas- Prof. Jorge Escalona. 2015
Agenda
1. Conceptos de BD Distribuidas
2. Tcnicas de Diseo de BD Distribuidas
3. Tipos de BD Distribuidas
4. Procesamiento de Consultas en BD Distribuidas
5. Control de Concurrencia y Recuperacin
6. Caso de Estudio: Replicacin en PostgreSQL
34
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Espacio de Posibilidades
Objetivos
Qu se quiere lograr?
Tcnicas
Cmo puede ser implementado?
Soluciones
Que herramientas estn disponibles?
35
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Objetivos
Alta Disponibilidad
Previsiones para posibles fallas del sistema (software, hardware,
interfaces externas).
Optimizacin
Lectura (aplicaciones con procesos masivos de lectura: sistema de
biblioteca, datawarehouse)
Escritura (aplicaciones con procesos masivos de escritura: sistemas
transaccionales,)
36
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Tcnicas
Replicacin
Maestro/Esclavo vs Maestro/Maestro
Sncrono vs Asncrono
Servidor Proxy
37
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Optimizacin de Lectura
Balanceo de Carga
Nodos desconectados
Sincronizacin unidireccional
Sincronizacin bidireccional Asncrono
Maestro Esclavo
38
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Alta Disponibilidad
sncrono
Maestro Esclavo
39
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Nodos distantes
geogrficamente
Optimizacin de Lectura
Requiere mecanismos de
resolucin de conflictos
40
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Difcil Implementacin
(Santo Grial de Replicacin!)
Alta Disponibilidad
Optimizacin de Lectura
41
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Alta Disponibilidad
Optimizacin de Lectura
Transparente a la aplicacin
adicional
Nodo A Nodo B
42
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Alta Disponibilidad
Costo de Servidores
Adicionales
sncrono
Servidor Servidor
Principal en Espera
43
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Herramientas de Replicacin
Shared Storage
Slony-I
Bucardo
pgpool
pgCluster
44
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
45
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Streaming Replication
47
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Slony-I
Cada operacin DML sobre la bd
principal genera un trigger con la
informacin del cambio, la cual es
enviada a una bd esclava.
Se genera sobrecarga en el
servidor principal.
Los esclavos pueden procesar
consultas. Asncrono
Bucardo
49
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
pgpool
50
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
pgpool II
replica
replica
51
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL
Sumario
Fuente: http://www.postgresql.org/docs/9.4/static/different-replication-solutions.html
52
BD Distribuidas- Prof. Jorge Escalona. 2015
Referencias