SlideShare a Scribd company logo
1 of 28
Reference
Architectures
Dave Page
Vibhor Kumar
October 2020
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.2
• Slides and recording will be available in next 48 hours
• Submit questions via Zoom – will be answering at end
• We will be sharing info about EDB and Postgres later
Welcome – Housekeeping Items
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.3
Agenda
• Introduction to EDB
• What are reference architectures?
• Architecture properties
• Core Architectures
• Add-on architectures:
• Pooling & Load Balancing/Query Routing
• Management
• Summary
• Q&A
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.4
• Enterprise PostgreSQL and Open Source innovations
• 5,000+ global customers
• Recognized by Gartner Magic Quadrant for 7 years in a row
• One of the only sub-$1bn revenue companies
• Recently acquired 2ndQuadrant, making us the largest
dedicated PostgreSQL company in the world with over 500
employees
• PostgreSQL community leadership, employing over 25
committers and recognised contributors
2019
Challengers Leaders
Niche Players Visionaries
Abilitytoexecute
Completeness of vision
1986
The Design
of PostgreSQL
1996
Birth of
PostgreSQL
2004
EDB
is founded
2020
TodayMaterialized
Views
Parallel
Query
JIT
Compilation
Heap Only
Tuples (HOT)
Serializable
Parallel Query
We’re database fanatics who care
deeply about PostgreSQL
Expertise
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.5
• A set of pre-designed tried-and-test deployment patterns for PostgreSQL
• Intended as a starting point:
• Easy to try out
• Can be used as-is
• Can be used as a foundation
• Core architectures for the database server
• Add-on architectures provide additional capabilities
What are Reference Architectures?
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.6
Architecture Properties
Recovery Time Objective (RTO)
"The Recovery Time Objective (RTO) is the targeted duration of time and a service level within
which a business process must be restored after a disaster (or disruption) in order to avoid
unacceptable consequences associated with a break in business continuity."
https://en.wikipedia.org/wiki/Disaster_recovery#Recovery_Time_Objective
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.7
Architecture Properties
Recovery Point Objective (RPO)
"A Recovery Point Objective (RPO) is defined by business continuity planning. It is the maximum
targeted period in which data (transactions) might be lost from an IT service due to a major
incident.
If RPO is measured in minutes (or even a few hours), then in practice, off-site mirrored backups
must be continuously maintained; a daily off-site backup on tape will not suffice."
https://en.wikipedia.org/wiki/Disaster_recovery#Recovery_Point_Objective
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.8
Architecture Properties
Geographic Redundancy Objective (GRO)
"... sometimes considered the disaster recovery requirement. This objective encompasses what
data needs to be replicated off site, how often and how far."
https://storageswiss.com/2014/01/22/backup-basics-what-do-slo-rpo-rto-vro-and-gro-
mean/#:~:text=Geographic%20Redundancy%20Objective&text=Simply%20put%2C%20users%20are%20more,multiple
%20geographic%20requirements%20per%20application.
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.9
Architecture Properties
Target Availability
"The degree to which a system, subsystem or equipment is in a specified operable and
committable state at the start of a mission, when the mission is called for at an unknown, i.e. a
random, time."
"Normally high availability systems might be specified as 99.98%, 99.999% or 99.9996%."
https://en.wikipedia.org/wiki/Availability
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.10
Architecture Properties
A note on Target Availability
• A target is NOT a guarantee!
• Availability is affected by more than just the software application:
• Operating system
• Hardware
• Network
• Environment (power, cooling etc)
• Upgrades/maintenance
• Quoted maximum target availabilities apply to EDB software maintenance only!
Availability Max downtime/year
99% 3d, 15h, 39m, 29s
99.9% 8h, 45m, 56s
99.99% 52m, 35s
99.999% 5m, 15s
99.9999% 31s
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.11
Core Architectures
Database servers
• Single Node
• Multi-node cluster with asynchronous replication
• Multi-node cluster with synchronous replication
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.12
• The most basic deployment
• A single PostgreSQL server for development/testing
• Not generally recommended for production applications
Single Node
Property Description
Recovery Time Objective Dependent on database size and backup strategy
Recovery Point Objective Dependent on backup strategy
Geographic Redundancy Objective N/A
Target Availability 99.9%
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.13
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.14
• Primary server with one or more "hot" standby servers
• Suitable for production environments with high availability and read scaling
• Write performant, but un-replicated transactions may be lost during failover
Multi node with asynchronous replication
Property Description
Recovery Time Objective < 60 seconds
Recovery Point Objective Typically a few seconds or less during failover (un-replicated transactions may be
lost). Dependent on backup strategy for full recovery.
Geographic Redundancy Objective Dependent on node placement. Typically multi-availability zone.
Target Availability 99.99% (99.999% may be possible with failover tuning)
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.15
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.16
• Primary server with one or more "hot" standby servers
• Suitable for production environments with high availability and read scaling
• Less write performant, but no loss of committed transactions during failover
Multi node with synchronous replication
Property Description
Recovery Time Objective < 60 seconds
Recovery Point Objective Typically a few seconds or less during failover, with no loss of committed
transactions. Dependent on backup strategy for full recovery.
Geographic Redundancy Objective Dependent on node placement. Typically multi-availability zone.
Target Availability 99.99% (99.999% may be possible with failover tuning)
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.17
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.18
Add-on Architectures
Pooling & Load Balancing/Query Routing
• pgBouncer
• pgPool
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.19
• Connection pooling to minimise connections to PostgreSQL and reduce
connection startup time
• Load balancing over hot standby servers for read-only connections:
• The application must be able to separate read and read/write
connections
• Supports Windows as well as Linux
Load balancing with pgBouncer
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.20
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.21
• Connection pooling to minimise connections to PostgreSQL and reduce
connection startup time
• Load balancing over hot standby servers for read-only connections
• Query routing for read-only vs. read-write transactions:
• Use with great care!
• Views, triggers and functions/procedures may mask write activity
Load balancing and query routing with pgPool
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.22
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.23
Add-on Architectures
Management
• Monitoring with Postgres Enterprise Manager (PEM)
• Backup & Recovery with Backup and Recovery Tool
(BART)
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.24
• Use when you have one or more PostgreSQL instances or clusters that you wish to monitor
and manage.
• PEM provides 24x7 monitoring and alerting, and tools for managing your database server,
including all functionality found in pgAdmin:
• Pre-built and self-built dashboards
• Capacity management predictive reporting
• Wait state performance analysis with EDB Postgres Advanced Server
• SQL profiling
• Tuning, logging, and audit logging wizards
• Static deployment analysis and recommendations
Monitoring & Management with Postgres
Enterprise Manager (PEM)
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.25
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.26
• Use when you have one or more PostgreSQL instances or clusters that you need to
backup for disaster recovery purposes.
• May be required to meet recovery time objectives.
• Backups can be full restores (i.e. the database cluster is restored in its entirety), or
Point In Time Recovery (PITR) may be used to restore the cluster to the state it was
in at a specific point in time.
• May be required to meet recovery point objects
• Can be managed with Postgres Enterprise Manager.
Backup & Recovery with Backup and Recovery Tool
(BART)
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.27
© Copyright EnterpriseDB Corporation, 2020. All rights reserved.28
Conclusion
Easy to use deployment patterns for PostgreSQL
EDB Reference Architectures make it easy to get your PostgreSQL
deployments up and running in battle-hardened configurations
• EDB Reference Architectures on Github
Upcoming webinar on 11 November 2020:
Automating a Postgres high availability architecture with Ansible
Thank You

