grandes de bases de datos - piazza

98
Grandes de Bases de Datos Alta disponibilidad Replicación

Upload: others

Post on 06-Jul-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grandes de Bases de Datos - Piazza

Grandes de Bases de Datos

Alta disponibilidad

Replicación

Page 2: Grandes de Bases de Datos - Piazza

Introducción

Page 3: Grandes de Bases de Datos - Piazza

Replicación – Datos distribuidos

• Generalidades

Registro Registro

Datos

Registro

Datos

Servidor A Servidor B

Page 4: Grandes de Bases de Datos - Piazza

Replicación – Datos distribuidos

• Generalidades

Registro Registro

Datos

Registro

Datos

Servidor A Servidor B

Page 5: Grandes de Bases de Datos - Piazza

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

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

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

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

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

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

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

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

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

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

Replicación

• ¿Cómo replicar?

• ¿Qué replicar?

• ¿Cuándo replicar?

• ¿Cómo propagar los cambios?

Page 16: Grandes de Bases de Datos - Piazza

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

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

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

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

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

Replicación perezosa

• Replicación perezosa

– Instantáneas

– Transaccional

– De mezcla

Page 22: Grandes de Bases de Datos - Piazza

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

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

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

Replicación

• Beneficios

– Escalabilidad

– Tolerancia a fallos

– Autonomía de sitios

– Compatibilidad entre plataformas

Page 26: Grandes de Bases de Datos - Piazza

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

Replicación vs Transacciones Distribuidas

Page 28: Grandes de Bases de Datos - Piazza

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

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

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

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

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

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

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

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

Replicación: Publicador - Subscriptor

6. Subscripciones

– Pull

– Push

Publicador

Distribuidor

Subscriptor

Page 37: Grandes de Bases de Datos - Piazza

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

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

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

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

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

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

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

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

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

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

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

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

Replicación – Modelos físicos

1. Publicador/Distribuidor – Subscriptor

Distribuidor

Publicador Subscriptor

Page 50: Grandes de Bases de Datos - Piazza

Replicación – Modelos físicos

2. Publicador Central – Múltiples Subscriptores

Distribuidor

Publicador

Subscriptor

Subscriptor

Subscriptor

Page 51: Grandes de Bases de Datos - Piazza

Replicación – Modelos físicos

2. Publicador Central – Múltiples Subscriptores

Publicador Subscriptor

Subscriptor

Subscriptor

Distribuidor

Page 52: Grandes de Bases de Datos - Piazza

Replicación – Modelos físicos

3. Subscriptor Central – Múltiples Publicadores

Distribuidor

Publicador

Subscriptor

Distribuidor

Publicador

Page 53: Grandes de Bases de Datos - Piazza

Replicación – Modelos físicos

4. Múltiples Subscriptores – Múltiples Publicadores

Subscriptor

Publicador

Subscriptor

Publicador

Page 54: Grandes de Bases de Datos - Piazza

Replicación

1. Instantáneas

Registro

Datos

Registro

Datos

Publicador Distribuidor

Page 55: Grandes de Bases de Datos - Piazza

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

\\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

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

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

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

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

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

Replicación

1. Transaccional

Registro

Datos

Registro

Datos

Publicador Distribuidor

Registro

Page 63: Grandes de Bases de Datos - Piazza

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

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

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

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

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

Replicación - Transaccional

Hay 2 formas de actualización

1. Inmediata

2. Encolamiento

Page 69: Grandes de Bases de Datos - Piazza

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Replicación

1. Mezcla

Registro

Datos

Registro

Datos

Servidor 1 Servidor 2

Registro

Datos

Page 84: Grandes de Bases de Datos - Piazza

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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