You are on page 1of 53

Bases de Datos Distribuidas

Profesor: Jorge Escalona


Email:escaljorge@gmail.com

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

Coleccin de mltiples bases de datos


BD Distribuida: distribuidas interrelacionadas de forma
lgica sobre una red de computadores.
(Elmasri, 2007)

Sistema Conjunto de varias bds almacenadas en


Distribuido diferentes computadoras conectadas a
de BD: travs de algn medio de comunicacin.
(Silberschtaz, 2002)

3
BD Distribuidas- Prof. Jorge Escalona. 2015
Conceptos de BD Distribuidas

SGBD SGBD que administra la distribucin en forma


Distribuido: transparente para el usuario. (Elmasri, 2007)

Sitio 1

SGBD
Distribuido Sitio 3

SGBD
Distribuido

Sitio 2

SGBD
Distribuido

4
BD Distribuidas- Prof. Jorge Escalona. 2015
Conceptos de BD Distribuidas

Niveles de Transparencia de BD Distribuidos:

Transparencia de Red o Distribucin: Autonoma del usuario


de los detalles operacionales de la red.

 Transparencia de Replicacin: Vista nica de los datos a los


usuarios independientemente de las distintas copias que
puedan existir.

 Transparencia de Fragmentacin: Agrupacin de consultas o


transacciones de diferentes fragmentos en una sola
operacin.

Transparencia de Diseo y Ejecucin: Libertad de saber


cmo est diseada la base de datos distribuida y dnde se
ejecuta una transaccin
5
BD Distribuidas- Prof. Jorge Escalona. 2015
Conceptos de BD Distribuidas

Ventajas de una BD Distribuida:

 Fiabilidad: Menor probabilidad de que el sistema est cado


(no funcionando) durante un intervalo de tiempo.

 Disponibilidad: Mayor probabilidad de que el sistema est


continuamente disponible en un intervalo de tiempo.

 Rendimiento: Mejor rendimiento en consultas y


transacciones locales al manejar un menor volumen de datos
en cada sitio.

 Escalabilidad: Mayor capacidad de crecimiento de datos,


servidores o nuevos sitios distribuidos.

6
BD Distribuidas- Prof. Jorge Escalona. 2015
Conceptos de BD Distribuidas

Desventajas de una BD Distribuida:


Costo de desarrollo del software: La implementacin de un
sistema distribuido de bases de datos es ms difcil y, por lo
tanto, ms costoso.
Mayor probabilidad de errores: Como los sitios que
constituyen el sistema distribuido operan en paralelo es ms
difcil asegurarse de la correccin de los algoritmos, del
funcionamiento especial durante los fallos de parte del
sistema as como de la recuperacin.
Mayor sobrecarga de procesamiento. El intercambio de
mensajes y el cmputo adicional necesario para conseguir la
coordinacin entre los distintos sitios constituyen una forma
de sobrecarga que no surge en los sistemas centralizados.

7
BD Distribuidas- Prof. Jorge Escalona. 2015
Conceptos de BD Distribuidas

Funciones Adicionales de un SGBD Distribuido:

 Seguimiento de los datos


 Procesamiento de consultas distribuidas
 Procesamiento de transacciones distribuidas
 Administracin de datos replicados
 Recuperacin de bd distribuida
 Seguridad de bd distribuida
 Administracin del directorio (catlogo) distribuido

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

Fragmentacin: el sistema divide una o ms relaciones en


varios fragmentos y guarda cada fragmento en un sitio
diferente.

Replicacin: el sistema conserva rplicas (copias) idnticas


de una o ms relaciones y guarda cada rplica en un sitio
diferente. La alternativa a las rplicas es almacenar slo
una copia de cada relacin.

Asignacin de Datos: directorio global en el cual se


almacena la informacin relativa a la fragmentacin,
asignacin y replicacin de los datos.

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.

Fragmentacin Horizontal: las unidades lgicas o fragmentos


distribuidos estn compuestos por subconjuntos de tuplas
(filas) de una o ms relaciones de la bd.

Fragmentacin Vertical: las unidades lgicas o fragmentos


distribuidos estn compuestos por un subconjunto de
atributos (columnas) de una o ms relaciones de la bd.

Fragmentacin Mixta: cada fragmento distribuido puede


estar compuesto por un subconjunto de tuplas y atributos de
una o ms relaciones de la bd.
11
BD Distribuidas- Prof. Jorge Escalona. 2015
Tcnicas de Diseo de BD Distribuidas

