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


Ai-Da's Portrait of Alan Turing At Auction
01/11/2024

Sotheby's Digital Art Day Action, now underway, features a large-scale portrait of  Alan Turing created by Ai-Da, the humanoid robot artist whose work, including this canvas, was exhibited at the [ ... ]



C23 ISO Standard Is Here But You Probably Won't Read It
06/11/2024

At last ISO C23 has been published, but at $250 you probably aren't going to read it. Can we really tolerate this sort of profiteering on the work of others? This is worse than academic publishing!


More News

 

espbook

 

Comments




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

 

Last Updated ( Friday, 21 August 2015 )