More Related Content

What's hot

What's hot (20)

Expert Guide to Migrating Legacy Databases to Postgres
Expert Guide to Migrating Legacy Databases to PostgresExpert Guide to Migrating Legacy Databases to Postgres
Expert Guide to Migrating Legacy Databases to Postgres
 
Beginners Guide to High Availability for Postgres
Beginners Guide to High Availability for PostgresBeginners Guide to High Availability for Postgres
Beginners Guide to High Availability for Postgres
 
PostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolPostgreSQL as a Strategic Tool
PostgreSQL as a Strategic Tool
 
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
 
Database Dumps and Backups
Database Dumps and BackupsDatabase Dumps and Backups
Database Dumps and Backups
 
Replacing Oracle with EDB Postgres
Replacing Oracle with EDB PostgresReplacing Oracle with EDB Postgres
Replacing Oracle with EDB Postgres
 
Beginner's Guide to High Availability for Postgres - French
Beginner's Guide to High Availability for Postgres - FrenchBeginner's Guide to High Availability for Postgres - French
Beginner's Guide to High Availability for Postgres - French
 
Best Practices & Lessons Learned from Deployment of PostgreSQL
 Best Practices & Lessons Learned from Deployment of PostgreSQL Best Practices & Lessons Learned from Deployment of PostgreSQL