Tipos de Fragmentacin (BD de Ejemplo):

(Un mismo curso puede


dictarse en diferentes
sedes en el mismo
lapso)

(En una misma edicin


pueden participar
empleados de
diferentes sedes) (Un mismo departamento puede estar
ubicado en diferentes sedes)
12
BD Distribuidas- Prof. Jorge Escalona. 2015
Tcnicas de Diseo de BD Distribuidas

Ejemplo Fragmentacin por Relacin:

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

Ejemplo Fragmentacin Horizontal:

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

Ejemplo Fragmentacin Vertical:

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

Ejemplo Fragmentacin Mixta:

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

Tipos de Replicacin y Asignacin de Datos:

Replicacin Total: Asignacin de datos completamente


redundante en cada sitio de la bd distribuida.

Replicacin Parcial: Asignacin de fragmentos de datos


iguales replicados en diferentes sitios de la bd
distribuida.

Sin Replicacin: Cada fragmento de la bd est asignado a


un slo sitio de la bd distribuida. Cada fragmento es
disjunto entre si a excepcin de las PK de las relaciones.

17
BD Distribuidas- Prof. Jorge Escalona. 2015
Tcnicas de Diseo de BD Distribuidas

Sin Replicacin Replicacin Total

(-) Disponibilidad de la bd (+)

(-) Complejidad de Concurrencia y Recuperacin (+)

(-) Optimizacin de Consultas (+)

(+) Optimizacin de Operaciones de Actualizacin (-)

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

Sistemas de BD Distribuidas Homogneos:


Todos los sitios tienen idntico software de SGBDD, son
conscientes de la existencia de los dems sitios y acuerdan
cooperar en el procesamiento de transacciones 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

Sistemas de BD Distribuidas Heterogneos:

Sitios diferentes pueden utilizar diferentes SGBDD, pueden


desconocer la existencia de otros sitios, o pueden tener
limitaciones en la gestin de transacciones distribuidas.

PostgreSQL Oracle

Sitio 1 Sitio 3
(Linux) (Windows)
Red

Informix SQL Server

Sitio 2 Sitio 4
(Linux) (Unix)
21
BD Distribuidas- Prof. Jorge Escalona. 2015
Tipos de Sistemas de BD Distribuidas

Sistemas de BD Distribuidas Federados:

Cada servidor posee un amplio grado de autonoma local,


donde el SGBD es centralizado e independiente, con sus
propios usuarios, transacciones y DBA locales.

El SBD Distribuido se implementa a travs de una vista


global o esquema de la federacin de bases de datos que
est compartida por las aplicaciones.

22
BD Distribuidas- Prof. Jorge Escalona. 2015
Tipos de Sistemas de BD Distribuidas

Problemas en los Sistemas de BD Distribuidas Federados:

Diferencias en los modelos de datos: En cada sitio puede


variar el modelo de datos soportado por el SGBD
(relacionales, OO, jerrquico, red, etc)

Diferencias en las restricciones: Cada sitio pueden tener


sus propias limitaciones para acceder a los datos y a su
procesamiento (claves forneas, disparadores, dominios,
reglas, etc).

Diferencias en el lenguaje de consulta: Algunos sitios


pueden utilizar SQL nativo, otros pueden utilizar SQL-89,
algunos pueden utilizar SQL-92, y as sucesivamente.

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

El costo de la transferencia de datos en la red puede ser


alto por lo que se necesitan estrategias de optimizacin.

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:

Consulta C1: Por cada empleado, buscar la ficha, nombre y el


nombre del departamento donde el empleado trabaja. Mostrar los
resultados en el Sitio 3.
C1: (a.ficha, a.nombre, b.des_dpto) (empleados as a
JOIN(a.cod_dpto = b.cod_dpto) departamentos as b)

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:

1) Transferencia de empleados y departamentos al Sitio 3.


Tamao de Transferencia = 192.000 + 13.100 = 205.100 bytes.
2) Transferencia de empleados(ficha, nombre, cod_dpto) al Sitio 2,
ejecuta JOIN en el Sitio 2 y enva el resultado al Sitio 3.
Tamao de Transferencia = 91.000 + 205.000 = 296.000 bytes
3) Trasferencia de relacin departamento al Sitio 1, ejecuta JOIN en
el Sitio 1, y enva el resultado al Sitio de 3.
Tamao de Transferencia = 13.100 + 205.000 = 218.100 bytes.

Criterio de optimizacin: minimizar la transferencia de datos


