Citus vs RocksDB

Need advice about which tool to choose?Ask the StackShare community!

Citus

58
122
+ 1
10
RocksDB

136
291
+ 1
11
Add tool

Citus vs RocksDB: What are the differences?

Developers describe Citus as "Worry-free Postgres for SaaS. Built to scale out". Citus is worry-free Postgres for SaaS. Made to scale out, Citus is an extension to Postgres that distributes queries across any number of servers. Citus is available as open source, as on-prem software, and as a fully-managed service. On the other hand, RocksDB is detailed as "Embeddable persistent key-value store for fast storage, developed and maintained by Facebook Database Engineering Team". RocksDB is an embeddable persistent key-value store for fast storage. RocksDB can also be the foundation for a client-server database but our current focus is on embedded workloads. RocksDB builds on LevelDB to be scalable to run on servers with many CPU cores, to efficiently use fast storage, to support IO-bound, in-memory and write-once workloads, and to be flexible to allow for innovation.

Citus and RocksDB can be categorized as "Databases" tools.

Some of the features offered by Citus are:

  • Multi-Node Scalable PostgreSQL
  • Built-in Replication and High Availability
  • Real-time Reads/Writes On Multiple Nodes

On the other hand, RocksDB provides the following key features:

  • Designed for application servers wanting to store up to a few terabytes of data on locally attached Flash drives or in RAM
  • Optimized for storing small to medium size key-values on fast storage -- flash devices or in-memory
  • Scales linearly with number of CPUs so that it works well on ARM processors

"Multi-core Parallel Processing" is the top reason why over 3 developers like Citus, while over 2 developers mention "Very fast" as the leading cause for choosing RocksDB.

Citus and RocksDB are both open source tools. RocksDB with 14.3K GitHub stars and 3.12K forks on GitHub appears to be more popular than Citus with 3.64K GitHub stars and 273 GitHub forks.

Advice on Citus and RocksDB
Needs advice
on
HBaseHBaseMilvusMilvus
and
RocksDBRocksDB

I am researching different querying solutions to handle ~1 trillion records of data (in the realm of a petabyte). The data is mostly textual. I have identified a few options: Milvus, HBase, RocksDB, and Elasticsearch. I was wondering if there is a good way to compare the performance of these options (or if anyone has already done something like this). I want to be able to compare the speed of ingesting and querying textual data from these tools. Does anyone have information on this or know where I can find some? Thanks in advance!

See more
Replies (1)
Emily Kurze
Recommends

You've probably come to a decision already but for those reading...here are some resources we put together to help people learn more about Milvus and other databases https://zilliz.com/comparison and https://github.com/zilliztech/VectorDBBench. I don't think they include RocksDB or HBase yet (you could could recommend on GitHub) but hopefully they help answer your Elastic Search questions.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Citus
Pros of RocksDB
  • 6
    Multi-core Parallel Processing
  • 2
    Drop-in PostgreSQL replacement
  • 2
    Distributed with Auto-Sharding
  • 5
    Very fast
  • 3
    Made by Facebook
  • 2
    Consistent performance
  • 1
    Ability to add logic to the database layer where needed

Sign up to add or upvote prosMake informed product decisions

What is Citus?

It's an extension to Postgres that distributes data and queries in a cluster of multiple machines. Its query engine parallelizes incoming SQL queries across these servers to enable human real-time (less than a second) responses on large datasets.

What is RocksDB?

RocksDB is an embeddable persistent key-value store for fast storage. RocksDB can also be the foundation for a client-server database but our current focus is on embedded workloads. RocksDB builds on LevelDB to be scalable to run on servers with many CPU cores, to efficiently use fast storage, to support IO-bound, in-memory and write-once workloads, and to be flexible to allow for innovation.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Citus?
What companies use RocksDB?
See which teams inside your own company are using Citus or RocksDB.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Citus?
What tools integrate with RocksDB?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Jan 26 2022 at 4:34AM

Pinterest

Amazon EC2RocksDBOpenTSDB+3
3
722
GitHubPythonReact+42
49
40727
What are some alternatives to Citus and RocksDB?
TimescaleDB
TimescaleDB: An open-source database built for analyzing time-series data with the power and convenience of SQL — on premise, at the edge, or in the cloud.
CockroachDB
CockroachDB is distributed SQL database that can be deployed in serverless, dedicated, or on-prem. Elastic scale, multi-active availability for resilience, and low latency performance.
Apache Aurora
Apache Aurora is a service scheduler that runs on top of Mesos, enabling you to run long-running services that take advantage of Mesos' scalability, fault-tolerance, and resource isolation.
Cassandra
Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
Vitess
It is a database solution for deploying, scaling and managing large clusters of MySQL instances. It’s architected to run as effectively in a public or private cloud architecture as it does on dedicated hardware. It combines and extends many important MySQL features with the scalability of a NoSQL database.
See all alternatives