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 key components
- Core 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 methods: comparing hash-based versus append-based approaches
- Selecting the appropriate distribution column for optimal 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 parallelises queries
- Understanding distributed query plans
- Query pushdown techniques and execution optimisation
5. Consistency, Transactions and Fault Tolerance
- Two-Phase Commit (2PC) and atomic operations
- Handling failures within 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 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.