Enfoque preferible: Estrategia 1

27
BD Distribuidas- Prof. Jorge Escalona. 2015
Procesamiento de Consultas en BD Distribuidas

Ejemplo 2:

Consulta C2: Por cada departamento, buscar su cdigo, nombre y


el nombre del jefe del departamento. Mostrar los resultados en el
Sitio 3.
C2: (a.cod_dpto, a.des_dpto, b.nombre) (departamentos as a
JOIN(a.jefe_dpto = b.ficha) empleados as b)

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:

1) Transferencia departamentos y empleados al Sitio 3.


Tamao de Transferencia = 13.100 + 192.000 = 215.100 bytes.
2) Transferencia de empleados(ficha, nombre) al Sitio 2, ejecuta
JOIN en el Sitio 2 y enva el resultado al Sitio 3.
Tamao de Transferencia = 85.000 + 20.600 = 105.600 bytes
3) Trasferencia de relacin departamento al Sitio 1, ejecuta JOIN en
el Sitio 1, y enva el resultado al Sitio de 3.
Tamao de Transferencia = 13.100 + 20.600 = 33.700 bytes.

Criterio de optimizacin: minimizar la transferencia de datos


Enfoque preferible: Estrategia ??

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

Problemas de Concurrencia y Recuperacin en SBDD:


Mltiples copias de los datos: se debe mantener la consistencia de
todas las copias distribuidas.
Fallo de los sitios individuales: en caso de ser posible, el SGBDD
debe seguir operando con los sitios que estn en funcionamiento
cuando uno o ms de estos sitios fallan.
Fallo de los enlaces de comunicacin: el sistema debe ser capaz de
tratar con los fallos que se produzcan en los enlaces de comunicacin
que conectan los sitios.
Confirmacin distribuida: se deben gestionar los problemas que
puedan surgir a la hora de confirmar (commit) una transaccin
distribuida en caso de que algn sitio falle.
Estancamiento distribuido: el interbloqueo (deadlock) puede
producirse entre varios sitios, por lo que deben extenderse las
tcnicas para gestionarlo.
31
BD Distribuidas- Prof. Jorge Escalona. 2015
Control de Concurrencia y Recuperacin

Control de Concurrencia Distribuida basado en Sitio Primario:

Tcnica de sitio primario: se designa un nico sitio para que sirva


como coordinador de todos los elementos de la base de datos.
Sitio primario con sitio de respaldo: toda la informacin sobre
bloqueos se mantiene tanto en el sitio primario como en el de
respaldo para que, si falla el primero, el segundo tome el control y se
elija un nuevo sitio de respaldo.
Tcnica de copia primaria: se distribuye la carga de la coordinacin
de bloqueos al disponer de copias diferenciadas de los datos
almacenadas en diferentes sitios.
Eleccin de sitio coordinador emergente: en caso de fallar el sitio
coordinador en cualquiera de las tcnicas anteriores, el que an
permanece activo debe elegir un nuevo coordinador.

32
BD Distribuidas- Prof. Jorge Escalona. 2015
Control de Concurrencia y Recuperacin

Control de Concurrencia Distribuida basado en Votacin:

En este mtodo de control no existe una copia diferenciada en un


sitio primario.
Para gestionar una transaccin, se enva una peticin de bloqueo a
todos los sitios que incluye una muestra del elemento de datos.
Cada sitio mantiene su propio bloqueo y puede otorgar o denegar la
peticin sobre l.
Si una transaccin que solicita un bloqueo recibe el permiso para
ello de una mayora de las copias, se queda con ese bloqueo e
informa a todos los sitios la obtencin del mismo.
En caso de que la transaccin no reciba esa mayora de votos
dentro de un cierto periodo de tiempo (timeout), cancela su
peticin e informa a todos los sitios de la cancelacin.

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,)

Interconexin de Servidores Distantes


Velocidad de conexin
Lectura (copias locales?) vs Escritura (sincronizacin?)

Nodos no conectados (offline peers).


Sincronizacin con laptos, dispositivos mviles..

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

Sistema en espera (standby system)

37
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL

Replicacin Maestro/Esclavo Asncrono

Alta Disponibilidad (?)

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

Replicacin Maestro/Esclavo Sncrono

Alta Disponibilidad

Mejor rendimiento de Lectura

Peor rendimiento de Escritura

sncrono

Maestro Esclavo

39
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL

Replicacin Maestro/Maestro Asncrono

Nodos distantes
geogrficamente

Optimizacin de Lectura

