|RethinkDB 2.1 Released|
|Written by Kay Ewbank|
|Friday, 21 August 2015|
The latest version of RethinkDB has been released with a major restructuring of its clustering layer and over 200 enhancements.
RethinkDB is an open source NoSQL JSON database designed for web apps. Its main differentiator is that you can tell it to continuously push updated query results to applications in real time, rather than having your app poll for changes.
It comes from a startup founded in 2009 with support from YCombinator and was open sourced in 2012. At that time the team blogged:
RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language [ReQL] that supports really useful queries like table joins and group by, and is easy to setup and learn.
The main changes to the new version, Rethink DB 2.1, aka Forbidden Planet, start with support for automatic failover. In the event of a server failure, RethinkDB will now automatically elect new servers and continue to operate without the need for administrators to restart it.
Writing about the feature on the RethinkDB blog, the developers say that when a server with a primary replica fails:
“the servers with remaining replicas elect an acting primary to take its place until the wayward server is either restored or permanently excised from the cluster. As long as a majority of replicas remain operational to elect an acting primary, hardware failure or partial network outages will no longer compromise database availability.”
In this video, introduced by Annie Ruygt, Daniel Mewes, RethinkDB's Director of Engineering demos this new feature:
Cluster behavior is also more forgiving in instances where individual servers fail. For example, you no longer have to permanently remove a failed server from the cluster in order to perform administrative tasks like table creation. Another improvement is support for adding and removing nodes from a live cluster while resharding without the need to shut down.
The failover support is based on the Raft consensus algorithm that was developed by Stanford researchers. Unfortunately for the developers, the existing Raft libraries didn’t integrate well with the networking and coroutine layers in RethinkDB, so they implemented their own version of Raft that integrated cleanly with lower-level RethinkDB subsystems.
The new version has added support for asynchronous queries. These are supported via EventMachine in Ruby and Twisted, Tornado, and asyncio frameworks in Python.
RethinkDB 2.1 also has SSL support in the official drivers, so it’s easier to access RethinkDB clusters over the public internet. New maths commands have also been added to the ReQL query language in the form of floor, ceil, and round.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Friday, 21 August 2015 )|