SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
Boriss Mejías
Solution Architect
Air Guitar Player
@tchorix
20 de Mayo, 2021
Variaciones de la
Replicación de
PostgreSQL
Preludio
Música Open Source
Kiko Loureiro
https://gt.kikoloureiro.com/open-source/
Heavy Metal tiene sus raíces en el Blues y el Rock
Replicación tiene sus raíces en el Backup y la Restauración
Variaciones a partir de las raíces
PostgreSQL resistente a fallas locales
Backup/Respaldo Físico y Recuperación
Réplica de sólo lectura
¿Es nodo primario o réplica?
En el primario
novena=# select pg_is_in_recovery();
pg_is_in_recovery
-------------------
f
En la réplica
novena=# select pg_is_in_recovery();
pg_is_in_recovery
-------------------
t
Monitorear
1. tr. Observar mediante aparatos especiales el curso de
uno o varios parámetros fisiológicos o de otra naturaleza
para detectar posibles anomalías.
Monitoreo de replicación
novena=# select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid | 14284
application_name | zaragoza
client_addr | 172.17.0.3
state | streaming
sent_lsn | 0/3049320
write_lsn | 0/3049320
flush_lsn | 0/3049320
replay_lsn | 0/3049320
write_lag | 00:00:00.000628
flush_lag | 00:00:00.001741
replay_lag | 00:00:00.00224
sync_priority | 0
sync_state | async
Replicación asíncrona
Escalabilidad horizontal de lectura
Robustez
Replicación en cascada
Una pequeña diferencia en cascada
toledo es el nodo primario
en quito tenemos
primary_conninfo='user=repmgr host=toledo port=5432 application_name=quito'
en curico
primary_conninfo='user=repmgr host=quito port=5432 application_name=curico'
Replicación en cascada
Agregamos un testigo
Failover automático
Failover automático – ¿falla el nodo o la red?
Failover automático – centro de datos aislado
Protección contra error humano
Replicación Física con Retardo
Reducir pérdida de datos → replicación síncrona
Reducir pérdida de datos → replicación síncrona
¿Cuándo está el valor replicado?
novena=# select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid | 14284
application_name | zaragoza synchronous_standby_names
client_addr | 172.17.0.3
state | streaming
sent_lsn | 0/3049320
write_lsn | 0/3049320 remote_write
flush_lsn | 0/3049320 on
replay_lsn | 0/3049320 remote_apply
write_lag | 00:00:00.000628
flush_lag | 00:00:00.001741
replay_lag | 00:00:00.00224
sync_priority | 1
sync_state | sync
Synchronous standby names
Synchronous standby names
synchronous_standby_names = ...
'FIRST 1 (zaragoza, quito, malaga)'
'FIRST 2 (zaragoza, quito, malaga)'
'ANY 2 (zaragoza, quito, malaga)'
Diferentes puntos de sincronía
synchronous_commit = ...
remote_write
on
remote_apply
local
Síncrono sólo cuando es crucial
Síncrono sólo cuando es crucial
synchronous_standby_names = 'ANY 1 (zaragoza, quito, curico)'
synchronous_commit = local
novena=# SET synchronous_commit = remote_apply;
SET
novena=# INSERT INTO orders (id, customer, item, quantity)
VALUES (2267709, 999, 'beer', 18);
INSERT 0 1
novena=# RESET synchronous_commit ;
RESET
Replicación Síncrona - Frágil
Replicación Síncrona - OK
Replicación Síncrona – 2 DC
Replicación Síncrona – 2 DC
Replicación Síncrona - Robusta
Dinámico asíncrono / síncrono
Dinámico asíncrono / síncrono
Intermezzo
Replicación Física
Replicación Lógica
Replicación Lógica
Actualización de versión mayor
Actualización de versión mayor y separación
Actualización de cluster
Progressive Metal
Metal Progresivo
Conclusión
Open Source Community
It brings us a higher sense of community and
enhances our creativity and possibilities.
So why not take this concept to our art, our
music?
- Kiko Loureiro
Variaciones de la
Replicación de
PostgreSQL
¡Chao, Gracias!
boriss.mejias@enterprisedb.com
@tchorix

Weitere ähnliche Inhalte

Was ist angesagt?

Configurando Ospf Dr Y Bdr
Configurando Ospf Dr Y BdrConfigurando Ospf Dr Y Bdr
Configurando Ospf Dr Y BdrCésar Nuñez
 
Piam lab-4-ospf-1
Piam lab-4-ospf-1Piam lab-4-ospf-1
Piam lab-4-ospf-1dherym
 
Comandos cisco ccna_exploration
Comandos cisco ccna_explorationComandos cisco ccna_exploration
Comandos cisco ccna_explorationWhaleejaa Wha
 
Guia de configuracion cisco 881 w logicalis
Guia de configuracion cisco 881 w   logicalisGuia de configuracion cisco 881 w   logicalis
Guia de configuracion cisco 881 w logicalisasesinoevil
 
Firewall iptables
Firewall iptablesFirewall iptables
Firewall iptablescercer
 
Estructura basica para_c_(2)
Estructura basica para_c_(2)Estructura basica para_c_(2)
Estructura basica para_c_(2)Maztherprozh
 
