Interested in a less biased overview? Browse through the technical comparison tables between RethinkDB and MongoDB.
Many people have been asking how RethinkDB differs from MongoDB and other NoSQL systems. Our first attempt to address these questions is a high level technical overview comparing RethinkDB with MongoDB. However, the overview is meant to be impartial, and it omits some of the more interesting bits about what makes RethinkDB special (such as our irrational love for Dota). In this post we wanted to describe the product from a more personal perspective.
First generation NoSQL products fall into roughly two categories—developer-oriented and operations-oriented.
Developer-oriented products include MongoDB and CouchDB. They typically pay close attention to ease of use, have rich document structure, and offer flexible querying capabilities. However, when compared with their operations-oriented counterparts, they are more difficult to deploy to sharded environments and to scale to significant load.
Operations-oriented systems include Cassandra and Riak. These products are designed for highly available deployments and high scale. Unlike developer-oriented products, in their current form operations-oriented products typically have less powerful querying capabilities, and tend to focus less on ease of use.
With the benefit of hindsight and three years of engineering effort, RethinkDB aims to embody ideas from each philosophy to offer the best of both worlds. It is designed to be very easy to use, has a rich data model, and supports extremely flexible querying capabilities. A cluster of RethinkDB nodes can be sharded in only a couple of clicks (really, it’s that easy, check out the screencast). Browse through the ReQL API reference to see how RethinkDB attempts to accomplish these goals.
Will Larson said it best on his blog, Irrational Exuberance:
RethinkDB has captured some of the best ideas from Cassandra and CouchDB. - Reflection on RethinkDB
We’re also working on extending what’s possible with NoSQL systems. RethinkDB adds a modern query language, a massively parallel distributed infrastructure, support for distributed joins and subqueries, and has administration tools that are both simple and beautiful. Here are some of the reasons our early adopters have been especially excited about RethinkDB.
@rethinkdb has the best query language of all new databases that I’ve seen. - @rauchg
That’s not to say that ReQL is complete. There are more features and operations that we’re constantly adding to the query language.
WOW. @RethinkDB’s admin interface is incredible. And installing on OSX is a cinch. Check it out people! - @mjackson
Many products are easy to use, but we think RethinkDB is beautiful. See the screencast video and be the judge yourself.
wow joins across shards, this is distributed data dream come true - @kapso
Of course we’re always improving performance and are always working to remove more performance and scalability bottlenecks.
RethinkDB looks like a MongoDB done right: MVCC, non blocking writes, durability by default, v8, incremental vacuum, easy sharding, … - @herodiade
RethinkDB works really well for many projects, but is not a good choice for every task. Learn more about when RethinkDB isn’t a good choice for your application.
Form your own opinion! Take RethinkDB for a spin and don’t forget to give us your feedback so we can work out the quirks faster.
Dive into RethinkDB with the thirty-second quickstart! →