MongoDB vs RocksDB: What are the differences?
What is MongoDB? The database for giant ideas. MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
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.
MongoDB and RocksDB can be categorized as "Databases" tools.
"Document-oriented storage" is the top reason why over 788 developers like MongoDB, while over 2 developers mention "Very fast" as the leading cause for choosing RocksDB.
MongoDB and RocksDB are both open source tools. It seems that MongoDB with 16.3K GitHub stars and 4.1K forks on GitHub has more adoption than RocksDB with 14.3K GitHub stars and 3.12K GitHub forks.
Uber Technologies, Lyft, and Codecademy are some of the popular companies that use MongoDB, whereas RocksDB is used by Facebook, LinkedIn, and Skry, Inc.. MongoDB has a broader approval, being mentioned in 2189 company stacks & 2218 developers stacks; compared to RocksDB, which is listed in 6 company stacks and 7 developer stacks.
What is MongoDB?
What is RocksDB?
Want advice about which of these to choose?Ask the StackShare community!
What are the cons of using RocksDB?
What tools integrate with MongoDB?
What tools integrate with RocksDB?
Used MongoDB as primary database. It holds trip data of NYC taxis for the year 2013. It is a huge dataset and it's primary feature is geo coordinates with pickup and drop off locations. Also used MongoDB's map reduce to process this large dataset for aggregation. This aggregated result was then used to show visualizations.
MongoDB fills our more traditional database needs. We knew we wanted Trello to be blisteringly fast. One of the coolest and most performance-obsessed teams we know is our next-door neighbor and sister company StackExchange. Talking to their dev lead David at lunch one day, I learned that even though they use SQL Server for data storage, they actually primarily store a lot of their data in a denormalized format for performance, and normalize only when they need to.
Nearly all of our backend storage is on MongoDB. This has also worked out pretty well. It's enabled us to scale up faster/easier than if we had rolled our own solution on top of PostgreSQL (which we were using previously). There have been a few roadbumps along the way, but the team at 10gen has been a big help with thing.
We are testing out MongoDB at the moment. Currently we are only using a small EC2 setup for a delayed job queue backed by
agenda. If it works out well we might look to see where it could become a primary document storage engine for us.