RethinkDB es una base de datos distribuida, libre y de código abierto , orientada a documentos , creada originalmente por la empresa del mismo nombre. La base de datos almacena documentos JSON con esquemas dinámicos y está diseñada para facilitar la introducción de actualizaciones en tiempo real de los resultados de las consultas en las aplicaciones. Inicialmente financiada por Y Combinator en junio de 2009, [2] la empresa anunció en octubre de 2016 que no había podido construir un negocio sostenible y que sus productos serían completamente de código abierto sin apoyo comercial. [3]
Luego, la CNCF ( Cloud Native Computing Foundation ) compró los derechos del código fuente de RethinkDB y lo contribuyó a la Linux Foundation . [4]
RethinkDB se fundó en 2009 y se lanzó como código abierto la versión 1.2 en 2012. [5] En 2015, RethinkDB lanzó la versión 2.0 y anunció que estaba lista para producción. [6] El 5 de octubre de 2016, la empresa anunció que cerraría, que trasladaría a miembros de su equipo de ingeniería a Stripe y que ya no ofrecería soporte de producción. [7] [8] El 6 de febrero de 2017, The Cloud Native Computing Foundation compró los derechos del código fuente y lo volvió a licenciar bajo la Licencia Apache 2.0. [9] [10]
RethinkDB utiliza el lenguaje de consulta ReQL, un lenguaje interno (integrado) específico del dominio disponible oficialmente para Ruby , Python , Java [11] y JavaScript (incluido Node.js ). Tiene soporte para uniones de tablas , agrupaciones, agregaciones y funciones. También hay controladores no oficiales compatibles con la comunidad para otros lenguajes, incluidos C# , Clojure , Erlang , Go , Haskell , Lua y PHP .
Según el ranking DB-Engines , a febrero de 2016, era la 46.ª base de datos más popular. [12]
Una característica distintiva de RethinkDB es el soporte de primera clase para feeds de cambios en tiempo real. Una consulta de cambio devuelve un cursor que permite realizar solicitudes bloqueantes o no bloqueantes para realizar un seguimiento de un flujo potencialmente infinito de cambios en tiempo real. [13]
Debido a un aparente estancamiento, los miembros de la comunidad bifurcaron RethinkDB el 17 de mayo de 2018. [14] El nuevo proyecto, llamado RebirthDB, también está alojado en GitHub. El proyecto luego se fusionó nuevamente con el repositorio original. [15]