Not a fork
Citus is an open source extension to Postgres. Because Citus extends PostgreSQL rather than forking it, it allows you to benefit from new features while maintaining compatibility with existing tools. As an extension, Citus provides you all the familiarity and reliability of Postgres.
- Powerful data types, such as ranges and JSONB
- High performance indexes like B-Tree, Hash, and GIN
- Ecosystem system of PostgreSQL libraries and tools
Real-time analytics across your data
Citus provides users real-time responsiveness over large datasets, most commonly seen in rapidly growing event systems or with time series data. Common uses include powering real-time analytic dashboards, exploratory queries on events as they happen, session analytics, and large data set archival and reporting.
- Ingest billions of records per day. Store and roll-up data within one database
- Get answers to your analytical queries in less than a second
- Join your time-series data with other data sets in a smart way
What's included with Citus Community Edition
Citus makes it easy for you to shard your data allowing you to scale out your tables that have billions of rows. You have flexibility in distributing your data either by a hash key or by a time range. Once you've modeled how you wish to distribute your data, Citus takes care of sharding and replication for you.
Distributed Query Engine
Citus takes an incoming SQL query, plans the query for parallel execution, and pushes down these parallel computations to the machines in the cluster. As you add new machines, Citus automatically distributes the work to leverage all the memory and cpu cores available.
Dynamic Executors for Multiple Workloads
Operational (high throughput) and analytical workloads introduce different trade-offs in a distributed environment. Citus comes built-in with three distributed executors, each optimized for a different workload.
With scale out systems, traditional methods of computing of computing various aggregations can't always be completed in a reasonable amount of time. For many use cases, such as unique sessions on the web, or unique occurrences of an event, a probabilistic approximation is sufficient as a metric. With sketch algorithms, such as HyperLogLog, you can in real-time provide deeper analytics across up to petabytes of data.