Grandes de Bases de Datos - Piazza
Transcript of Grandes de Bases de Datos - Piazza
![Page 1: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/1.jpg)
Grandes de Bases de Datos
Alta disponibilidad
Replicación
![Page 2: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/2.jpg)
Introducción
![Page 3: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/3.jpg)
Replicación – Datos distribuidos
• Generalidades
Registro Registro
Datos
Registro
Datos
Servidor A Servidor B
![Page 4: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/4.jpg)
Replicación – Datos distribuidos
• Generalidades
Registro Registro
Datos
Registro
Datos
Servidor A Servidor B
![Page 5: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/5.jpg)
Replicación – Datos distribuidos
• Generalidades
Datos Datos
SQL Server Oracle
Conexión genérica
Conexión Oracle
Conexión SQL Server
SMBD
1
2
3 3
4 4
![Page 6: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/6.jpg)
Administrador Recursos
Componentes de un nodo en 1 transacción distribuida
Administrador Transacciones
1
2
Registro de A.T
BD BD
2
![Page 7: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/7.jpg)
Transmisión transacción distribuida
1
Administrador Recursos
Admin. Trans
Registro de A.T
BD BD
Nodo 1
Administrador Recursos
Admin. Trans
Registro de A.T
BD BD
Nodo 2
2 n
![Page 8: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/8.jpg)
Transfiriendo datos distribuidos
1
Administrador Recursos
Admin. Trans
Registro de A.T
BD BD
Nodo 1
1. Inicia Tx
2. Creación objeto de transacción
3. Ligado de Tx a un objeto de conexión
2
Tx Tx
3
Tx
![Page 9: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/9.jpg)
Transfiriendo datos distribuidos
Administrador Recursos
Admin. Trans
Registro de A.T
BD BD
Nodo 1
4. Actualización o lectura de datos
5. Tx es “Commited” o “Rollback”
Tx
Tx
4
5
Tx
![Page 10: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/10.jpg)
Protocolo de 2 fases
1 1. Inicia Tx
2. Se envía la T hacia los n equipos
3. Al llegar a los equipos, T, se realiza o no (se guarda en el registros)
Datos
Equipo 2
Datos
Equipo 3
Datos
Equipo 1
Tx Tx Tx
3 3
2
![Page 11: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/11.jpg)
Protocolo de 2 fases
1 4. Si todas las Tx
son válidas, se propaga “´Commited”
Datos
Equipo 2
Datos
Equipo 3
Datos
Equipo 1 Tx
Tx Tx
3 3
2
4 4
![Page 12: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/12.jpg)
Protocolo de 2 fases
5. Si por lo menos 1 es inválida, se propaga “Rollback”
Datos
Equipo 2
Datos
Equipo 3
Datos
Equipo 1 Tx
Tx Tx
3 3
2
4 4
1
![Page 13: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/13.jpg)
Replicación
• El propósito general de la replicación es distribuir datos de una base de datos maestra a una o más bases de datos secundarias.)
• La distribución se realiza entre distintas bases de datos, plataformas y ubicaciones geográficas.
![Page 14: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/14.jpg)
Replicación
• Dado que la replicación mantiene datos duplicados en sincronización con la copia maestra, es posible utilizar para brindar alta disponibilidad
• Existen procesos de sincronización encargados de validar la integridad de los datos
• La latencia de la propagación de los cambios se debe considerar dentro de los SLA
![Page 15: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/15.jpg)
Replicación
• ¿Cómo replicar?
• ¿Qué replicar?
• ¿Cuándo replicar?
• ¿Cómo propagar los cambios?
![Page 16: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/16.jpg)
Replicación
• 2 tipos de replicación:
– “Eager Replication” o Replicación ansiosa
– “Lazy Replication” o Replicación perezosa
![Page 17: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/17.jpg)
Replicación ansiosa
• Replicación ansiosa
– Replicación sincrónica
– Una aplicación actualiza datos locales y dentro de la misma transacción otras replicas de estos datos
– No ocurren anomalías de concurrencia
– Si algún nodo se desconecta, se previene la transacción
– Protocolo de 2 fases
![Page 18: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/18.jpg)
Replicación ansiosa
• Replicación ansiosa
– Velocidad vs Desempeño
– Consiste de los siguientes pasos:
• Ejecución local
• Transmisión de la transacción
• Notificación
• Aprobación o rechazo de la transacción
“Database Replication Techniques: A Three Parameter Classification,”
M. Weismann, F. Pedone, A. Schiper, B. Kemme, y G. Alonso
Proceedings of 19th IEEE Symposium on Reliable Distributed Systems (SRDS2000) (Nurnberg:
Germany, IEEE Computer Society, October 2000), 206–15.
![Page 19: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/19.jpg)
Replicación perezosa
• Replicación perezosa
– Replicación asincrónica
– Una aplicación actualiza datos locales y dentro de la misma transacción otras replicas de estos datos, sin embargo solamente se propagan las transacciones que tienen aprobación.
– Esto garantiza que las transacciones aprobadas se puedan enviar a clientes o sitios desconectados.
![Page 20: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/20.jpg)
Replicación perezosa
• Replicación perezosa
– Existe la posibilidad de problemas de consistencia.
– Se asocian marcas de tiempo “timestamps” en cada elemento y éste se compara cada que participa en una transacción.
“The Dangers of Replication and a Solution,” by J. Gray, P. Helland, P. O’Neil, y D. Sasha in
Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data
(Montreal: Canada, June 1996), 173–82.
![Page 21: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/21.jpg)
Replicación perezosa
• Replicación perezosa
– Instantáneas
– Transaccional
– De mezcla
![Page 22: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/22.jpg)
Replicación perezosa
• Replicación perezosa
– Instantáneas
– Se crea una copia de los datos y se propagan los datos del conjunto total, en lugar de transacciones individuales.
– Ejemplo:
Tiendas regionales con descuentos por temporadas
![Page 23: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/23.jpg)
Replicación perezosa
• Replicación perezosa
– Transaccional
– Permite cambios incrementales enviados continuamente o por intervalos.
– Ejemplo:
Inventarios con disponibilidades inmediatas (ticketmaster)
![Page 24: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/24.jpg)
Replicación perezosa
• Replicación perezosa
– De mezcla
– Permite un nivel mayor de autonomía. Se permiten las actualizaciones en elementos compartidos y los cambios se propagan entre equipos
– Ejemplo:
Ventas y trabajos de campo (encuestas, etcétera)
![Page 25: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/25.jpg)
Replicación
• Beneficios
– Escalabilidad
– Tolerancia a fallos
– Autonomía de sitios
– Compatibilidad entre plataformas
![Page 26: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/26.jpg)
Replicación
• Escenarios
– Mantener ambientes de DW
– Transferencia en tiempo real
– Alta disponibilidad (warm)
– Compatibilidad entre plataformas
![Page 27: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/27.jpg)
Replicación vs Transacciones Distribuidas
![Page 28: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/28.jpg)
Replicación: Publicador - Subscriptor
• Símil con subscripciones físicas
1. Un publicador (editor), crea una publicación, dicha publicación contiene artículos.
2. Un distribuidor, transfiere la publicación hacia puestos donde “alguien” la consume.
3. Un subscriptor recibe la publicación (y los artículos que contiene)
Publicador Distribuidor Subscriptor 1 2
![Page 29: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/29.jpg)
Replicación: Publicador - Subscriptor
• Componentes
1. Distribuidor.
2. Publicador.
3. Subscriptor.
4. Publicación.
5. Artículos.
6. Subscripciones.
7. Agentes.
Publicador
Distribuidor
Subscriptor
1
2
3
4
5
7
6
7
7
![Page 30: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/30.jpg)
Replicación: Publicador - Subscriptor
1. Distribuidor
– Componente común
– Paso de información entre componentes
– Distribuidor Local
– Distribuidor Remoto
Publicador
Distribuidor
Subscriptor
![Page 31: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/31.jpg)
Replicación: Publicador - Subscriptor
2. Publicador
– Equipo que contiene la información a replicar
– Identificación y seguimiento a cambios
– Datos disponibles para replicar
Publicador
Distribuidor
Subscriptor
![Page 32: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/32.jpg)
Replicación: Publicador - Subscriptor
3. Subscriptor
– Equipo que contiene la información replicada
– Puede actualizar el estado del publicador
– Puede actuar como publicador para más subscriptores
Publicador
Distribuidor
Subscriptor
![Page 33: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/33.jpg)
Replicación: Publicador - Subscriptor
4. Publicación
– Unidad que contiene uno o más artículos
– Es la fuente de la replicación
Publicador
Distribuidor
Subscriptor
![Page 34: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/34.jpg)
Replicación: Publicador - Subscriptor
5. Artículos
– Agrupación de datos por replicar
– Componente de la publicación
– Conjunto de columnas, registros, procedimientos almacenados, vistas o funciones
Publicador
Distribuidor
Subscriptor
![Page 35: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/35.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Conjunto de datos y métodos para obtener las publicaciones
– Determinado por el proceso de sincronización
– Anónimas
– Nombradas
Publicador
Distribuidor
Subscriptor
![Page 36: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/36.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Pull
– Push
Publicador
Distribuidor
Subscriptor
![Page 37: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/37.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Pull
1. Subscriptores se crean en el Publicador
2. Subscripciones se crean en el Publicador
Publicador
BD Pub
Distribuidor
BD Distrb
Subscriptor
Datos
Agente Distrib
1
2
![Page 38: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/38.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Pull
3. Publicador activa al subscriptor y sus subscripciones
4. Publicador transmite los cambios en publicaciones al Distribuidor
Publicador
BD Pub
Distribuidor
BD Distrb
Subscriptor
Datos
Agente Distrib
1
2
3
4
![Page 39: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/39.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Pull
5. Agente de distribución obtiene datos por replicar
6. Agente de distribución almacena los cambios
Publicador
BD Pub
Distribuidor
BD Distrb
Subscriptor
Datos
Agente Distrib
1
2
3
4
5
6
![Page 40: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/40.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Pull
7. Agente de distribución “mueve” las transacciones o instantáneas a los subscriptores apropiados
Publicador
BD Pub
Distribuidor
BD Distrb
Subscriptor
Datos
Agente Distrib
1
2
3
4
5
6
7
![Page 41: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/41.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Push
1. Subscriptores se crean en el Subscriptor
2. Subscripciones se crean en el Subscriptor
Publicador
BD Pub
Subscriptor Datos
Agente Distrib
1
2
BD Distrb
Distribuidor
BD Distrb
A. Pub
![Page 42: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/42.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Push
3. Subscriptor habilita los subscriptores y subscripciones
4. Publicador registra los subscriptores y subscripciones
Publicador
BD Pub
Subscriptor Datos
Agente Distrib
1
2
BD Distrb
Distribuidor
BD Distrb
A. Pub
3
4
![Page 43: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/43.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Push
5. Subscriptor solicita datos
6. Distribuidor envía peticiones al Publicador
Publicador
BD Pub
Subscriptor Datos
Agente Distrib
1
2
BD Distrb
Distribuidor
BD Distrb
A. Pub
3
4
6
5
![Page 44: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/44.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Push
7. Publicador verifica los cambios
8. El agente publicador indica si existen datos disponibles o no
Publicador
BD Pub
Subscriptor Datos
Agente Distrib
1
2
BD Distrb
Distribuidor
BD Distrb
A. Pub
3
4
6
5
7
8
![Page 45: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/45.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Push
9. Si hay datos, el Publicador envía publicaciones al Distribuidor
10. Publicador envía mensajes de error e historia al Distribuidor
Publicador
BD Pub
Subscriptor Datos
Agente Distrib
1
2
BD Distrb
Distribuidor
BD Distrb
A. Pub
3
4
6
5
7
8
9 10
![Page 46: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/46.jpg)
Replicación: Publicador - Subscriptor
6. Subscripciones
– Push
11. Distribuidor envía las transacciones al Subscriptor
Publicador
BD Pub
Subscriptor Datos
Agente Distrib
1
2 3
7
8
BD Distrb
Distribuidor
BD Distrb
A. Pub 4
6 9 10
5 11
![Page 47: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/47.jpg)
Replicación: Publicador - Subscriptor
7. Agentes
– Realizan todo el trabajo
– Instantánea
– Lectura de registro
– Distribución
– Mezcla
– Encolamiento
Publicador
Distribuidor
Subscriptor
![Page 48: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/48.jpg)
Replicación – Modelos físicos
1. Publicador/Distribuidor – Subscriptor
2. Publicador Central – Múltiples Subscriptores
3. Subscriptor Central – Múltiples Publicadores
4. Múltiples Subscriptores – Múltiples Publicadores
![Page 49: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/49.jpg)
Replicación – Modelos físicos
1. Publicador/Distribuidor – Subscriptor
Distribuidor
Publicador Subscriptor
![Page 50: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/50.jpg)
Replicación – Modelos físicos
2. Publicador Central – Múltiples Subscriptores
Distribuidor
Publicador
Subscriptor
Subscriptor
Subscriptor
![Page 51: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/51.jpg)
Replicación – Modelos físicos
2. Publicador Central – Múltiples Subscriptores
Publicador Subscriptor
Subscriptor
Subscriptor
Distribuidor
![Page 52: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/52.jpg)
Replicación – Modelos físicos
3. Subscriptor Central – Múltiples Publicadores
Distribuidor
Publicador
Subscriptor
Distribuidor
Publicador
![Page 53: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/53.jpg)
Replicación – Modelos físicos
4. Múltiples Subscriptores – Múltiples Publicadores
Subscriptor
Publicador
Subscriptor
Publicador
![Page 54: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/54.jpg)
Replicación
1. Instantáneas
Registro
Datos
Registro
Datos
Publicador Distribuidor
![Page 55: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/55.jpg)
Replicación - Instantáneas
1. Alto grado de latencia – autonomía.
2. Sincronización completa de datos y objetos.
3. Por omisión, se realiza la primera vez en los demás tipos de replicación.
4. Se generan archivos de “instantáneas” y estos contienen las modificaciones.
5. El distribuidor se encargar de propagar los cambios
![Page 56: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/56.jpg)
\\SHARED
Replicación - Instantáneas
1. Publicador contiene elementos por publicar
2. El agente de instantánea transfiere los artículos del Publicador a la ruta compartida
Publicador
BD Pub
Subscriptor
BD Subs
BD Distrb
Distribuidor
BD Distrb
1
2
![Page 57: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/57.jpg)
Replicación - Instantáneas
3. Agente de instantánea escribe registros en la BD del Distribuidor
4. El agente de distribución transfiere los artículos del Distribuidor al Subscriptor
\\SHARED
Publicador
BD Pub
Subscriptor
BD Subs
BD Distrb
Distribuidor
BD Distrb
1
2
3
4
![Page 58: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/58.jpg)
Replicación – Instantáneas - Detalles
1. Se establece la conexión entre el Distribuidor y el Publicador
2. El agente de instantánea bloquea las tablas a publicar
BD Distrb BD Pub
1
2
![Page 59: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/59.jpg)
Replicación – Instantáneas - Detalles
3. Se generan los scripts de esquema y datos
4. Se copian por bloques los datos desde la base del Publicador
BD Distrb BD Pub
1
2
3
4
![Page 60: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/60.jpg)
Replicación – Instantáneas - Detalles
5. Se registran los cambios en la base del Distribuidor
6. Se liberan los bloqueos de las tablas publicadas
BD Distrb BD Pub
1
2
3
4
5
6
![Page 61: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/61.jpg)
Replicación - Instantáneas
1. Útil cuando no es necesario cambios en tiempo casi - real.
2. Se pueden generar cargas “masivas” de modo programado.
3. Los subscriptores no modifican datos compartidos.
4. Los subscriptores requieren autonomía.
![Page 62: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/62.jpg)
Replicación
1. Transaccional
Registro
Datos
Registro
Datos
Publicador Distribuidor
Registro
![Page 63: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/63.jpg)
Replicación - Transaccional
1. Útil cuando no es necesario cambios en tiempo casi - real.
2. Se necesitan cambios incrementales continuos.
3. Necesaria una latencia mínima.
4. Las conexiones entre Publicador y Subscriptores son consistentes.
![Page 64: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/64.jpg)
Replicación - Transaccional
5. El Publicador tiene una gran cantidad de modificaciones.
6. Se requiere un ambiente heterogéneo en el Publicador
7. Función idéntica a “Envió de bitácoras”
8. Soporta modelo “Peer-to-Peer”
9. No genera bloqueos después de la primera sincronización
![Page 65: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/65.jpg)
Replicación - Transaccional
1. Las transacciones se registran en la BD del Publicador
2. El agente de lectura de registro toma sólo transacciones “commited”
3. Escribe estas transacciones en la BD del Distribuidor
Publicador
BD Pub
Subscriptor
BD Subs
BD Distrb
Distribuidor
BD Distrb
1
2
![Page 66: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/66.jpg)
Replicación - Transaccional
4. El agente de distribución lee estos registros
5. El agente de distribución, transfiere los datos a las bases de los subscriptores que aplican
Publicador
BD Pub
Subscriptor
BD Subs
BD Distrb
Distribuidor
BD Distrb
1
2
5
4
![Page 67: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/67.jpg)
Replicación - Transaccional
1. Es posible realizar actualizaciones desde los subscriptores
1. Implica manejo del 2PC
2. Sobrecarga en el envío de mensajes
2. Esta opción se recomienda únicamente cuando las actualizaciones en los subscriptores no son muchas (por el 2PC)
![Page 68: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/68.jpg)
Replicación - Transaccional
Hay 2 formas de actualización
1. Inmediata
2. Encolamiento
![Page 69: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/69.jpg)
Replicación - Transaccional
1. Inmediata
a) 2PC
b) Los cambios de subscriptores se propagan vía servicio de transacciones distribuidas (RPC)
c) Conexión constante entre publicador y subscriptores
![Page 70: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/70.jpg)
Replicación - Transaccional
1. Se agregan columnas de versión en tablas por replicar
2. El agente lector de registro sólo toma transacciones “commited” de la BD del Publicador
Publicador
BD Pub
Subscriptor
BD Subs
BD Distrb
Distribuidor
BD Distrb
1
2
DTC
![Page 71: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/71.jpg)
DTC
Replicación - Transaccional
3. Agente lector escribe dichas transacciones en BD de Distribuidor
4. Agente de distribución transfiere datos a BD de Subscriptor
5. “Triggers” de inserción, borrado y actualización se agregan en la BD del subscriptor
Publicador
BD Pub
Subscriptor
BD Subs
BD Distrb
Distribuidor
BD Distrb
1
2
4
3
5
![Page 72: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/72.jpg)
Replicación - Transaccional
6. Cambios en la BD del Subscriptor se propagan hacia el Publicador vía el coordinador de transacciones
7. Se generan llamadas a procedimientos remotos (RPC)
Publicador
BD Pub
Subscriptor
BD Subs
BD Distrb
Distribuidor
BD Distrb
1
2
4
3 DTC
6
7
5
![Page 73: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/73.jpg)
Replicación - Transaccional
2. Encolamiento
a) Los datos se propagan por lapsos, mientras se encolan en los subscriptores
b) Se presentan conflictos
i. Política: Publicador gana
ii. Política: Subscriptor gana
![Page 74: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/74.jpg)
Replicación - Transaccional
1. Se agregan columnas de versión en tablas por replicar
2. El agente lector de registro sólo toma transacciones “commited” de la BD del Publicador
Publicador
BD Pub
Subscriptor
BD Subs
BD Distrb
Distribuidor
BD Distrb
1
2
![Page 75: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/75.jpg)
Replicación - Transaccional
3. Agente lector escribe dichas transacciones en BD de Distribuidor
4. Agente de distribución transfiere datos a BD de Subscriptor
5. Los cambios de almacenan en tablas de sistema
Publicador
BD Pub
Subscriptor
BD Subs
BD Distrb
Distribuidor
BD Distrb
1
2
4
3
5
![Page 76: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/76.jpg)
Replicación - Transaccional
3. Agente lector escribe dichas transacciones en BD de Distribuidor
4. Agente de distribución transfiere datos a BD de Subscriptor
5. Los cambios de almacenan en tablas de sistema
Publicador
BD Pub
Subscriptor
BD Subs
BD Distrb
Distribuidor
BD Distrb
1
2
4
3
5 5
![Page 77: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/77.jpg)
Replicación - Transaccional
6. En tiempos definidos, el agente lector de encolamiento, lee los cambios en la tabla de sistema y propaga los cambios hacia el Publicador
Publicador
BD Pub
Subscriptor
BD Subs
BD Distrb
Distribuidor
BD Distrb
1
2
4
3
5 5
![Page 78: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/78.jpg)
Replicación - Transaccional
1. Modelo “Peer to Peer”
2. Nodo 1 contiene Publicador, Distribuidor y es Subscriptor del nodo 2.
3. El nodo 2 también contiene Publicador, Distribuidor y es Subscriptor del nodo 1.
4. Ambos nodos detectan cuando una modificación no es cíclica.
![Page 79: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/79.jpg)
Replicación - Transaccional
1. Modelo “Peer to Peer”
Distribuidor
Publicador
Subscriptor
Nodo 1
Distribuidor
Publicador
Subscriptor
Nodo 2
![Page 80: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/80.jpg)
1. Modelo “Peer to Peer” - Topologías
a) Balanceo de carga
Replicación - Transaccional
Nodo 1 Nodo 2
![Page 81: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/81.jpg)
Replicación - Transaccional
1. Modelo “Peer to Peer” - Topologías
a) Balanceo de carga
Nodo 1
Nodo 2
Balan
ceo
de
carga
App Server
![Page 82: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/82.jpg)
Replicación - Transaccional
1. Modelo “Peer to Peer” - Topologías
b) Alta disponibilidad
Nodo 1
Nodo 2
Balan
ceo
de
carga
App Server
![Page 83: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/83.jpg)
Replicación
1. Mezcla
Registro
Datos
Registro
Datos
Servidor 1 Servidor 2
Registro
Datos
![Page 84: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/84.jpg)
Replicación - Mezcla
1. Útil cuando no es necesario cambios en tiempo casi - real.
2. Se necesitan cambios incrementales continuos y una autonomía entre nodos.
3. El modelo de negocio permite la existencia de conflictos y hay políticas para resolverlos.
![Page 85: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/85.jpg)
Replicación - Mezcla
1. Publicador contiene los elementos a enviar
Publicador
BD Pub
Subscriptor Datos
Agente Mezcla BD Distrb
Distribuidor
BD Distrb
1
![Page 86: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/86.jpg)
Replicación - Mezcla
2. Conflictos, cambios y “triggers” se encuentran en ambas BD, Publicador y Subscriptor
Publicador
BD Pub
Subscriptor Datos
Agente Mezcla BD Distrb
Distribuidor
BD Distrb
1
2
![Page 87: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/87.jpg)
Agente Mezcla
Replicación - Mezcla
3. El agente de mezcla se encarga de sintetizar los cambios, aprobar o rechazar según políticas y propagar los cambios.
Publicador
BD Pub
Subscriptor Datos
BD Distrb
Distribuidor
BD Distrb
1
2
3
3
![Page 88: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/88.jpg)
Replicación - Mezcla
4. El agente de mezcla transfiere el registro de toda actividad a la BD del Distribuidor
Publicador
BD Pub
Subscriptor Datos
Agente Mezcla BD Distrb
Distribuidor
BD Distrb
1
2 4
3
3
![Page 89: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/89.jpg)
Replicación - Mezcla
1. Políticas de resolución de conflictos
1. Basada en prioridad
2. Código personalizado
![Page 90: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/90.jpg)
Replicación
• Detalles generales
– Múltiples copias
– Conmutación manual o automática en configuración de balanceo de carga
![Page 91: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/91.jpg)
Replicación
• Detalles específicos
– Alcance a nivel de base de datos
– Pueden existen problemas de actualización si se utiliza por si misma para alta disponibilidad
– Latencia en la red juega un papel primordial
![Page 92: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/92.jpg)
Replicación
• Conmutación por error
– Revisar equipo y ponerlo en disponibilidad.
– Generar sincronización.
– Verificar posibles problemas de actualización – manejo de conflictos
– Inicializar cualquier tarea programada pendiente.
![Page 93: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/93.jpg)
Replicación
• Conmutación contraria controlada - razones
– Contratos y servicios dictan ejecución en un equipo en particular
– Cada nodo de la topología atiende una región especifica del negocio, otros pueden tomar el trabajo pero hay que volver a balancear la carga
![Page 94: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/94.jpg)
Replicación
• Ambientes donde se recomienda aplicar
– Existen múltiples subscriptores que necesitan aplicar cambios.
– No es necesario una conmutación automática.
– Es necesaria una replicación adicional de otro ambiente de HA.
– La estrategia de negocio permite “fragmentar” el acceso de la información.
![Page 95: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/95.jpg)
Replicación
• Ambientes donde se recomienda aplicar
– Son necesarios servidores para reportes.
– Es viable una autonomía de los subscriptores y la latencia de conexión no importa
![Page 96: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/96.jpg)
Replicación
• Consideraciones
– Velocidad de red.
– Desempeño de servidores.
– Capacidad de almacenamiento.
– Manejo de conflictos.
– Periodicidad de actualización entre nodos.
![Page 97: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/97.jpg)
Replicación
• Consideraciones de diseño
– Seguridad.
• Especificar los roles adecuados (nivel de dominio).
– Modo de recuperación.
– Lugar de almacenamiento.
• Servidores externos
– Red – velocidad de conexión.
– Determinar diseño lógico.
– Determinar diseño físico.
![Page 98: Grandes de Bases de Datos - Piazza](https://reader035.fdocumento.com/reader035/viewer/2022070719/62c4f895344cb517cd001f26/html5/thumbnails/98.jpg)
Replicación
• Consideraciones de diseño
– Ambiente a nivel de base de datos.
• Si se concentran todas las subscripciones en un distribuidor, se convierte en un SPF.
– Identificar si existe dependencias entre bases de datos, esquemas, tablas, procedimientos almacenados, etc..
– Tiempo de promedio de pérdida de datos
• 4 veces el tiempo máximo de latencia entre los peores nodos de la topología