Citus logo

Citus

PostgreSQL extension that shards tables across a cluster for distributed SQL workloads

Open Source Alternative to
Repository activity
  • Stars12.6k
  • Forks779
  • Open Issues1.1k
License

AGPL-3.0

Languages
  • C
  • PLpgSQL
  • Python
Citus screenshot

About Citus

Citus is a PostgreSQL extension that turns Postgres into a distributed database. It targets applications that have outgrown a single PostgreSQL node, especially multi-tenant apps, analytical queries, time series, IoT data, and real-time analytics workloads.

Distributed tables are sharded across PostgreSQL nodes to combine CPU, memory, storage, and I/O. Reference tables are replicated to all nodes for joins and foreign keys. A distributed query engine routes and parallelizes SELECT, DML, and other operations, while columnar storage compresses data and speeds up scans.

Citus works with recent PostgreSQL versions and existing PostgreSQL tools and extensions. It can run on a single Citus node, on a multi-node cluster with added worker nodes and shard rebalancing, or as Azure Cosmos DB for PostgreSQL managed service.

Key features

  • Distributed tables sharded across PostgreSQL nodes
  • Reference tables replicated to all nodes for joins and foreign keys
  • Distributed query engine for SELECT, DML, and other operations
  • Columnar storage for compression, scans, and projections
  • Query from any node for distributed queries

Details

First released
2016
Type
PostgreSQL extension
Scaling
Single node · Multi-node cluster
Storage
Row · Columnar
Cloud
Azure Cosmos DB for PostgreSQL
License
AGPL-3.0