Get in Touch
 Duration 7 hours

Course Outline

1. Introduction to Distributed PostgreSQL

  • Scaling limitations encountered with single-node PostgreSQL
  • Overview of the Citus extension: its purpose, architecture, and core components
  • Essential concepts: coordinator nodes, worker nodes, metadata, and distribution keys

2. Cluster Architecture and Configuration

  • Understanding node types: distinguishing between coordinators and workers
  • Table classifications: distributed, replicated, and local tables
  • Installing and configuring Citus within existing PostgreSQL environments
  • Cluster discovery mechanisms and node administration

3. Data Distribution and Sharding Approaches

  • Sharding methodologies: comparing hash-based versus append strategies
  • Choosing the optimal distribution column for maximum performance
  • Administration of distributed and replicated tables
  • Rebalancing shards and strategies for scaling out

4. Distributed Query Execution and Optimization

  • Mechanisms by which Citus routes and parallelizes query execution
  • Analyzing distributed query execution plans
  • Techniques for query pushdown and execution optimization

5. Consistency, Transactions, and Fault Tolerance

  • Two-Phase Commit (2PC) protocols and atomic operations
  • Strategies for handling failures within distributed transactions

6. Operational Management and Real-World Applications

  • Monitoring tools and system views specific to Citus
  • Maintenance procedures and upgrading processes in distributed settings

Requirements

  • Completion of the Advanced Administration (High Availability & Replication) course or comparable practical experience
  • A strong grasp of PostgreSQL configuration and performance tuning practices
  • Familiarity with Linux operating systems and fundamental networking concepts

Audience

Proficient Database Administrators, DevOps Engineers, and System Architects who currently manage production PostgreSQL environments and require strategies for horizontal scaling.

Testimonials (2)

Related Categories