Requiere menor velocidad de


red
asncrono
Manejo de nodos
desconectados Maestro Maestro

Requiere mecanismos de
resolucin de conflictos

40
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL

Replicacin Maestro/Maestro Sncrono

Difcil Implementacin
(Santo Grial de Replicacin!)

Alta Disponibilidad

Optimizacin de Lectura

Difcil de optimizar Escritura sncrono

Requiere mayor velocidad de Maestro Maestro


red

41
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL

Replicacin con Servidor Proxy

Alta Disponibilidad

Optimizacin de Lectura

Transparente a la aplicacin

Puede requerir servidor Proxy

adicional

Nodo A Nodo B

42
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL

Replicacin con Servidor en Espera

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

File System Replication

Streaming Replication (WALs)

Slony-I

Bucardo

pgpool

pgCluster

44
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL

Shared Storage (Almacenamiento Compartido)

Slo una copia de la bd en un


arreglo de discos, el cual es
compartido por varios servidores.
No hay sobrecarga (overhead) por
replicacin.
No hay perdida de datos por falla
de un servidor.
Se puede establecer un servidor
de bd principal y uno o ms
servidores en espera (stand by).
Varias soluciones comerciales:
NAS, iSCSI, Fiberchannel Network-Attached
Storage (NAS)

45
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL

File System Replication

Todos los cambios en el File


System son reflejados (replicado)
en otro File System residente en
otro servidor.
La replicacin del File System
puede ser sncrona o asncrona.
Hay posibilidad de prdida de
datos si la replicacin es
asncrona.
Solo permite dos nodos en modo
activo/pasivo (maestro/esclavo) DRBD
DRBD es la principal solucin para
Linux.
46
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL

Streaming Replication

Se utilizan los logs del WAL para


replicar un servidor maestro en
uno o ms servidores esclavos.
No hay sobrecarga en el servidor
principal.
Los esclavos pueden procesar
consultas.
Write
La sincronizacin puede ser Ahead
Log
sncrona o asncrona. (WAL)
Hay posibilidad de prdida de
datos si la replicacin es
asncrona.

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

Hay posibilidad de prdida de


datos ya que la replicacin es
asncrona.
Granularidad a nivel de tabla
permite la fragmentacin a nivel
de relaciones.
48
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL

Bucardo

Similar a Slony-I (basado en


triggers).
Permite configuracin maestro-
maestro y maestro-esclavo.
Permite la configuracin de reglas
configurables por el usuario para
la resolucin de conflictos.
Asncrono
No est disponible para Windows. Con
Resolucin de
Conflictos

49
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL

pgpool

Middleware con un pool de


conexiones el cual intercepta cada
sentencia SQL y la enva a uno o INSERT,
pgpool
ms servidores. UPDATE,
DELETE SELECT a
Automticamente balancea cargas a todos cualquier
en consultas de lectura. los nodos nodo

Permite ejecucin de consultas


paralelas en todos los nodos.
Puede implementarse como
servidor de conexiones para
Slony.

50
BD Distribuidas- Prof. Jorge Escalona. 2015
Caso de Estudio: Replicacin en PostgreSQL

pgpool II

Agrega mecanismo de streaming


replication (logs del WAL), lo cual
evita el problema de consultas no- INSERT,
pgpool
determinsticas que puedan UPDATE,
generar resultados diferentes en DELETE SELECT a
slo al nodo cualquier
diferentes nodos nodo
maestro

replica

maestro esclavo esclavo

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

 Ramez Elmasri y Shamkant B. Navathe. Sistemas de Bases de Datos.


Conceptos Fundamentales. Quinta Edicin. Addison Wesley
Iberoamricana.

 Abraham Silberschatzs y Henry Korth. Fundamentos de Bases de Datos.


Cuarta Edicin. McGraw-Hill.

 Peter Eisentraut. Replication Solution for PostgreSQL. Disponible en:


http://es.slideshare.net/petereisentraut/replication-solutions-for-
postgresql

 PostgreSQL 9.4 Documentation. Chapter 25. High Availability, Load


Balancing, and Replication. Disponible en:
http://www.postgresql.org/docs/9.4/static/different-replication-
solutions.html

 Alvaro Hernndez Tortosa. Mecanismos de Replicacin y Alta


Disponibilidad en PostgreSQL. Nosys. Disponible en:
http://es.slideshare.net/nosys/replicacion-y-haenpostgresql
53
BD Distribuidas- Prof. Jorge Escalona. 2015

You might also like