Dynomite vs RocksDB: What are the differences?
What is Dynomite? Making Non-Distributed Databases, Distributed. Dynomite is a generic dynamo implementation that can be used with many different key-value pair storage engines. Currently these include Redis and Memcached. Dynomite supports multi-datacenter replication and is designed for high availability.
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.
Dynomite and RocksDB are primarily classified as "Database Cluster Management" and "Databases" tools respectively.
Some of the features offered by Dynomite are:
- Highly available reads
- Pluggable Datastores
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
Dynomite and RocksDB are both open source tools. It seems that RocksDB with 14.3K GitHub stars and 3.12K forks on GitHub has more adoption than Dynomite with 3.09K GitHub stars and 395 GitHub forks.