What makes this different from any of the other distributed document databases for scalable web applications? The only thing different from mongodb that I see is sensible defaults.
The HackerNews thread has some more information about it, with many of the devs present.
In it, they said they are working on comparisons with other current popular solutions.
If anyone else is curious and doesn’t feel like sifting through HN, here is a summary:
Quote from Slava, one of the founders:
“A far more advanced query language — distributed joins, subqueries, etc. — almost anything you can do in SQL you can do in RethinkDB
MVCC — which means you can run analytics on your realtime system without locking up
All queries are fully parallelized — the compiler takes the query, breaks it up, distributes it, runs it in parallel, and gives you the results”
Also, they have chosen C in CAP, rather than a sliding scale between A and C like MongoDB. It seems like their main argument for RethinkDB is “easy” which I think is a good argument, but also one that MongoDB has been killing it with for years already.
MongoDB locking has been something they have had problems with for a while. They thought they would be able to release collection-level locking in 2.2, but couldn’t get any better than database-level locking. MongoDB has also been working on its aggregation features, so the flexibility of the query language will only be meaningful for other competitors. It seems like a hard sell, since really what will make it easy is not making advanced features easier to use, but making startup features easy to use.
Hopefully they’ll be able to get more client libraries out the door soon—more competition in this space should be good for those of us who use them, even if MongoDB and RethinkDB reach feature parity (excluding MVCC, CAP tradeoffs) in a year or two.