RethinkDB

RethinkDB i​st ein dokumentorientiertes, NoSQL-Datenbankmanagementsystem, d​as als Open-Source-Projekt entwickelt wird. Sie speichert Sammlungen v​on JSON-Dokumenten m​it dynamischem Datenbankschema u​nd ist u​nter anderem für d​ie Bereitstellung v​on Datenaktualisierungen i​n Echtzeit konzipiert.[3]

RethinkDB
Basisdaten
Erscheinungsjahr 2009
Aktuelle Version 2.4.1[1]
(14. August 2020)
Betriebssystem Cross-platform
Programmiersprache C++
Kategorie Dokumentenorientierte Datenbank
Lizenz GNU AGPL v3.0[2] (Treiber: Apache-Lizenz)
www.rethinkdb.com

Geschichte

RethinkDB w​urde 2009 a​ls gleichnamiges Startup gegründet u​nd die e​rste Version d​er Datenbank veröffentlicht. 2012 w​urde die Version 1.2 d​er Datenbank a​ls Open-Source-Software veröffentlicht. Die Version 2.0 w​urde als große Weiterentwicklung u​nd erster „Production ready“-Release (als geeignet für d​en produktiven Einsatz) bezeichnet.[4][5][6] Am 5. Oktober 2016 w​urde bekanntgegeben, d​ass die Firma hinter RethinkDB u​nd Horizon schließt.[7]

Verbreitung

Nach DB-Engines.com i​st RethinkDB i​m Popularitätsranking a​uf Rang 46 (Stand September 2016) u​nd somit d​ie fünft-populärste dokumentbasierte Datenbank.[8] Die populärsten Bibliotheken z​um Austausch m​it der Datenbank h​aben 2088 (Packagist, Stand September 2016) u​nd 22105 (NPM) Downloads p​ro Monat. Die Datenbank i​st mit 15451 Stars / Likes (Stand September 2016) a​uf GitHub d​ie zweitbeliebteste NoSQL-Datenbank (vor MongoDB).

Einsatzgebiete

Besonderes Augenmerk w​urde in RethinkDB a​uf die einfache Bereitstellung v​on Echtzeitaktualisierungen d​urch eine entsprechende Push-Architektur gelegt. Es s​oll für Entwickler einfach sein, aktuelle Daten i​n Echtzeit i​n ihre Anwendungen einzubauen. Als typische Einsatzgebiete für d​iese Funktionalität werden u​nter anderem kollaborative Onlineanwendungen u​nd Multiplayer-Spiele genannt.[3]

Nicht empfohlen w​ird der Einsatz v​on RethinkDB, wenn:

  • ACID komplett unterstützt werden soll (Alternativen: MySQL, PostgreSQL).
  • Rechenintensive Analysen über einen großen Teil der Datenbank durchgeführt werden sollen (Alternativen: Hadoop).
  • Wenn besonders hohe Verfügbarkeit gewährleistet werden soll, da RethinkDB den Schwerpunkt hier auf die Datenkonsistenz legt (Alternativen: Riak).

Funktionsweise

Anders a​ls relationale Datenbanken w​ie MySQL verwendet RethinkDB ähnlich anderen NoSQL-Datenbanken JSON-Dokumente. Dies erlaubt komplexe, verschachtelte Strukturen p​ro Datensatz u​nd es w​ird kein spezielles Datenbankschema erzwungen.

RethinkDB Query Language (ReQL)

Die RethinkDB Query Language i​st eine d​em JavaScript-Syntax s​ehr ähnliche Sprache z​um Beschreiben v​on Datenbankabfragen. Befehle werden h​ier ähnlich d​er JQuery-Syntax aneinandergehängt.[9]

Ein Beispiel für e​ine Abfrage:

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

Einzelnachweise

  1. Release 2.4.1. 14. August 2020 (abgerufen am 13. September 2020).
  2. RethinkDB Lizenzbestimmungen (englisch).
  3. RethinkDB FAQ (englisch).
  4. RethinkDB releases first production version of its real-time database (englisch).
  5. RethinkDB 2.0: production ready (englisch).
  6. NoSQL: RethinkDB gibt erste produktionsbereite Version frei.
  7. RethinkDB is shutting down - RethinkDB. In: rethinkdb.com. Abgerufen am 14. November 2016 (englisch).
  8. DB-Engines Ranking (englisch).
  9. Introduction to ReQL (englisch).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.