I’ve been following the development of RethinkDB since I first heard about it a few years ago. My excitement over it has only grown over time.
RethinkDB is an open source database that fits somewhere between a relational database like MySQL or PostgreSQL and newer schema-less databases like MongoDB. However, it’s got a few things I don’t think any other database has.
RethinkDB pushes results to your app in real time
Typically, you’d need a separate Publish-Subscribe system in place to do this.
With RethinkDB, you can start a query and request to get changes. Your app will automatically receive any changed data related to your query after that.
If you want something that’s closer to current Publish-Subscribe methods, RethinkDB has you covered there, too, with their repubsub library.
It’s insanely easy to cluster
This is right from their docs.
First, start RethinkDB on the first machine:
$ rethinkdb --bind all
Then start RethinkDB on the second machine:
$ rethinkdb --join IP_OF_FIRST_MACHINE:29015 --bind all