We have some exciting news to share: we are running MongoDB with the RocksDB storage engine in production for all apps hosted on Nodechef
If you have been paying attention to MongoDB, you’ll remember that the 3.0 release of MongoDB introduced a modular storage engine API, allowing third party storage engines to integrate seamlessly with the MongoDB data interface. Today there are a few third party engines like WiredTiger, TokuDB and RocksDB in addition to MMAPv1 which is the original storage engine.
The RocksDB engine is being developed by Facebook engineers and it is one of the fastest, most compact and write-optimized storage engines available. It has been running for many years as a storage layer for various services at Facebook and Parse, so we have a lot of confidence in its maturity.
Why MongoDB + RocksDB (MongoRocks for short)
The MMAP storage engine is not without issues. It became a source of pain at Parse when they began to handle larger and more demanding workloads. Some of the issues they faced include:
- Single writer lock per DB which limited write throughput,
- No compression so requiring significantly more data storage and
- Larger hardware costs due to memory requirements. With MMAP, memory is critical to performance, and they needed a lot of it.
With RocksDB they achieved,
- 50x increased write speed
- An average of 90% reduction in storage space
- Document-level locking for increased throughput
We are excited to bring this greater performance and efficiency to our users as a fully managed solution. Our fully managed MongoDB offers many advantages at an unbeatable price. This includes:
- Highly compressed storage and blazing fast writes
- Dedicated database with oplog access
- Free SSL MongoDB connections
- MongoDB with authentication enabled
- Zero-downtime vertical scaling
- Zero-downtime horizontal scaling via sharding
- Provisioned on powerful SSD backed hardware.
- Daily snapshot backups.
- Timely email support
- Nodechef cloud search integration
You can learn more about RocksDB internals here. For those interested in running their own MongoDB infrastructure, you can find the MongoRocks setup guide here. If you have questions or feedback, please visit the MongoRocks Google Group.
For NodeChef platform questions or feedback, please contact us here.