I recently shared on the Parse blog that we’re running MongoDB on RocksDB in production for some workloads and we’re seeing great results! I wanted to use this space to explain to a wider audience why we’re fans of RocksDB and generally geek out about how it’s working for us.
We love the Rocks engine because, in our experience, its writes are a lot faster (e.g. 50x faster inserts) and compression is impressive. The default MongoDB mmapv1 storage engine is uncompressed; we get 70%-90% compression just by importing in to Rocks. It means we can fit all the compressed indexes into RAM, which makes everything run faster in general since you don’t have to seek to disk as much.
Rocks may be the best engine out there when it comes to write optimization and efficient storage usage, so it’s exciting to get to use it with MongoDB. Mongo truly shines when it comes to things like automatic failovers, workload flexibility (we run more than half a million workloads), and beautiful data interface layer. Adding Rocks under the hood improves all these metrics.
We’ll continue to detail our experience with RocksDB on the Parse blog. To stay up-to-date on this and other engineering fun, like the Facebook Engineering page.