Company attributes
Other attributes
RethinkDB is a free and open-sourced distributed document-oriented database storing JSON documents with complex schemas. The website was originally developed by a company with the same name and was designed to facilitate real-time updates between query results and applications.
RethinkDB was founded on May 1, 2009, by Slava Akhmechet and Michael Glukhovsky, and by June of 2009, Rethink was participating in the Y Combinator accelerator S09 batch. The company received an unspecified amount of Seed funding at this time from Y Combinator.
In 2012, Rethink was open-sourced at version 1.2. In 2015 the company released a 2.0 version of the product and at the same time announced that it was production-ready, however by October of 2016, the company announced it would be closing down due to a lack of profitability and sustainability. Rethink stated that all of its products would be entirely open-sourced without any commercial support in the future.
At the time of the closing announcement in 2016, Rethink also announced that its engineering team would be transitioning over to the company Stripe and that they would no longer be offering production support within the RethinkDB brand.
On February 6, 2017, RethinkDB was purchased by the Cloud Native Computing Foundation (CNCF) for a reported $25,000. CNCF purchased the rights to the source code and relicensed it under the Apache License 2.0, making RethinkDB part of the Linux Foundation. This sale allowed RethinkDB to become a community-driven product that would continue to function and be updated over time.
In 2018, due to the appearance of stagnation in RethinkDB, the product was forked by community members in May of that year. The new project was called RebirthDB and was hosted on GitHub. After some time, the project was merged back into RethinkDB, the original repository.
Rethink uses the ReQL query language, an embedded domain-specific language available for Python, Ruby, Java, and JavaScript (including Node.js) coding. There are unofficial community-supported drivers for other coding languages like C#, Clojure, Erlang, Go, Haskell, Lua, Elixr, C++, Common Lisp, Delphi, Swift, Perl, Rust, JS neumino, Dart, Nim, and PHP. ReQL has support for groupings, aggregations, table joins, and functions.
The real-time updating of RethinkDB is unique from other databases. The real-time changefeeds allow clients to see updates in tables as they are happening. A change query will return a cursor that allows blocking or non-blocking requests, which keeps track of a potentially infinite stream of real-time changes to the feeds. Nearly any ReQL query can become a changefeed.