Need advice about which tool to choose?Ask the StackShare community!
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.
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!
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.
Pros of Citus
- Multi-core Parallel Processing6
- Drop-in PostgreSQL replacement3
- Distributed with Auto-Sharding2
Pros of RocksDB
- Very fast5
- Made by Facebook3
- Consistent performance2
- Ability to add logic to the database layer where needed1