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.  

  rethinkbanner

 

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.

rethinkforbiddenplanet 

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.

 rethinkwithraft

 

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.

rethinksq

 

More Information

RethinkDB

RethinkDB 2.1: high availability

Rethink DB on Github

Related Articles

CockroachDB Released

Meet SquiDB

RocksDB on Steroids

Asterix DB – Big Data Management System

 

To be informed about new articles on I Programmer subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


GitHub Announces Improvements At Universe 2021
04/11/2021

GitHub Universe 2021 has now ended, with a wide ranging set of improvements and new features announced at the conference. These ranged from making the new GitHub Issues a public beta, through improved [ ... ]



Apple 1 Sells for $500,000
14/11/2021

The "Chaffey College Apple 1", so called because its first owner was an electronics professor there, recently sold at auction for $500,000. As well as being one of the early run of 200 units, it is on [ ... ]


More News

 

square

 



 

Comments




or email your comment to: comments@i-programmer.info

 

Last Updated ( Friday, 21 August 2015 )