RethinkDB

RethinkDB
Initial release 24 July 2009 (2009-07-24) [1]
Stable release
2.3.5 / August 27, 2016 (2016-08-27)
Repository github.com/rethinkdb/rethinkdb
Development status Active
Written in C++, JavaScript, Bash
Operating system Unix, Linux, OS X, BSD
Available in English
License AGPL
Website rethinkdb.com

RethinkDB is an 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,[2] 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.[3]

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.[4] 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.[5][6]

ReQL

RethinkDB uses the ReQL query language, an internal (embedded) domain-specific language officially available for Ruby, Python, Java[7] 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.[8] The most recent major version 2.3 was released in April 2016[9]

Comparison with SQL databases

RethinkDB works with JSON documents. This allows for nested data structures, in contrast with SQL databases where data is stored as rows and columns. A strong schema is not enforced, so two documents stored in the same collection may have different structure. Updates on multiple documents are not atomic, and RethinkDB does not provide full ACID support.

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.[10]

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.[11]

See also

References

  1. Jeremy Zawodny, RethinkDB: Rethinking the Database using Modern Assumptions, Linux Magazine, August 24, 2009
  2. Jason Kincaid (July 28, 2009). "YC-Funded RethinkDB, A MySQL Storage Engine Built From The Ground Up For Solid State Drives". TechCrunch.
  3. "Stripe hires engineering team behind failed database startup". FinTech Global. October 6, 2016.
  4. "RethinkDB releases first production version of its real-time database". SiliconANGLE. Retrieved 2016-02-09.
  5. Akhmechet, Slava (2016-10-05). "RethinkDB is shutting down - RethinkDB". rethinkdb.com. Archived from the original on 2016-10-06.
  6. Mewes, Daniel (2016-10-05). "Removed production support link from README :(". GitHub: rethinkdb/rethinkdb. Retrieved 2016-10-06.
  7. http://rethinkdb.com/blog/official-java-driver/
  8. "DB-Engines Ranking". db-engines.com. Retrieved 26 December 2015.
  9. "RethinkDB 2.3: user accounts, network encryption, Windows support". rethinkdb.com. Retrieved 13 May 2016.
  10. Jake Bailey. "Juristat | A Comparison of MongoDB and RethinkDB with Patent Data". Retrieved 21 April 2015.
  11. "Changefeeds in RethinkDB". Retrieved 2 Dec 2016.
This article is issued from Wikipedia - version of the 12/3/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.