HBase vs RocksDB: What are the differences?
What is HBase? The Hadoop database, a distributed, scalable, big data store. Apache HBase is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable: A Distributed Storage System for Structured Data by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, HBase provides Bigtable-like capabilities on top of Apache Hadoop.
What is RocksDB? 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.
HBase and RocksDB can be categorized as "Databases" tools.
"Performance" is the top reason why over 7 developers like HBase, while over 2 developers mention "Very fast" as the leading cause for choosing RocksDB.
HBase and RocksDB are both open source tools. It seems that RocksDB with 14.1K GitHub stars and 3.09K forks on GitHub has more adoption than HBase with 2.87K GitHub stars and 1.98K GitHub forks.
According to the StackShare community, HBase has a broader approval, being mentioned in 54 company stacks & 18 developers stacks; compared to RocksDB, which is listed in 6 company stacks and 7 developer stacks.
What is HBase?
What is RocksDB?
Want advice about which of these to choose?Ask the StackShare community!
What are the cons of using HBase?
What are the cons of using RocksDB?
What tools integrate with HBase?
What tools integrate with RocksDB?
The final output is inserted into HBase to serve the experiment dashboard. We also load the output data to Redshift for ad-hoc analysis. For real-time experiment data processing, we use Storm to tail Kafka and process data in real-time and insert metrics into MySQL, so we could identify group allocation problems and send out real-time alerts and metrics.