Neha Patil (Editor)

RethinkDB

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Development status
  
Active

Operating system
  
Unix, Linux, OS X, BSD

Written in
  
C++, JavaScript, Bash

Initial release
  
24 July 2009 (2009-07-24)

Stable release
  
2.3.5 / August 27, 2016 (2016-08-27)

Repository
  
github.com/rethinkdb/rethinkdb

RethinkDB is a free and open-source, NoSQL, distributed document-oriented database originally created by the company of the same name. The database stores JSON documents with dynamic schemas, and is designed to facilitate pushing real-time updates for query results to applications. Initially seed funded by Y Combinator in June 2009, the company announced in October 2016 that it had been unable to build a sustainable business and its products would in future be entirely open-sourced without commercial support.

Contents

History

RethinkDB was founded in 2009, and open-sourced at version 1.2 in 2012. In 2015, RethinkDB released version 2.0, announcing that it was production-ready. On October 5, 2016, the company announced it was shutting down, transitioning members of its engineering team to Stripe, and would no longer offer production support. On February 6, 2017, The Cloud Native Computing Foundation purchased the rights to the source code and relicensed it under the Apache License 2.0.

ReQL

RethinkDB uses the ReQL query language, an internal (embedded) domain-specific language officially available for Ruby, Python, Java and JavaScript (including Node.js). It has support for table joins, groupings, aggregations and functions. There are also unofficial, community-supported drivers for other languages, including C#, Clojure, Erlang, Go, Haskell, Lua, and PHP.

Popularity

According to the DB-Engines.com rankings, as of February 2016, it was the 46th most popular database. The most recent major version 2.3 was released in April 2016

Comparison with other NoSQL databases

RethinkDB can also be significantly slower than other NoSQL databases like MongoDB. But it provides a helpful web-based administrative user interface for managing the database. Some of its API syntax can result in code that is visually messy.

A distinguishing feature of RethinkDB is the first class support for real-time change feeds. A change query returns a cursor which allows blocking or non-blocking requests to keep track of a potentially infinite stream of real-time changes.

References

RethinkDB Wikipedia