RethinkDB

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
RethinkDB
Initial release24 July 2009; 17 years ago (2009-07-24) [1]
Stable release
2.4.4 / December 10, 2023 (2023-12-10)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC++, Python, Java, JavaScript, Bash
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemUnix, Linux, OS X, Windows, BSD
    Available inEnglish
    LicenseApache License 2.0[1]
    Websiterethinkdb.com

    RethinkDB is a free and open-source, distributed document-oriented database originally created by the company of the same name. The database stores JSON documents with dynamic schemas, and is designed to facilitate pushing real-time updates for query results to applications. Initially seed funded by Y Combinator in June 2009,[2] the company announced in October 2016 that it had been unable to build a sustainable business and its products would be entirely open-sourced without commercial support.[3]

    The CNCF (Cloud Native Computing Foundation) then purchased the rights to the RethinkDB source code and contributed it to the Linux Foundation.[4]

    History

    [edit | edit source]

    RethinkDB was founded in 2009, and open-sourced at version 1.2 in 2012.[5] In 2015, RethinkDB released version 2.0, announcing that it was production-ready.[6] On October 5, 2016, the company announced it was shutting down, transitioning members of its engineering team to Stripe, and would no longer offer production support.[7][8] On February 6, 2017, The Cloud Native Computing Foundation purchased the rights to the source code and relicensed it under the Apache License 2.0.[9][10]

    RethinkDB uses the ReQL query language, an internal (embedded) domain-specific language officially available for Ruby, Python, Java[11] and JavaScript (including Node.js). It has support for table joins, groupings, aggregations and functions. There are also unofficial, community-supported drivers for other languages, including C#, Clojure, Erlang, Go, Haskell, Lua, and PHP.

    Popularity

    [edit | edit source]

    According to the DB-Engines ranking, as of June 2025, it was the 105th most popular database.[12]

    Comparison with other document databases

    [edit | edit source]

    A distinguishing feature of RethinkDB is the first class support for real-time change feeds. A change query returns a cursor which allows blocking or non-blocking requests to keep track of a potentially infinite stream of real-time changes.[13]

    Due to seeming stagnation, RethinkDB was forked by members of the community on May 17, 2018. [14] The new project, called RebirthDB, is also hosted on GitHub. The project later merged back with the original repository.[15]

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Jeremy Zawodny, RethinkDB: Rethinking the Database using Modern Assumptions, Linux Magazine, August 24, 2009
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]