Citus Review
Citus adds sharding and columnar storage capabilities to PostgreSQL. While it is an impressive piece of tech, I prefer other options for every use case.
Citus is an open-source PostgreSQL extension that grants it the ability to shard and distribute data to multiple nodes, and also to store data in a columnar fashion. It was recently purchased by Microsoft, but remains open-source.
Citus is an open-source PostgreSQL extension that grants it the ability to shard and distribute data to multiple nodes, and also to store data in a columnar fashion. It was recently purchased by Microsoft, but remains open-source.
Citus doesn't market itself as a direct competitor to the ultra-scale databases with geographic distribution features like CockroachDB, Spanner, or Yugabyte. Rather, its ability to distribute data seems more aimed at clusters running within the same data center (or at least the same cloud region) to increase performance.
Pros
- It is free and open source.
- Developers love PostgreSQL, which makes it relatively easy to recruit for. It is consistently the most loved database technology on Stack Overflow's developer survey by a wide margin.
- It is fast, safe, reliable, and has a vibrant community.
- It is readily available as a Docker image, or through the official download page.
- Citus is compatible with the official PostgreSQL UI, pgAdmin.
- It inherits PostgreSQL awesome documentation.
Cons
- Citus doesn't have geographic distribution features like CockroachDB or Spanner.
- It doesn't separate storage from compute like modern, cloud-native data warehouses do.
- SQL Server's 1st party tooling is just plain better. SSMS, SSIS, SQL Server Profiler, SSDT, SSRS, SSAS, and SQL Server Agent are all awesome.
- It doesn't have the ability to keep a table entirely in memory, like SQL Server does with it's Hekaton feature.