Best Practices & Lessons Learned from Deployment of PostgreSQL
 
OLTP+OLAP=HTAP
 OLTP+OLAP=HTAP OLTP+OLAP=HTAP
OLTP+OLAP=HTAP
 
How to Design for Database High Availability
How to Design for Database High AvailabilityHow to Design for Database High Availability
How to Design for Database High Availability
 
How to use postgresql.conf to configure and tune the PostgreSQL server
How to use postgresql.conf to configure and tune the PostgreSQL serverHow to use postgresql.conf to configure and tune the PostgreSQL server
How to use postgresql.conf to configure and tune the PostgreSQL server
 
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
 
Understand the Query Plan to Optimize Performance with EXPLAIN and EXPLAIN AN...
Understand the Query Plan to Optimize Performance with EXPLAIN and EXPLAIN AN...Understand the Query Plan to Optimize Performance with EXPLAIN and EXPLAIN AN...
Understand the Query Plan to Optimize Performance with EXPLAIN and EXPLAIN AN...
 
New and Improved Features in PostgreSQL 13
New and Improved Features in PostgreSQL 13New and Improved Features in PostgreSQL 13
New and Improved Features in PostgreSQL 13
 
PostgreSQL 13 is Coming - Find Out What's New!
PostgreSQL 13 is Coming - Find Out What's New!PostgreSQL 13 is Coming - Find Out What's New!
PostgreSQL 13 is Coming - Find Out What's New!
 
Beginner's Guide to High Availability for Postgres
Beginner's Guide to High Availability for Postgres Beginner's Guide to High Availability for Postgres
Beginner's Guide to High Availability for Postgres
 
New Integration Options with Postgres Enterprise Manager 8.0
New Integration Options with Postgres Enterprise Manager 8.0New Integration Options with Postgres Enterprise Manager 8.0
New Integration Options with Postgres Enterprise Manager 8.0
 
An Expert Guide to Migrating Legacy Databases to PostgreSQL
An Expert Guide to Migrating Legacy Databases to PostgreSQLAn Expert Guide to Migrating Legacy Databases to PostgreSQL
An Expert Guide to Migrating Legacy Databases to PostgreSQL
 
Remote DBA Service: Powering your DBA needs
Remote DBA Service: Powering your DBA needsRemote DBA Service: Powering your DBA needs
Remote DBA Service: Powering your DBA needs
 
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
 

Similar to An overview of reference architectures for Postgres

Similar to An overview of reference architectures for Postgres (20)

EDB: Power to Postgres
EDB: Power to PostgresEDB: Power to Postgres
EDB: Power to Postgres
 
Les nouveautés d'EDB Postgres 11
Les nouveautés d'EDB Postgres 11Les nouveautés d'EDB Postgres 11
Les nouveautés d'EDB Postgres 11
 
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationPostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate Innovation
 
EDB Postgres Platform 11 Webinar
EDB Postgres Platform 11 WebinarEDB Postgres Platform 11 Webinar
EDB Postgres Platform 11 Webinar
 
Enterprise-class security with PostgreSQL - 2
Enterprise-class security with PostgreSQL - 2Enterprise-class security with PostgreSQL - 2
Enterprise-class security with PostgreSQL - 2
 
Managing Postgres at Scale With Postgres Enterprise Manager
Managing Postgres at Scale With Postgres Enterprise ManagerManaging Postgres at Scale With Postgres Enterprise Manager
Managing Postgres at Scale With Postgres Enterprise Manager
 
Neuerungen in EDB Postgres 11
Neuerungen in EDB Postgres 11Neuerungen in EDB Postgres 11
Neuerungen in EDB Postgres 11
 
Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]
 
Save money with Postgres on IBM PowerLinux
Save money with Postgres on IBM PowerLinuxSave money with Postgres on IBM PowerLinux
Save money with Postgres on IBM PowerLinux
 
Enterprise PostgreSQL - EDB's answer to conventional Databases
Enterprise PostgreSQL - EDB's answer to conventional DatabasesEnterprise PostgreSQL - EDB's answer to conventional Databases
Enterprise PostgreSQL - EDB's answer to conventional Databases
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoOracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
 
