SlideShare a Scribd company logo
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Fault Tolerance in
PostgreSQL
PGConf Asia
Sept, 2019
Muhammad Haroon
@ 2ndQuadrant
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
$psql~#: d haroon
● Working in PostgreSQL space @ 2ndQuadrant
● Part of PostgreSQL family for nearly a decade and a half
● Development, support, consulting, professional services and administration
● Past stints with PostgreSQL family include
○ EnterpriseDB
○ OpenSCG (now Amazon Web Services)
● Led Engineering Ops efforts @ IBEX Group
● Principal/Architect/Product Owner @ TRG
Email: haroon@2ndQuadrant.com
Skype: contact.haroon
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
What’s covered
- A little overview of PostgreSQL to set the tone
- PostgreSQL’s fault tolerance (WAL)
- Replication
- Available replication methods
- Physical Replication
- Replication and WAL management
- Timelines ? pg_rewind ?
- Trigger based replication
- Logical replication/decoding
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
PostgreSQL- world’s most advanced open source database
- Soft failures: Transactions combined with Transaction log means
automatic crash recovery
- Hard failures: Data block checksums
- Multiple backup mechanisms: Full Point-in-time-recovery
- Diagnostics tools
- Native database replication
- Synchronous replication with upto 99.999 percent uptime
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Olden days
- All database changes would eventually go to durable storage
- Data pages would be loaded to shared buffers
- Changes recorded there
- Changes synched with durable storage
- Crash would mean data loss
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Write Ahead Log (WAL)
PostgreSQL’s Write-Ahead-Log provides main fault tolerance system for
PostgreSQL to ensure durability of database changes.
- Series of binary log files containing transaction logs
- 16MB file segment (--with-wal-size)
- 8kB page size (--with-wal-blocksize)
- Stored under pg_wal (pg_xlog < PG10) directory
- All database changes recorded here
- Needed for crash and point in time recovery
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Transactions
- Begin?Commit?
- Changes recorded in WAL
- Written to disk later by checkpointer or background writer
- Standard SQL Transaction Isolation levels (PG docs for details)
- Read uncommitted
- Read committed
- Repeatable read
- Serializable
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Checkpoints
- Special checkpoint record in the log
- Heap and index data files updated
- All dirty data pages flushed to disk
- REDO operation to start from latest checkpoint record
- Scheduled/Immediate
Controls:
- Checkpoint_timeout (Def. 5 min)
- Max_wal_size (Def. 1 GB)
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Replication
(picture credit gulcin.yildirim)
- Term used to describe the technology to create copies of
database/set of data to some remote server
- Needed for reliable copies of data
- Replicas for redundancy
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Replication chronicle
● PostgreSQL 7.x (~2000)
○ Debate around not including Replication to core Postgres
○ Londiste – Slony (trigger based logical replication)
● PostgreSQL 8.0 (2005)
○ Point-In-Time Recovery (WAL)
● PostgreSQL 9.0 (2010)
○ Streaming Replication (physical)
● PostgreSQL 9.4 (2014)
○ Logical Decoding (changeset extraction)
● PostgreSQL 10 (2017)
○ Native Logical Replication
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Log-shipping standby servers
- base backup from primary
- primary in continuous archival
- standby in continuous recovery
- warm standby: cannot serve readonly queries
- hot standby: read-only queries while the server is in archive recovery or
standby mode
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Hot Standby
Warm standby Hot standby
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Physical replication
- WAL sent over to standby over the network
- Files sent via rsync, ftp, scp
- Streaming replication when WAL sent using PostgreSQL’s internal protocole that involves
wal-sender and wal-receiver processes
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
WAL levels
- wal_level (postgresql.conf)
- Determines how much information is recorded in WAL.
- minimal
- Crash recovery
- replica
- Physical replication
- File based archiving
- logical
- Information needed for logical replication
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Timelines
- You need to distinguish the series of WAL records generated after you’ve
done a point-in-time recovery from those that were generated in the original
database history
- Archive recovery results in a new timeline
- Timeline history file
- Small text file
- Needed to allow the system to pick the right WAL segment files when
recovering from an archive that contains multiple timelines
- Target timeline ID in recovery.conf
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Timelines
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Timelines (failover)
● There are outstanding changes in the old master (TL1)
● Timeline increase represents new history of changes (TL2)
● Changes from the old timeline can’t be replayed on the servers that
switched to new timeline
● The old master can’t follow the new master
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Timelines (switchover)
● There are no outstanding changes in the old master (TL1)
● Timeline increase represents new history of changes (TL2)
● The old master can become standby for the new master
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Timelines (pg_rewind)
● Outstanding changes are removed using data from the new master (TL1)
● The old master can follow the new master (TL2)
PostgreSQL docs for detailed information on pg_rewind
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Synchronous replication
- Synchronous replication guarantees that data is written to at least two nodes
before the user or application is told that a transaction has committed
- Needs more time to complete the transaction
- the replication delay directly affects the elapsed time of transactions
- Zero data loss
- Default is asynchronous
- data is streamed out whenever convenient for the server
- Doesn’t wait for acknowledgement from standby
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Synchronous Replication
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Processing of commit
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
synchronous_commit = local (default off)
COMMIT waits until the transaction record is flushed to the local disk
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Synchronous_commit = remote_write
the COMMIT will wait until the server(s) specified by synchronous_standby_names confirm write of the transaction
record to the operating system but has not necessarily reached the disk
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Synchronous_commit = on
the COMMIT will wait until the server(s) specified by synchronous_standby_names confirm that the transaction
record was safely written to disk
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Synchronous_commit = remote_apply
the COMMIT will wait until the server(s) specified by synchronous_standby_names confirm that the transaction
record was applied to the database
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Synchronous_commit
synchronous_commit parameter can be changed at any time; the behaviour for any
one transaction is determined by the setting in effect when it commits. It is
therefore possible, and useful, to have some transactions commit synchronously
and others asynchronously
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Logical Replication
- Trigger based replication
- Slony (~2004), Londiste (~2007) Predates the physical replication (as a result of the "no replication
in core philosophy")
- Uses triggers to capture the changes to individual table
- Increases the amount of work needed to be done for each write
- Use table(s) as queue
- Duplicates all writes
- Logical decoding (Changeset Extraction)
- Extracts information from Write-Ahead Log into logical changes (INSERT/UPDATE/DELETE)
- Per row based changes
- Commit order maintained
- No write amplification
- No DDL replication
- Uses same transport mechanism as streaming replication (sender & apply)
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Logical Replication
- Publish / Subscribe model
- Multiple upstream (publisher) servers into a single subscriber
- Selective Replication
- Replication across major versions
- Online major version upgrades
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Futures
- Multi-master/Bi-Directional Replication
- Geographic distributed clusters
- Concurrent writes
- Conflict resolution
- Reduced latency
- High availability (Standby nodes)
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Acknowledgement
Big _Thanks_ to Gulcin Yildirim for the amazing pictures used in the talk
https://www.2ndQuadrant.com
PGConf ASIA
Bali, Sept, 2019
Thank you!!

More Related Content

What's hot

PGConf.ASIA 2019 - High Availability, 10 Seconds Failover - Lucky Haryadi
PGConf.ASIA 2019 - High Availability, 10 Seconds Failover - Lucky HaryadiPGConf.ASIA 2019 - High Availability, 10 Seconds Failover - Lucky Haryadi
PGConf.ASIA 2019 - High Availability, 10 Seconds Failover - Lucky Haryadi
Equnix Business Solutions
 
PostgreSQL on AWS: Tips & Tricks (and horror stories)
PostgreSQL on AWS: Tips & Tricks (and horror stories)PostgreSQL on AWS: Tips & Tricks (and horror stories)
PostgreSQL on AWS: Tips & Tricks (and horror stories)
Alexander Kukushkin
 
PGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan Pachenko
PGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan PachenkoPGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan Pachenko
PGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan Pachenko
Equnix Business Solutions
 
PGConf.ASIA 2019 Bali - IoT and PostgreSQL - Koichi Suzuki
PGConf.ASIA 2019 Bali - IoT and PostgreSQL - Koichi SuzukiPGConf.ASIA 2019 Bali - IoT and PostgreSQL - Koichi Suzuki
PGConf.ASIA 2019 Bali - IoT and PostgreSQL - Koichi Suzuki
Equnix Business Solutions
 
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
Kristofferson A
 
PGConf APAC 2018 - High performance json postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json  postgre-sql vs. mongodbPGConf APAC 2018 - High performance json  postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json postgre-sql vs. mongodb
PGConf APAC
 
PGConf.ASIA 2019 - The Future of TDEforPG - Taiki Kondo
PGConf.ASIA 2019 - The Future of TDEforPG - Taiki KondoPGConf.ASIA 2019 - The Future of TDEforPG - Taiki Kondo
PGConf.ASIA 2019 - The Future of TDEforPG - Taiki Kondo
Equnix Business Solutions
 
KSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success StoryKSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success StoryKristofferson A
 
PGConf.ASIA 2019 Bali - Patroni in 2019 - Alexander Kukushkin
PGConf.ASIA 2019 Bali - Patroni in 2019 - Alexander KukushkinPGConf.ASIA 2019 Bali - Patroni in 2019 - Alexander Kukushkin
PGConf.ASIA 2019 Bali - Patroni in 2019 - Alexander Kukushkin
Equnix Business Solutions
 
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Spark Summit
 
On The Building Of A PostgreSQL Cluster
On The Building Of A PostgreSQL ClusterOn The Building Of A PostgreSQL Cluster
On The Building Of A PostgreSQL Cluster
Srihari Sriraman
 
PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs
PGConf APAC
 
Kafka on ZFS: Better Living Through Filesystems
Kafka on ZFS: Better Living Through Filesystems Kafka on ZFS: Better Living Through Filesystems
Kafka on ZFS: Better Living Through Filesystems
confluent
 
PGConf.ASIA 2019 Bali - Performance Analysis at Full Power - Julien Rouhaud
PGConf.ASIA 2019 Bali - Performance Analysis at Full Power - Julien RouhaudPGConf.ASIA 2019 Bali - Performance Analysis at Full Power - Julien Rouhaud
PGConf.ASIA 2019 Bali - Performance Analysis at Full Power - Julien Rouhaud
Equnix Business Solutions
 
[Hadoop Meetup] Yarn at Microsoft - The challenges of scale
[Hadoop Meetup] Yarn at Microsoft - The challenges of scale[Hadoop Meetup] Yarn at Microsoft - The challenges of scale
[Hadoop Meetup] Yarn at Microsoft - The challenges of scale
Newton Alex
 
Case Studies on PostgreSQL
Case Studies on PostgreSQLCase Studies on PostgreSQL
Case Studies on PostgreSQL
InMobi Technology
 
TeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage DevicesTeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage Devices
Databricks
 
Aerospike: Key Value Data Access
Aerospike: Key Value Data AccessAerospike: Key Value Data Access
Aerospike: Key Value Data Access
Aerospike, Inc.
 
Building Spark as Service in Cloud
Building Spark as Service in CloudBuilding Spark as Service in Cloud
Building Spark as Service in Cloud
InMobi Technology
 
Eventually, Scylla Chooses Consistency
Eventually, Scylla Chooses ConsistencyEventually, Scylla Chooses Consistency
Eventually, Scylla Chooses Consistency
ScyllaDB
 

What's hot (20)

PGConf.ASIA 2019 - High Availability, 10 Seconds Failover - Lucky Haryadi
PGConf.ASIA 2019 - High Availability, 10 Seconds Failover - Lucky HaryadiPGConf.ASIA 2019 - High Availability, 10 Seconds Failover - Lucky Haryadi
PGConf.ASIA 2019 - High Availability, 10 Seconds Failover - Lucky Haryadi
 
PostgreSQL on AWS: Tips & Tricks (and horror stories)
PostgreSQL on AWS: Tips & Tricks (and horror stories)PostgreSQL on AWS: Tips & Tricks (and horror stories)
PostgreSQL on AWS: Tips & Tricks (and horror stories)
 
PGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan Pachenko
PGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan PachenkoPGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan Pachenko
PGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan Pachenko
 
PGConf.ASIA 2019 Bali - IoT and PostgreSQL - Koichi Suzuki
PGConf.ASIA 2019 Bali - IoT and PostgreSQL - Koichi SuzukiPGConf.ASIA 2019 Bali - IoT and PostgreSQL - Koichi Suzuki
PGConf.ASIA 2019 Bali - IoT and PostgreSQL - Koichi Suzuki
 
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
 
PGConf APAC 2018 - High performance json postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json  postgre-sql vs. mongodbPGConf APAC 2018 - High performance json  postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json postgre-sql vs. mongodb
 
PGConf.ASIA 2019 - The Future of TDEforPG - Taiki Kondo
PGConf.ASIA 2019 - The Future of TDEforPG - Taiki KondoPGConf.ASIA 2019 - The Future of TDEforPG - Taiki Kondo
PGConf.ASIA 2019 - The Future of TDEforPG - Taiki Kondo
 
KSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success StoryKSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success Story
 
PGConf.ASIA 2019 Bali - Patroni in 2019 - Alexander Kukushkin
PGConf.ASIA 2019 Bali - Patroni in 2019 - Alexander KukushkinPGConf.ASIA 2019 Bali - Patroni in 2019 - Alexander Kukushkin
PGConf.ASIA 2019 Bali - Patroni in 2019 - Alexander Kukushkin
 
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
 
On The Building Of A PostgreSQL Cluster
On The Building Of A PostgreSQL ClusterOn The Building Of A PostgreSQL Cluster
On The Building Of A PostgreSQL Cluster
 
PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs
 
Kafka on ZFS: Better Living Through Filesystems
Kafka on ZFS: Better Living Through Filesystems Kafka on ZFS: Better Living Through Filesystems
Kafka on ZFS: Better Living Through Filesystems
 
PGConf.ASIA 2019 Bali - Performance Analysis at Full Power - Julien Rouhaud
PGConf.ASIA 2019 Bali - Performance Analysis at Full Power - Julien RouhaudPGConf.ASIA 2019 Bali - Performance Analysis at Full Power - Julien Rouhaud
PGConf.ASIA 2019 Bali - Performance Analysis at Full Power - Julien Rouhaud
 
[Hadoop Meetup] Yarn at Microsoft - The challenges of scale
[Hadoop Meetup] Yarn at Microsoft - The challenges of scale[Hadoop Meetup] Yarn at Microsoft - The challenges of scale
[Hadoop Meetup] Yarn at Microsoft - The challenges of scale
 
Case Studies on PostgreSQL
Case Studies on PostgreSQLCase Studies on PostgreSQL
Case Studies on PostgreSQL
 
TeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage DevicesTeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage Devices
 
Aerospike: Key Value Data Access
Aerospike: Key Value Data AccessAerospike: Key Value Data Access
Aerospike: Key Value Data Access
 
Building Spark as Service in Cloud
Building Spark as Service in CloudBuilding Spark as Service in Cloud
Building Spark as Service in Cloud
 
Eventually, Scylla Chooses Consistency
Eventually, Scylla Chooses ConsistencyEventually, Scylla Chooses Consistency
Eventually, Scylla Chooses Consistency
 

Similar to PGConf.ASIA 2019 Bali - Fault Tolerance in PostgreSQL - Muhammad Haroon

PGConf.ASIA 2019 Bali - Your Business Continuity Matrix and PostgreSQL's Disa...
PGConf.ASIA 2019 Bali - Your Business Continuity Matrix and PostgreSQL's Disa...PGConf.ASIA 2019 Bali - Your Business Continuity Matrix and PostgreSQL's Disa...
PGConf.ASIA 2019 Bali - Your Business Continuity Matrix and PostgreSQL's Disa...
Equnix Business Solutions
 
PGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
PGConf APAC 2018: PostgreSQL 10 - Replication goes LogicalPGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
PGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
PGConf APAC
 
Ppdg Robust File Replication
Ppdg Robust File ReplicationPpdg Robust File Replication
Ppdg Robust File Replicationtest98
 
Ppdg Robust File Replication
Ppdg Robust File ReplicationPpdg Robust File Replication
Ppdg Robust File Replicationguestbdd02b
 
Ppdg Robust File Replication
Ppdg Robust File ReplicationPpdg Robust File Replication
Ppdg Robust File Replicationguru100
 
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
PGConf APAC
 
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKSPostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
Carlos Andrés García
 
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKSPostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
VMware Tanzu
 
Scaling Apache Pulsar to 10 Petabytes/Day
Scaling Apache Pulsar to 10 Petabytes/DayScaling Apache Pulsar to 10 Petabytes/Day
Scaling Apache Pulsar to 10 Petabytes/Day
ScyllaDB
 
Aerospike Roadmap Overview - Meetup Dec 2019
Aerospike Roadmap Overview - Meetup Dec 2019Aerospike Roadmap Overview - Meetup Dec 2019
Aerospike Roadmap Overview - Meetup Dec 2019
Aerospike
 
PGConf APAC 2018 - PostgreSQL performance comparison in various clouds
PGConf APAC 2018 - PostgreSQL performance comparison in various cloudsPGConf APAC 2018 - PostgreSQL performance comparison in various clouds
PGConf APAC 2018 - PostgreSQL performance comparison in various clouds
PGConf APAC
 
CUBRID Developer's Course
CUBRID Developer's CourseCUBRID Developer's Course
CUBRID Developer's Course
CUBRID
 
What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow MeetupWhat's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
Kaxil Naik
 
How to Upgrade Major Version of Your Production PostgreSQL
How to Upgrade Major Version of Your Production PostgreSQLHow to Upgrade Major Version of Your Production PostgreSQL
How to Upgrade Major Version of Your Production PostgreSQL
Keisuke Suzuki
 
Integrating ChatGPT with Apache Airflow
Integrating ChatGPT with Apache AirflowIntegrating ChatGPT with Apache Airflow
Integrating ChatGPT with Apache Airflow
Tatiana Al-Chueyr
 
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptx
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptxThink_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptx
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptx
Payal Singh
 
Key considerations in productionizing streaming applications
Key considerations in productionizing streaming applicationsKey considerations in productionizing streaming applications
Key considerations in productionizing streaming applications
KafkaZone
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Nelson Calero
 
Pivotal Cloud Foundry 2.6: A First Look
Pivotal Cloud Foundry 2.6: A First LookPivotal Cloud Foundry 2.6: A First Look
Pivotal Cloud Foundry 2.6: A First Look
VMware Tanzu
 
Publicidad Por Internet
Publicidad Por InternetPublicidad Por Internet
Publicidad Por Internet
Carlos Chacon
 

Similar to PGConf.ASIA 2019 Bali - Fault Tolerance in PostgreSQL - Muhammad Haroon (20)

PGConf.ASIA 2019 Bali - Your Business Continuity Matrix and PostgreSQL's Disa...
PGConf.ASIA 2019 Bali - Your Business Continuity Matrix and PostgreSQL's Disa...PGConf.ASIA 2019 Bali - Your Business Continuity Matrix and PostgreSQL's Disa...
PGConf.ASIA 2019 Bali - Your Business Continuity Matrix and PostgreSQL's Disa...
 
PGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
PGConf APAC 2018: PostgreSQL 10 - Replication goes LogicalPGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
PGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
 
Ppdg Robust File Replication
Ppdg Robust File ReplicationPpdg Robust File Replication
Ppdg Robust File Replication
 
Ppdg Robust File Replication
Ppdg Robust File ReplicationPpdg Robust File Replication
Ppdg Robust File Replication
 
Ppdg Robust File Replication
Ppdg Robust File ReplicationPpdg Robust File Replication
Ppdg Robust File Replication
 
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
 
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKSPostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
 
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKSPostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
 
Scaling Apache Pulsar to 10 Petabytes/Day
Scaling Apache Pulsar to 10 Petabytes/DayScaling Apache Pulsar to 10 Petabytes/Day
Scaling Apache Pulsar to 10 Petabytes/Day
 
Aerospike Roadmap Overview - Meetup Dec 2019
Aerospike Roadmap Overview - Meetup Dec 2019Aerospike Roadmap Overview - Meetup Dec 2019
Aerospike Roadmap Overview - Meetup Dec 2019
 
PGConf APAC 2018 - PostgreSQL performance comparison in various clouds
PGConf APAC 2018 - PostgreSQL performance comparison in various cloudsPGConf APAC 2018 - PostgreSQL performance comparison in various clouds
PGConf APAC 2018 - PostgreSQL performance comparison in various clouds
 
CUBRID Developer's Course
CUBRID Developer's CourseCUBRID Developer's Course
CUBRID Developer's Course
 
What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow MeetupWhat's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
 
How to Upgrade Major Version of Your Production PostgreSQL
How to Upgrade Major Version of Your Production PostgreSQLHow to Upgrade Major Version of Your Production PostgreSQL
How to Upgrade Major Version of Your Production PostgreSQL
 
Integrating ChatGPT with Apache Airflow
Integrating ChatGPT with Apache AirflowIntegrating ChatGPT with Apache Airflow
Integrating ChatGPT with Apache Airflow
 
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptx
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptxThink_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptx
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptx
 
Key considerations in productionizing streaming applications
Key considerations in productionizing streaming applicationsKey considerations in productionizing streaming applications
Key considerations in productionizing streaming applications
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
 
Pivotal Cloud Foundry 2.6: A First Look
Pivotal Cloud Foundry 2.6: A First LookPivotal Cloud Foundry 2.6: A First Look
Pivotal Cloud Foundry 2.6: A First Look
 
Publicidad Por Internet
Publicidad Por InternetPublicidad Por Internet
Publicidad Por Internet
 

More from Equnix Business Solutions

Yang perlu kita ketahui Untuk memahami aspek utama IT dalam bisnis_.pdf
Yang perlu kita ketahui Untuk memahami aspek utama IT dalam bisnis_.pdfYang perlu kita ketahui Untuk memahami aspek utama IT dalam bisnis_.pdf
Yang perlu kita ketahui Untuk memahami aspek utama IT dalam bisnis_.pdf
Equnix Business Solutions
 
Kebocoran Data_ Tindakan Hacker atau Kriminal_ Bagaimana kita mengantisipasi...
Kebocoran Data_  Tindakan Hacker atau Kriminal_ Bagaimana kita mengantisipasi...Kebocoran Data_  Tindakan Hacker atau Kriminal_ Bagaimana kita mengantisipasi...
Kebocoran Data_ Tindakan Hacker atau Kriminal_ Bagaimana kita mengantisipasi...
Equnix Business Solutions
 
Kuliah Tamu - Dari Proses Bisnis Menuju Struktur Data.pdf
Kuliah Tamu - Dari Proses Bisnis Menuju Struktur Data.pdfKuliah Tamu - Dari Proses Bisnis Menuju Struktur Data.pdf
Kuliah Tamu - Dari Proses Bisnis Menuju Struktur Data.pdf
Equnix Business Solutions
 
EWTT22_ Apakah Open Source Cocok digunakan dalam Korporasi_.pdf
EWTT22_ Apakah Open Source Cocok digunakan dalam Korporasi_.pdfEWTT22_ Apakah Open Source Cocok digunakan dalam Korporasi_.pdf
EWTT22_ Apakah Open Source Cocok digunakan dalam Korporasi_.pdf
Equnix Business Solutions
 
Oracle to PostgreSQL, Challenges to Opportunity.pdf
Oracle to PostgreSQL, Challenges to Opportunity.pdfOracle to PostgreSQL, Challenges to Opportunity.pdf
Oracle to PostgreSQL, Challenges to Opportunity.pdf
Equnix Business Solutions
 
[EWTT2022] Strategi Implementasi Database dalam Microservice Architecture.pdf
[EWTT2022] Strategi Implementasi Database dalam Microservice Architecture.pdf[EWTT2022] Strategi Implementasi Database dalam Microservice Architecture.pdf
[EWTT2022] Strategi Implementasi Database dalam Microservice Architecture.pdf
Equnix Business Solutions
 
PostgreSQL as Enterprise Solution v1.1.pdf
PostgreSQL as Enterprise Solution v1.1.pdfPostgreSQL as Enterprise Solution v1.1.pdf
PostgreSQL as Enterprise Solution v1.1.pdf
Equnix Business Solutions
 
Webinar2021 - Does HA Can Help You Balance Your Load-.pdf
Webinar2021 - Does HA Can Help You Balance Your Load-.pdfWebinar2021 - Does HA Can Help You Balance Your Load-.pdf
Webinar2021 - Does HA Can Help You Balance Your Load-.pdf
Equnix Business Solutions
 
Webinar2021 - In-Memory Database, is it really faster-.pdf
Webinar2021 - In-Memory Database, is it really faster-.pdfWebinar2021 - In-Memory Database, is it really faster-.pdf
Webinar2021 - In-Memory Database, is it really faster-.pdf
Equnix Business Solutions
 
EQUNIX - PPT 11DB-Postgres™.pdf
EQUNIX - PPT 11DB-Postgres™.pdfEQUNIX - PPT 11DB-Postgres™.pdf
EQUNIX - PPT 11DB-Postgres™.pdf
Equnix Business Solutions
 
equpos - General Presentation v20230420.pptx
equpos - General Presentation v20230420.pptxequpos - General Presentation v20230420.pptx
equpos - General Presentation v20230420.pptx
Equnix Business Solutions
 
Equnix Appliance- Jawaban terbaik untuk kebutuhan komputasi yang mumpuni.pdf
Equnix Appliance- Jawaban terbaik untuk kebutuhan komputasi yang mumpuni.pdfEqunix Appliance- Jawaban terbaik untuk kebutuhan komputasi yang mumpuni.pdf
Equnix Appliance- Jawaban terbaik untuk kebutuhan komputasi yang mumpuni.pdf
Equnix Business Solutions
 
OSPX - Professional PostgreSQL Certification Scheme v20201111.pdf
OSPX - Professional PostgreSQL Certification Scheme v20201111.pdfOSPX - Professional PostgreSQL Certification Scheme v20201111.pdf
OSPX - Professional PostgreSQL Certification Scheme v20201111.pdf
Equnix Business Solutions
 
Equnix Company Profile v20230329.pdf
Equnix Company Profile v20230329.pdfEqunix Company Profile v20230329.pdf
Equnix Company Profile v20230329.pdf
Equnix Business Solutions
 
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo HirosePGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
Equnix Business Solutions
 
PGConf.ASIA 2019 Bali - Mission Critical Production High Availability Postgre...
PGConf.ASIA 2019 Bali - Mission Critical Production High Availability Postgre...PGConf.ASIA 2019 Bali - Mission Critical Production High Availability Postgre...
PGConf.ASIA 2019 Bali - Mission Critical Production High Availability Postgre...
Equnix Business Solutions
 
PGConf.ASIA 2019 Bali - Keynote Speech 3 - Kohei KaiGai
PGConf.ASIA 2019 Bali - Keynote Speech 3 - Kohei KaiGaiPGConf.ASIA 2019 Bali - Keynote Speech 3 - Kohei KaiGai
PGConf.ASIA 2019 Bali - Keynote Speech 3 - Kohei KaiGai
Equnix Business Solutions
 
PGConf.ASIA 2019 Bali - Keynote Speech 1 - Bruce Momjian
PGConf.ASIA 2019 Bali - Keynote Speech 1 - Bruce MomjianPGConf.ASIA 2019 Bali - Keynote Speech 1 - Bruce Momjian
PGConf.ASIA 2019 Bali - Keynote Speech 1 - Bruce Momjian
Equnix Business Solutions
 
PGConf.ASIA 2019 Bali - Modern PostgreSQL Monitoring & Diagnostics - Mahadeva...
PGConf.ASIA 2019 Bali - Modern PostgreSQL Monitoring & Diagnostics - Mahadeva...PGConf.ASIA 2019 Bali - Modern PostgreSQL Monitoring & Diagnostics - Mahadeva...
PGConf.ASIA 2019 Bali - Modern PostgreSQL Monitoring & Diagnostics - Mahadeva...
Equnix Business Solutions
 
PGConf.ASIA 2019 Bali - How PostgreSQL Became King - Chris Travers
PGConf.ASIA 2019 Bali - How PostgreSQL Became King - Chris TraversPGConf.ASIA 2019 Bali - How PostgreSQL Became King - Chris Travers
PGConf.ASIA 2019 Bali - How PostgreSQL Became King - Chris Travers
Equnix Business Solutions
 

More from Equnix Business Solutions (20)

Yang perlu kita ketahui Untuk memahami aspek utama IT dalam bisnis_.pdf
Yang perlu kita ketahui Untuk memahami aspek utama IT dalam bisnis_.pdfYang perlu kita ketahui Untuk memahami aspek utama IT dalam bisnis_.pdf
Yang perlu kita ketahui Untuk memahami aspek utama IT dalam bisnis_.pdf
 
Kebocoran Data_ Tindakan Hacker atau Kriminal_ Bagaimana kita mengantisipasi...
Kebocoran Data_  Tindakan Hacker atau Kriminal_ Bagaimana kita mengantisipasi...Kebocoran Data_  Tindakan Hacker atau Kriminal_ Bagaimana kita mengantisipasi...
Kebocoran Data_ Tindakan Hacker atau Kriminal_ Bagaimana kita mengantisipasi...
 
Kuliah Tamu - Dari Proses Bisnis Menuju Struktur Data.pdf
Kuliah Tamu - Dari Proses Bisnis Menuju Struktur Data.pdfKuliah Tamu - Dari Proses Bisnis Menuju Struktur Data.pdf
Kuliah Tamu - Dari Proses Bisnis Menuju Struktur Data.pdf
 
EWTT22_ Apakah Open Source Cocok digunakan dalam Korporasi_.pdf
EWTT22_ Apakah Open Source Cocok digunakan dalam Korporasi_.pdfEWTT22_ Apakah Open Source Cocok digunakan dalam Korporasi_.pdf
EWTT22_ Apakah Open Source Cocok digunakan dalam Korporasi_.pdf
 
Oracle to PostgreSQL, Challenges to Opportunity.pdf
Oracle to PostgreSQL, Challenges to Opportunity.pdfOracle to PostgreSQL, Challenges to Opportunity.pdf
Oracle to PostgreSQL, Challenges to Opportunity.pdf
 
[EWTT2022] Strategi Implementasi Database dalam Microservice Architecture.pdf
[EWTT2022] Strategi Implementasi Database dalam Microservice Architecture.pdf[EWTT2022] Strategi Implementasi Database dalam Microservice Architecture.pdf
[EWTT2022] Strategi Implementasi Database dalam Microservice Architecture.pdf
 
PostgreSQL as Enterprise Solution v1.1.pdf
PostgreSQL as Enterprise Solution v1.1.pdfPostgreSQL as Enterprise Solution v1.1.pdf
PostgreSQL as Enterprise Solution v1.1.pdf
 
Webinar2021 - Does HA Can Help You Balance Your Load-.pdf
Webinar2021 - Does HA Can Help You Balance Your Load-.pdfWebinar2021 - Does HA Can Help You Balance Your Load-.pdf
Webinar2021 - Does HA Can Help You Balance Your Load-.pdf
 
Webinar2021 - In-Memory Database, is it really faster-.pdf
Webinar2021 - In-Memory Database, is it really faster-.pdfWebinar2021 - In-Memory Database, is it really faster-.pdf
Webinar2021 - In-Memory Database, is it really faster-.pdf
 
EQUNIX - PPT 11DB-Postgres™.pdf
EQUNIX - PPT 11DB-Postgres™.pdfEQUNIX - PPT 11DB-Postgres™.pdf
EQUNIX - PPT 11DB-Postgres™.pdf
 
equpos - General Presentation v20230420.pptx
equpos - General Presentation v20230420.pptxequpos - General Presentation v20230420.pptx
equpos - General Presentation v20230420.pptx
 
Equnix Appliance- Jawaban terbaik untuk kebutuhan komputasi yang mumpuni.pdf
Equnix Appliance- Jawaban terbaik untuk kebutuhan komputasi yang mumpuni.pdfEqunix Appliance- Jawaban terbaik untuk kebutuhan komputasi yang mumpuni.pdf
Equnix Appliance- Jawaban terbaik untuk kebutuhan komputasi yang mumpuni.pdf
 
OSPX - Professional PostgreSQL Certification Scheme v20201111.pdf
OSPX - Professional PostgreSQL Certification Scheme v20201111.pdfOSPX - Professional PostgreSQL Certification Scheme v20201111.pdf
OSPX - Professional PostgreSQL Certification Scheme v20201111.pdf
 
Equnix Company Profile v20230329.pdf
Equnix Company Profile v20230329.pdfEqunix Company Profile v20230329.pdf
Equnix Company Profile v20230329.pdf
 
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo HirosePGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
 
PGConf.ASIA 2019 Bali - Mission Critical Production High Availability Postgre...
PGConf.ASIA 2019 Bali - Mission Critical Production High Availability Postgre...PGConf.ASIA 2019 Bali - Mission Critical Production High Availability Postgre...
PGConf.ASIA 2019 Bali - Mission Critical Production High Availability Postgre...
 
PGConf.ASIA 2019 Bali - Keynote Speech 3 - Kohei KaiGai
PGConf.ASIA 2019 Bali - Keynote Speech 3 - Kohei KaiGaiPGConf.ASIA 2019 Bali - Keynote Speech 3 - Kohei KaiGai
PGConf.ASIA 2019 Bali - Keynote Speech 3 - Kohei KaiGai
 
PGConf.ASIA 2019 Bali - Keynote Speech 1 - Bruce Momjian
PGConf.ASIA 2019 Bali - Keynote Speech 1 - Bruce MomjianPGConf.ASIA 2019 Bali - Keynote Speech 1 - Bruce Momjian
PGConf.ASIA 2019 Bali - Keynote Speech 1 - Bruce Momjian
 
PGConf.ASIA 2019 Bali - Modern PostgreSQL Monitoring & Diagnostics - Mahadeva...
PGConf.ASIA 2019 Bali - Modern PostgreSQL Monitoring & Diagnostics - Mahadeva...PGConf.ASIA 2019 Bali - Modern PostgreSQL Monitoring & Diagnostics - Mahadeva...
PGConf.ASIA 2019 Bali - Modern PostgreSQL Monitoring & Diagnostics - Mahadeva...
 
PGConf.ASIA 2019 Bali - How PostgreSQL Became King - Chris Travers
PGConf.ASIA 2019 Bali - How PostgreSQL Became King - Chris TraversPGConf.ASIA 2019 Bali - How PostgreSQL Became King - Chris Travers
PGConf.ASIA 2019 Bali - How PostgreSQL Became King - Chris Travers
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

PGConf.ASIA 2019 Bali - Fault Tolerance in PostgreSQL - Muhammad Haroon

  • 1. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Fault Tolerance in PostgreSQL PGConf Asia Sept, 2019 Muhammad Haroon @ 2ndQuadrant
  • 2. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 $psql~#: d haroon ● Working in PostgreSQL space @ 2ndQuadrant ● Part of PostgreSQL family for nearly a decade and a half ● Development, support, consulting, professional services and administration ● Past stints with PostgreSQL family include ○ EnterpriseDB ○ OpenSCG (now Amazon Web Services) ● Led Engineering Ops efforts @ IBEX Group ● Principal/Architect/Product Owner @ TRG Email: haroon@2ndQuadrant.com Skype: contact.haroon
  • 3. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 What’s covered - A little overview of PostgreSQL to set the tone - PostgreSQL’s fault tolerance (WAL) - Replication - Available replication methods - Physical Replication - Replication and WAL management - Timelines ? pg_rewind ? - Trigger based replication - Logical replication/decoding
  • 4. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 PostgreSQL- world’s most advanced open source database - Soft failures: Transactions combined with Transaction log means automatic crash recovery - Hard failures: Data block checksums - Multiple backup mechanisms: Full Point-in-time-recovery - Diagnostics tools - Native database replication - Synchronous replication with upto 99.999 percent uptime
  • 5. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Olden days - All database changes would eventually go to durable storage - Data pages would be loaded to shared buffers - Changes recorded there - Changes synched with durable storage - Crash would mean data loss
  • 6. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Write Ahead Log (WAL) PostgreSQL’s Write-Ahead-Log provides main fault tolerance system for PostgreSQL to ensure durability of database changes. - Series of binary log files containing transaction logs - 16MB file segment (--with-wal-size) - 8kB page size (--with-wal-blocksize) - Stored under pg_wal (pg_xlog < PG10) directory - All database changes recorded here - Needed for crash and point in time recovery
  • 7. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Transactions - Begin?Commit? - Changes recorded in WAL - Written to disk later by checkpointer or background writer - Standard SQL Transaction Isolation levels (PG docs for details) - Read uncommitted - Read committed - Repeatable read - Serializable
  • 8. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Checkpoints - Special checkpoint record in the log - Heap and index data files updated - All dirty data pages flushed to disk - REDO operation to start from latest checkpoint record - Scheduled/Immediate Controls: - Checkpoint_timeout (Def. 5 min) - Max_wal_size (Def. 1 GB)
  • 9. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Replication (picture credit gulcin.yildirim) - Term used to describe the technology to create copies of database/set of data to some remote server - Needed for reliable copies of data - Replicas for redundancy
  • 10. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Replication chronicle ● PostgreSQL 7.x (~2000) ○ Debate around not including Replication to core Postgres ○ Londiste – Slony (trigger based logical replication) ● PostgreSQL 8.0 (2005) ○ Point-In-Time Recovery (WAL) ● PostgreSQL 9.0 (2010) ○ Streaming Replication (physical) ● PostgreSQL 9.4 (2014) ○ Logical Decoding (changeset extraction) ● PostgreSQL 10 (2017) ○ Native Logical Replication
  • 11. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Log-shipping standby servers - base backup from primary - primary in continuous archival - standby in continuous recovery - warm standby: cannot serve readonly queries - hot standby: read-only queries while the server is in archive recovery or standby mode
  • 12. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Hot Standby Warm standby Hot standby
  • 13. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Physical replication - WAL sent over to standby over the network - Files sent via rsync, ftp, scp - Streaming replication when WAL sent using PostgreSQL’s internal protocole that involves wal-sender and wal-receiver processes
  • 14. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 WAL levels - wal_level (postgresql.conf) - Determines how much information is recorded in WAL. - minimal - Crash recovery - replica - Physical replication - File based archiving - logical - Information needed for logical replication
  • 15. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Timelines - You need to distinguish the series of WAL records generated after you’ve done a point-in-time recovery from those that were generated in the original database history - Archive recovery results in a new timeline - Timeline history file - Small text file - Needed to allow the system to pick the right WAL segment files when recovering from an archive that contains multiple timelines - Target timeline ID in recovery.conf
  • 17. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Timelines (failover) ● There are outstanding changes in the old master (TL1) ● Timeline increase represents new history of changes (TL2) ● Changes from the old timeline can’t be replayed on the servers that switched to new timeline ● The old master can’t follow the new master
  • 18. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Timelines (switchover) ● There are no outstanding changes in the old master (TL1) ● Timeline increase represents new history of changes (TL2) ● The old master can become standby for the new master
  • 19. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Timelines (pg_rewind) ● Outstanding changes are removed using data from the new master (TL1) ● The old master can follow the new master (TL2) PostgreSQL docs for detailed information on pg_rewind
  • 20. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Synchronous replication - Synchronous replication guarantees that data is written to at least two nodes before the user or application is told that a transaction has committed - Needs more time to complete the transaction - the replication delay directly affects the elapsed time of transactions - Zero data loss - Default is asynchronous - data is streamed out whenever convenient for the server - Doesn’t wait for acknowledgement from standby
  • 23. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 synchronous_commit = local (default off) COMMIT waits until the transaction record is flushed to the local disk
  • 24. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Synchronous_commit = remote_write the COMMIT will wait until the server(s) specified by synchronous_standby_names confirm write of the transaction record to the operating system but has not necessarily reached the disk
  • 25. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Synchronous_commit = on the COMMIT will wait until the server(s) specified by synchronous_standby_names confirm that the transaction record was safely written to disk
  • 26. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Synchronous_commit = remote_apply the COMMIT will wait until the server(s) specified by synchronous_standby_names confirm that the transaction record was applied to the database
  • 27. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Synchronous_commit synchronous_commit parameter can be changed at any time; the behaviour for any one transaction is determined by the setting in effect when it commits. It is therefore possible, and useful, to have some transactions commit synchronously and others asynchronously
  • 28. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Logical Replication - Trigger based replication - Slony (~2004), Londiste (~2007) Predates the physical replication (as a result of the "no replication in core philosophy") - Uses triggers to capture the changes to individual table - Increases the amount of work needed to be done for each write - Use table(s) as queue - Duplicates all writes - Logical decoding (Changeset Extraction) - Extracts information from Write-Ahead Log into logical changes (INSERT/UPDATE/DELETE) - Per row based changes - Commit order maintained - No write amplification - No DDL replication - Uses same transport mechanism as streaming replication (sender & apply)
  • 29. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Logical Replication - Publish / Subscribe model - Multiple upstream (publisher) servers into a single subscriber - Selective Replication - Replication across major versions - Online major version upgrades
  • 30. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Futures - Multi-master/Bi-Directional Replication - Geographic distributed clusters - Concurrent writes - Conflict resolution - Reduced latency - High availability (Standby nodes)
  • 31. https://www.2ndQuadrant.com PGConf ASIA Bali, Sept, 2019 Acknowledgement Big _Thanks_ to Gulcin Yildirim for the amazing pictures used in the talk