2.6.montajes y accesos a medios
2.6.montajes y accesos a medios2.6.montajes y accesos a medios
2.6.montajes y accesos a mediosFernando Solis
 
Comando de IOS de Cisco
Comando de IOS de CiscoComando de IOS de Cisco
Comando de IOS de Ciscojamigog
 
Comandos router cisco
Comandos router ciscoComandos router cisco
Comandos router ciscoEddy Lojan
 
Understanding Advanced Buffer Overflow
Understanding Advanced Buffer OverflowUnderstanding Advanced Buffer Overflow
Understanding Advanced Buffer OverflowConferencias FIST
 
Comandos cisco show
Comandos cisco showComandos cisco show
Comandos cisco showalfrata
 
Practica 1 iptables
Practica 1 iptablesPractica 1 iptables
Practica 1 iptables1 2d
 
Configuracion De Eigrp Y Loopback
Configuracion De Eigrp Y LoopbackConfiguracion De Eigrp Y Loopback
Configuracion De Eigrp Y LoopbackCésar Nuñez
 
Actualizacion y recuperación de un router cisco
Actualizacion y recuperación de un router ciscoActualizacion y recuperación de un router cisco
Actualizacion y recuperación de un router ciscoKaffer DB
 

Was ist angesagt? (19)

Configurando Ospf Dr Y Bdr
Configurando Ospf Dr Y BdrConfigurando Ospf Dr Y Bdr
Configurando Ospf Dr Y Bdr
 
45546195 frame-relay-con-packet-tracer-5
45546195 frame-relay-con-packet-tracer-545546195 frame-relay-con-packet-tracer-5
45546195 frame-relay-con-packet-tracer-5
 
Comandos terminal ubuntu
Comandos terminal ubuntuComandos terminal ubuntu
Comandos terminal ubuntu
 
Piam lab-4-ospf-1
Piam lab-4-ospf-1Piam lab-4-ospf-1
Piam lab-4-ospf-1
 
Comandos cisco ccna_exploration
Comandos cisco ccna_explorationComandos cisco ccna_exploration
Comandos cisco ccna_exploration
 
Guia de configuracion cisco 881 w logicalis
Guia de configuracion cisco 881 w   logicalisGuia de configuracion cisco 881 w   logicalis
Guia de configuracion cisco 881 w logicalis
 
Firewall iptables
Firewall iptablesFirewall iptables
Firewall iptables
 
Estructura basica para_c_(2)
Estructura basica para_c_(2)Estructura basica para_c_(2)
Estructura basica para_c_(2)
 
2.6.montajes y accesos a medios
2.6.montajes y accesos a medios2.6.montajes y accesos a medios
2.6.montajes y accesos a medios
 
Comando de IOS de Cisco
Comando de IOS de CiscoComando de IOS de Cisco
Comando de IOS de Cisco
 
Comandos router cisco
Comandos router ciscoComandos router cisco
Comandos router cisco
 
Understanding Advanced Buffer Overflow
Understanding Advanced Buffer OverflowUnderstanding Advanced Buffer Overflow
Understanding Advanced Buffer Overflow
 
Comandos cisco show
Comandos cisco showComandos cisco show
Comandos cisco show
 
Practica 4 por fraire
Practica 4 por frairePractica 4 por fraire
Practica 4 por fraire
 
Comando De Router
Comando De RouterComando De Router
Comando De Router
 
Libro cisco ios
Libro cisco iosLibro cisco ios
Libro cisco ios
 
Practica 1 iptables
Practica 1 iptablesPractica 1 iptables
Practica 1 iptables
 
Configuracion De Eigrp Y Loopback
Configuracion De Eigrp Y LoopbackConfiguracion De Eigrp Y Loopback
Configuracion De Eigrp Y Loopback
 
Actualizacion y recuperación de un router cisco
Actualizacion y recuperación de un router ciscoActualizacion y recuperación de un router cisco
Actualizacion y recuperación de un router cisco
 

Mehr von EDB

Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSCloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSEDB
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenDie 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenEDB
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube EDB
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EDB
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLEDB
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLEDB
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?EDB
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLEDB
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresPractical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresEDB
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINEDB
 
IOT with PostgreSQL
IOT with PostgreSQLIOT with PostgreSQL
IOT with PostgreSQLEDB
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLEDB
 
Psql is awesome!
Psql is awesome!Psql is awesome!
Psql is awesome!EDB
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesEDB
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoCloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoEDB
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13EDB
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLEDB
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJEDB
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLEDB
 

Mehr von EDB (20)

Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSCloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenDie 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQL
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQL
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQL
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresPractical Partitioning in Production with Postgres
Practical Partitioning in Production with Postgres
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAIN
 
IOT with PostgreSQL
IOT with PostgreSQLIOT with PostgreSQL
IOT with PostgreSQL
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
 
Psql is awesome!
Psql is awesome!Psql is awesome!
Psql is awesome!
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJ
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos données
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoCloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - Italiano
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJ
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 

Kürzlich hochgeladen

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 

Kürzlich hochgeladen (11)

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

Las Variaciones de la Replicación de PostgreSQL