RethinkDB

from Wikipedia, the free encyclopedia
RethinkDB
Basic data

Publishing year 2009
Current  version 2.4.0
( December 19, 2019 )
operating system Cross-platform
programming language C ++
category Document-oriented database
License GNU AGPL v3.0 (driver: Apache license )
www.rethinkdb.com

RethinkDB is a document - oriented , NoSQL database management system that is being developed as an open source project. It stores collections of JSON documents with a dynamic database schema and is designed, among other things, for the provision of data updates in real time.

history

RethinkDB was founded in 2009 as a startup of the same name and the first version of the database was published. In 2012, version 1.2 of the database was published as open source software. Version 2.0 was described as a major further development and the first “production ready” release (as suitable for productive use). On October 5, 2016, it was announced that the company was closing behind RethinkDB and Horizon.

distribution

According to DB-Engines.com, RethinkDB is ranked 46th in the popularity ranking (as of September 2016), making it the fifth most popular document-based database. The most popular libraries for exchange with the database have 2088 (Packagist, as of September 2016) and 22105 (NPM) downloads per month. With 15,451 stars / likes (as of September 2016) on GitHub, the database is the second most popular NoSQL database (ahead of MongoDB ).

Areas of application

In RethinkDB, special attention was paid to the simple provision of real-time updates through a corresponding push architecture. It should be easy for developers to incorporate current data into their applications in real time. Typical areas of application for this functionality include collaborative online applications and multiplayer games.

The use of RethinkDB is not recommended if:

  • ACID should be fully supported (alternatives: MySQL , PostgreSQL ).
  • Computationally intensive analyzes should be carried out over a large part of the database (alternatives: Hadoop ).
  • If particularly high availability is to be guaranteed, as RethinkDB focuses here on data consistency (alternatives: Riak ).

functionality

Unlike relational databases like MySQL , RethinkDB uses JSON documents similar to other NoSQL databases . This allows complex, nested structures per data record and no special database scheme is enforced.

RethinkDB Query Language (ReQL)

The RethinkDB Query Language is a language very similar to the JavaScript syntax for describing database queries. Commands are concatenated here similar to the JQuery syntax.

An example of a query:

r.db("music").table("catalog").filter(function(album){
  return album("details").filter(function(track){
    return track("media_type_id").eq(2)
  })
})

Web links

Individual evidence

  1. Release 2.4.0 . December 19, 2019 (accessed December 20, 2019).
  2. RethinkDB license terms (English).
  3. a b RethinkDB FAQ (English).
  4. RethinkDB releases first production version of its real-time database .
  5. RethinkDB 2.0: production ready (English).
  6. NoSQL: RethinkDB releases the first production-ready version .
  7. ^ RethinkDB is shutting down - RethinkDB. In: rethinkdb.com. Retrieved November 14, 2016 .
  8. DB-Engines Ranking (English).
  9. Introduction to ReQL (English).