blog image

What is Citus?

Citus is basically worry-free Postgres that is built to scale out. It’s an extension to Postgres that distributes data and queries in a cluster of multiple machines. As an extension (rather than a fork), Citus supports new PostgreSQL releases, allowing users to benefit from new features while maintaining compatibility with existing PostgreSQL tools. Citus horizontally scales PostgreSQL across multiple machines using sharding and replication. Its query engine parallelizes incoming SQL queries across these servers to enable human real-time (less than a second) responses on large datasets. Citus delivers scale and performance by distributing Postgres across many nodes—and is often used as a system of record for multi-tenant applications, and as a system of engagement for real-time analytics dashboards.

Citus extends PostgreSQL with distributed functionality, but it is not a drop-in replacement that scales out all workloads. A performant Citus cluster involves thinking about the data model, tooling, and choice of SQL features used.

Citus Use Cases

  • Multi-Tenant Applications : For fast-growing multi-tenant apps that need to scale while still providing a snappy customer experience, Citus shards Postgres across multiple nodes. So you can add new customers, deliver great performance, and not have to worry about your database infrastructure.
  • Real-Time Analytics : For real-time analytics dashboards, the distributed nature of a Citus database cluster enables sub-second response times for customer-facing analytics dashboards, even with real-time ingest, very large data sets, complex queries, and lots of concurrent users.