Which PostgreSQL is right for your multi cloud strategy? P2
Which PostgreSQL is right for your multi cloud strategy? P2Which PostgreSQL is right for your multi cloud strategy? P2
Which PostgreSQL is right for your multi cloud strategy? P2
 
SQL PASS Taiwan 七月份聚會-1
SQL PASS Taiwan 七月份聚會-1SQL PASS Taiwan 七月份聚會-1
SQL PASS Taiwan 七月份聚會-1
 
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
 
EDB Database Servers and Tools
EDB Database Servers and Tools EDB Database Servers and Tools
EDB Database Servers and Tools
 
Optimize with Open Source
Optimize with Open SourceOptimize with Open Source
Optimize with Open Source
 
Optimizing Open Source for Greater Database Savings & Control
Optimizing Open Source for Greater Database Savings & ControlOptimizing Open Source for Greater Database Savings & Control
Optimizing Open Source for Greater Database Savings & Control
 
[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...
[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...
[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...
 
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsCloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
 

More from 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, 2021
EDB
 
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
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAIN
EDB
 

More from 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
 
Las Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLLas Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de 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
 
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
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

An overview of reference architectures for Postgres

  • 2. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.2 • Slides and recording will be available in next 48 hours • Submit questions via Zoom – will be answering at end • We will be sharing info about EDB and Postgres later Welcome – Housekeeping Items
  • 3. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.3 Agenda • Introduction to EDB • What are reference architectures? • Architecture properties • Core Architectures • Add-on architectures: • Pooling & Load Balancing/Query Routing • Management • Summary • Q&A
  • 4. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.4 • Enterprise PostgreSQL and Open Source innovations • 5,000+ global customers • Recognized by Gartner Magic Quadrant for 7 years in a row • One of the only sub-$1bn revenue companies • Recently acquired 2ndQuadrant, making us the largest dedicated PostgreSQL company in the world with over 500 employees • PostgreSQL community leadership, employing over 25 committers and recognised contributors 2019 Challengers Leaders Niche Players Visionaries Abilitytoexecute Completeness of vision 1986 The Design of PostgreSQL 1996 Birth of PostgreSQL 2004 EDB is founded 2020 TodayMaterialized Views Parallel Query JIT Compilation Heap Only Tuples (HOT) Serializable Parallel Query We’re database fanatics who care deeply about PostgreSQL Expertise
  • 5. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.5 • A set of pre-designed tried-and-test deployment patterns for PostgreSQL • Intended as a starting point: • Easy to try out • Can be used as-is • Can be used as a foundation • Core architectures for the database server • Add-on architectures provide additional capabilities What are Reference Architectures?
  • 6. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.6 Architecture Properties Recovery Time Objective (RTO) "The Recovery Time Objective (RTO) is the targeted duration of time and a service level within which a business process must be restored after a disaster (or disruption) in order to avoid unacceptable consequences associated with a break in business continuity." https://en.wikipedia.org/wiki/Disaster_recovery#Recovery_Time_Objective
  • 7. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.7 Architecture Properties Recovery Point Objective (RPO) "A Recovery Point Objective (RPO) is defined by business continuity planning. It is the maximum targeted period in which data (transactions) might be lost from an IT service due to a major incident. If RPO is measured in minutes (or even a few hours), then in practice, off-site mirrored backups must be continuously maintained; a daily off-site backup on tape will not suffice." https://en.wikipedia.org/wiki/Disaster_recovery#Recovery_Point_Objective
  • 8. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.8 Architecture Properties Geographic Redundancy Objective (GRO) "... sometimes considered the disaster recovery requirement. This objective encompasses what data needs to be replicated off site, how often and how far." https://storageswiss.com/2014/01/22/backup-basics-what-do-slo-rpo-rto-vro-and-gro- mean/#:~:text=Geographic%20Redundancy%20Objective&text=Simply%20put%2C%20users%20are%20more,multiple %20geographic%20requirements%20per%20application.
  • 9. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.9 Architecture Properties Target Availability "The degree to which a system, subsystem or equipment is in a specified operable and committable state at the start of a mission, when the mission is called for at an unknown, i.e. a random, time." "Normally high availability systems might be specified as 99.98%, 99.999% or 99.9996%." https://en.wikipedia.org/wiki/Availability
  • 10. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.10 Architecture Properties A note on Target Availability • A target is NOT a guarantee! • Availability is affected by more than just the software application: • Operating system • Hardware • Network • Environment (power, cooling etc) • Upgrades/maintenance • Quoted maximum target availabilities apply to EDB software maintenance only! Availability Max downtime/year 99% 3d, 15h, 39m, 29s 99.9% 8h, 45m, 56s 99.99% 52m, 35s 99.999% 5m, 15s 99.9999% 31s
  • 11. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.11 Core Architectures Database servers • Single Node • Multi-node cluster with asynchronous replication • Multi-node cluster with synchronous replication
  • 12. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.12 • The most basic deployment • A single PostgreSQL server for development/testing • Not generally recommended for production applications Single Node Property Description Recovery Time Objective Dependent on database size and backup strategy Recovery Point Objective Dependent on backup strategy Geographic Redundancy Objective N/A Target Availability 99.9%
  • 13. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.13
  • 14. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.14 • Primary server with one or more "hot" standby servers • Suitable for production environments with high availability and read scaling • Write performant, but un-replicated transactions may be lost during failover Multi node with asynchronous replication Property Description Recovery Time Objective < 60 seconds Recovery Point Objective Typically a few seconds or less during failover (un-replicated transactions may be lost). Dependent on backup strategy for full recovery. Geographic Redundancy Objective Dependent on node placement. Typically multi-availability zone. Target Availability 99.99% (99.999% may be possible with failover tuning)
  • 15. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.15
  • 16. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.16 • Primary server with one or more "hot" standby servers • Suitable for production environments with high availability and read scaling • Less write performant, but no loss of committed transactions during failover Multi node with synchronous replication Property Description Recovery Time Objective < 60 seconds Recovery Point Objective Typically a few seconds or less during failover, with no loss of committed transactions. Dependent on backup strategy for full recovery. Geographic Redundancy Objective Dependent on node placement. Typically multi-availability zone. Target Availability 99.99% (99.999% may be possible with failover tuning)
  • 17. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.17
  • 18. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.18 Add-on Architectures Pooling & Load Balancing/Query Routing • pgBouncer • pgPool
  • 19. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.19 • Connection pooling to minimise connections to PostgreSQL and reduce connection startup time • Load balancing over hot standby servers for read-only connections: • The application must be able to separate read and read/write connections • Supports Windows as well as Linux Load balancing with pgBouncer
  • 20. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.20
  • 21. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.21 • Connection pooling to minimise connections to PostgreSQL and reduce connection startup time • Load balancing over hot standby servers for read-only connections • Query routing for read-only vs. read-write transactions: • Use with great care! • Views, triggers and functions/procedures may mask write activity Load balancing and query routing with pgPool
  • 22. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.22
  • 23. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.23 Add-on Architectures Management • Monitoring with Postgres Enterprise Manager (PEM) • Backup & Recovery with Backup and Recovery Tool (BART)
  • 24. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.24 • Use when you have one or more PostgreSQL instances or clusters that you wish to monitor and manage. • PEM provides 24x7 monitoring and alerting, and tools for managing your database server, including all functionality found in pgAdmin: • Pre-built and self-built dashboards • Capacity management predictive reporting • Wait state performance analysis with EDB Postgres Advanced Server • SQL profiling • Tuning, logging, and audit logging wizards • Static deployment analysis and recommendations Monitoring & Management with Postgres Enterprise Manager (PEM)
  • 25. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.25
  • 26. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.26 • Use when you have one or more PostgreSQL instances or clusters that you need to backup for disaster recovery purposes. • May be required to meet recovery time objectives. • Backups can be full restores (i.e. the database cluster is restored in its entirety), or Point In Time Recovery (PITR) may be used to restore the cluster to the state it was in at a specific point in time. • May be required to meet recovery point objects • Can be managed with Postgres Enterprise Manager. Backup & Recovery with Backup and Recovery Tool (BART)
  • 27. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.27
  • 28. © Copyright EnterpriseDB Corporation, 2020. All rights reserved.28 Conclusion Easy to use deployment patterns for PostgreSQL EDB Reference Architectures make it easy to get your PostgreSQL deployments up and running in battle-hardened configurations • EDB Reference Architectures on Github Upcoming webinar on 11 November 2020: Automating a Postgres high availability architecture with Ansible Thank You