RethinkDB

RethinkDB

Informations
Première version
Dernière version 2.4.4 ()[1]Voir et modifier les données sur Wikidata
Dépôt RethinkDB sur GitHub
État du projet actif
Écrit en C++[2]
Système d'exploitation Type UnixVoir et modifier les données sur Wikidata
Environnement CentOS, Debian, OS X, Ubuntu
Type Système distribué de gestion de base de données (d)Voir et modifier les données sur Wikidata
Licence Apache License 2.0
Site web Site officielVoir et modifier les données sur Wikidata

RethinkDB est un système de gestion de base de données orientée documents et distribuée. C'est un logiciel libre, sous licence Apache License 2.0.

L'entreprise

[modifier | modifier le code]

RethinkDB est également le nom de l'entreprise qui développe le logiciel. Elle a été fondée le et son siège est situé à Mountain View, en Californie. Elle a été soutenue dès sa création par Y Combinator[3]. L'entreprise annonce sa fin en , en indiquant toutefois que le développement du produit doit se poursuivre par sa communauté[4]. L'équipe de développement rejoint alors Stripe.

Le développement de RethinkDB a débuté en 2009[5]. C'est au départ un outil basé sur MySQL et optimisé pour les disques SSD[6]. Une des idées de RethinkDB est alors de simplifier le travail du serveur en se débarrassant des caches de données[7]. Par exemple, le moteur de stockage InnoDB, présent dans MySQL, optimise ses accès aux disques durs en écrivant des séries de données, celles-ci étant physiquement proches les unes des autres sur le disque. Dans le cas d'un disque SSD, les données sont réparties sur tout le disque et il est donc inutile d'essayer de rassembler des données pour les écrire ensemble sur disque[8].

En , la version 1.0 de RethinkDB est publiée, avec d'importants changements par rapport au plan initial : le produit n'est plus basé sur MySQL et est adapté à tous les types de stockages (disques SSD, disques durs et cloud)[9].

Notoriété

[modifier | modifier le code]

En , RethinkDB est en position 67 du classement de popularité des bases de données établi par DB-Engines[10].

Il existe plusieurs groupes d'utilisateurs de RethinkDB se rencontrant régulièrement, notamment aux États-Unis, au Royaume-Uni et en Israël[11].

Caractéristiques

[modifier | modifier le code]

RethinkDB fait partie du mouvement NoSQL. Il permet de stocker des documents JSON[12].

RethinkDB dispose de son propre langage de requête : ReQL. C'est en fait une API qui permet d'interagir avec la base de données[13], pour toutes les opérations (CRUD, MapReduce[14], DDL, etc.). Un des points forts de ReQL est de permettre les jointures[15].

Références

[modifier | modifier le code]
  1. « Release 2.4.4 », (consulté le )
  2. (en) « RethinkDB System Properties », sur DB-Engines (consulté le )
  3. (en) « RethinkDB », sur CrunchBase (consulté le )
  4. (en) « RethinkDB is shutting down - RethinkDB », sur rethinkdb.com, (consulté le )
  5. (en) Jason Kincaid, « YC-Funded RethinkDB: A MySQL Storage Engine Built From The Ground Up For Solid State Drives », sur TechCrunch, (consulté le )
  6. Christophe Noël, « RethinkDB optimise MySQL pour les SSD », sur Infos stockage, (consulté le )
  7. Pierre Dandumont, « Un serveur de base de données optimisé SSD », sur Tom's Hardware, (consulté le )
  8. (en) Jeremy Zawodny, « RethinkDB: Rethinking the Database using Modern Assumptions », sur Linux Magazine, (consulté le )
  9. (en) Jason Kincaid, « RethinkDB Expands Beyond SSDs, Launches Its Speedy Database To The Public », sur TechCrunch, (consulté le )
  10. (en) « DB-Engines Ranking », sur DB-Engines, (consulté le )
  11. « RethinkDB », sur Meetup.com (consulté le )
  12. (en) Gordon Dent, « A Comprehensive Guide to moving from SQL to RethinkDB », sur AirPair (en), (consulté le )
  13. (en) Alex Cruikshank, « RethinkDB: a Qualitative Review », sur Carbon Five, (consulté le )
  14. (en) « Map-reduce in RethinkDB », sur Documentation RethinkDB (consulté le )
  15. (en) « Table joins in RethinkDB », sur Documentation RethinkDB (consulté le )

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]