Comparing Citus Database Options

The Citus database is an extension to Postgres that gives you all the greatness of Postgres at any scale—whether on a single node or a distributed cluster. Available as open source and in the cloud as Azure Cosmos DB for PostgreSQL.

Looking for Citus on Azure? Now available as Azure Cosmos DB for PostgreSQL
Citus Distributed Database Features

Citus Open Source Citus on Azure

Citus is Postgres, which means we offer relational database features like ACID transactions, joins, foreign key constraints, and SQL coverage.

yes yes

Citus is an extension to Postgres that enables you to scale out Postgres across multiple nodes, giving your Postgres database a much larger memory, compute, and disk footprint than on a single-node. And increasing performance in a big way. You can now shard Postgres on a single node, too.

yes yes

Distributed query planner and executor that parallelizes queries across shards, enabling massive parallelism and efficient resource utilization.

yes yes

Distributed transactions

yes yes

Citus is not a fork, rather we use PostgreSQL’s extension APIs to scale out. We give you trusted, familiar Postgres.

yes yes

PostgreSQL and Citus support 40+ data types, including semi-structured data types and JSONB. Popular Postgres extensions frequently used with Citus include Patroni, HyperLogLog (HLL), PostGIS, TopN, hstore, pg stat statements, dblink, plpgsql, uuid ossp, ltree, pgvector, & more.

yes yes

With the new Citus columnar feature, you can compress regular Postgres tables and/or distributed tables to reduce disk footprint, reduce I/O bandwidth needs, and speed up analytics queries.

yes yes

Works with Ruby, Python, Java, Node.js, Javascript, Go, C++. And to make it easy to migrate your multi-tenant Rails and Django apps to Citus, we’ve created PostgreSQL libraries: activerecord-multi-tenant gem on Rails, and django-multitenant library for Django.

yes yes

Probabilistic distincts (sketch algorithms)

yes yes

When adding nodes to a Citus cluster, the shard rebalancer enables you to redistribute shards across old and new nodes to better balance the data distribution and the performance of your Citus database. The non-blocking shard rebalancer is now 100% open source, too. Also included are progress tracking for the shard rebalancer and parallel shard rebalancing.

yes yes

Granular access controls in Citus enable you to limit capabilities to certain types of users to control user access and reduce risk.

yes yes

Citus automatically manages user creation for you across the cluster, and enables fine-grained control over inter-node authentication using certificates or other methods.

yes yes

Patroni automatically discovers and registers Citus worker nodes on the coordinator and handles failovers by replacing addresses of workers. It also helps to make controlled switchovers of worker nodes transparent by pausing client connections so that applications don't experience errors.

yes no

High availability is available in Azure Cosmos DB for PostgreSQL. Enable high availability to have standby replicas of every node with automatic failover in your server group.

no yes

24x7 Support

no yes

In Azure Cosmos DB for PostgreSQL, you can provision a cluster in just a few clicks. Adding more nodes & increasing memory, compute, and disk is simple, too.

no yes

Citus is available in the cloud as Azure Cosmos DB for PostgreSQL, a fully-managed database as a service. Available in most Azure regions, Azure Cosmos DB for PostgreSQL includes automated backups, point in time recovery, automated health checks, & automated monitoring.

no yes

Azure Cosmos DB for PostgreSQL includes 2FA, encryption at rest and in flight, firewall rules, private link, and of course continual review of security vulnerabilities.

no yes
Download Try now

Are You Ready to Distribute Postgres with Citus?