POSETTE 2024 is a wrap! 💯 Thanks for joining the fun! Missed it? Watch all 42 talks online 🍿
POSETTE 2024 is a wrap! 💯 Thanks for joining the fun! Missed it? Watch all 42 talks online 🍿
Learn how to scale out Postgres with Citus, from a single node to a large distributed cluster. Citus is a Postgres extension, not a fork, and is 100% open source.
The Citus database distributes your Postgres tables or schemas across multiple nodes and parallelizes your queries and transactions. The combination of parallelism, keeping more data in memory, and higher I/O bandwidth often leads to dramatic speed ups. In this chart, we show a benchmark SQL query running ~40x faster with an 8-node Citus cluster vs. a single Postgres node.
Citus makes it possible to distribute your data, queries, and transactions across multiple nodes—by row or by schema. In addition, the architecture includes a distributed query planner and an adaptive query executor. You can shard on a single node, query from any node, and you can use the columnar feature to achieve compression ratios of 3x-10x or more. Citus is a 100% open source Postgres extension.
Citus is an open source extension to Postgres (not a fork.) So when you use Citus, you’re still using Postgres under the covers, along with the Citus extension on top. To your application, running on a Citus distributed database is like running on top of a single Postgres node. And because Citus is an extension, it’s easy for us to keep Citus current with the latest Postgres releases—plus you get the performance benefits of horizontal scale, while still being able to leverage your familiar SQL toolset and your Postgres expertise.
Because Citus distributes your data, parallelizes your queries, keeps more data in memory, and gives you higher I/O bandwidth—Citus can meet the demanding performance requirements of mixed OLTP and OLAP workloads. So you can simplify your architecture by using a single database for your app’s transactional and analytical workloads, even for data-intensive applications. Citus gives you more capabilities: you can now use both columnar and row-based tables in your Citus distributed database. And with Citus 12, you can now easily support microservices.
Find out more about the Citus concepts, architecture, cluster management, APIs, use cases, & performance tuning.
See how Citus scales out Postgres and parallelizes your workloads via these YouTube videos. Tip: turn on captions.
Learn how to use Citus by using sample data in these short tutorials. For time series data, check out the use case guide.
You can download and install Citus open source packages for Docker, Ubuntu, Debian, Fedora, CentOS, and Red Hat via these simple steps.
You can stand up a Citus cluster in minutes with the Azure Cosmos DB for PostgreSQL managed service.
Using sharding and replication, the Citus extension distributes your data and queries across multiple nodes in a cluster, to give your app parallelism as well as more memory, compute, and disk. Citus is available as an open source download and in the cloud as a managed service. Azure Cosmos DB for PostgreSQL makes it easy to stand up a managed Citus cluster in minutes.
As of Citus 10, you can now shard Postgres on a single node, too. So you can adopt a distributed data model from the start to parallelize your queries—and be “scale-out ready.” Single-node Citus can also help to simplify your CI/CD pipelines.
Learn how Citus works in this talk about Citus table types, the PostgreSQL extension APIs, the Citus query planner, and performance benchmarks comparing multi-node Citus clusters to a single node.
Blog Post
Citus 12.1 blog post
Release Notes
Official release notes for Citus 12.1
Blog Post
Schema-based sharding comes to Postgres with Citus
Blog Post
Citus 12 blog post
Release Notes
Official release notes for Citus 12
Blog Post
How Citus supports the PostgreSQL MERGE command, as of Citus 12.0
Blog Post
Distributed PostgreSQL benchmarks using HammerDB, by GigaOM
Blog Post
Citus 11.3 blog post
Release Notes
Official release notes for Citus 11.3
Blog Post
Distributed Postgres goes full open source with Citus: why, what, & how
Open Source News
Open sourcing the Citus shard rebalancer
Blog Post
How to scale Postgres for time series data