Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
1. Introduction to Distributed PostgreSQL
- Challenges associated with scaling single-node PostgreSQL
- Overview of the Citus extension: its purpose, architecture, and core components
- Key concepts: coordinator nodes, worker nodes, metadata, and distribution keys
2. Cluster Architecture and Setup
- Node types: distinguishing between coordinator and worker nodes
- Table types: distributed, replicated, and local tables
- Installing and configuring Citus within existing PostgreSQL environments
- Cluster discovery and node management techniques
3. Data Distribution and Sharding Strategies
- Sharding methodologies: hash-based versus append-based approaches
- Selecting the optimal distribution column for performance
- Managing distributed and replicated tables
- Re-balancing shards and scaling out the cluster
4. Distributed Query Execution and Optimisation
- Mechanisms by which Citus routes and parallelizes queries
- Analyzing distributed query plans
- Query pushdown and execution optimization techniques
5. Consistency, Transactions and Fault Tolerance
- Two-Phase Commit (2PC) and atomic operations
- Strategies for handling failures in distributed transactions
6. Operational Management and Use Cases
- Monitoring tools and views specific to Citus
- Maintenance procedures and upgrades in distributed environments
Requirements
- Completion of the Advanced Administration (High Availability & Replication) course or equivalent professional experience
- Strong understanding of PostgreSQL configuration and performance tuning
- Familiarity with Linux operating systems and fundamental network concepts
Audience
This course is designed for experienced Database Administrators, DevOps Engineers, and System Architects who currently manage production PostgreSQL environments and require methods to scale them horizontally.
7 Hours
Testimonials (1)
Logging behaviour when the instance is under stress, and the hierarchy/nomenclature of instances, databases, files, etc.