RethinkDB is a
free and open-source
Free and open-source software (FOSS) is software available under a Software license, license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term ...
, distributed
document-oriented database
A document-oriented database, or document store, is a computer program and data storage system designed for storing, retrieving and managing document-oriented information, also known as semi-structured data.
Document-oriented databases are one ...
originally created by the company of the same name. The database stores
JSON
JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
documents with dynamic
schemas, and is designed to facilitate pushing real-time updates for query results to applications. Initially
seed funded by
Y Combinator
Y Combinator, LLC (YC) is an American technology startup accelerator and venture capital firm launched in March 2005 which has been used to launch more than 5,000 companies. The accelerator program started in Boston and Mountain View, Californi ...
in June 2009, 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.
The CNCF (
Cloud Native Computing Foundation
The Cloud Native Computing Foundation (CNCF) is a subsidiary of the Linux Foundation founded in 2015 to support cloud-native computing.
History
It was announced alongside Kubernetes 1.0, an open source container cluster manager, which was contri ...
) then purchased the rights to the RethinkDB source code and contributed it to the
Linux Foundation
The Linux Foundation (LF) is a non-profit organization established in 2000 to support Linux development and open-source software projects.
Background
The Linux Foundation started as Open Source Development Labs in 2000 to standardize and prom ...
.
History
RethinkDB was founded in 2009, and open-sourced at version 1.2 in 2012. In 2015, RethinkDB released version 2.0, announcing that it was production-ready. 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.
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.
ReQL
RethinkDB uses the ReQL query language, an internal (embedded)
domain-specific language
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
officially available for
Ruby
Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
,
Python,
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
and
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
(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
Clojure (, like ''closure'') is a dynamic programming language, dynamic and functional programming, functional dialect (computing), dialect of the programming language Lisp (programming language), Lisp on the Java (software platform), Java platfo ...
,
Erlang,
Go,
Haskell
Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
,
Lua, and
PHP
PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
.
Popularity
According to the
DB-Engines ranking The DB-Engines Ranking ranks database management systems by popularity, covering over 410 systems. The ranking criteria include number of search engine results when searching for the system names, Google Trends, Stack Overflow discussions, job offer ...
, , it was the 105th most popular database.
Comparison with other document databases
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.
Fork
Due to seeming stagnation, RethinkDB was forked by members of the community on May 17, 2018.
The new project, called RebirthDB, is also hosted on GitHub. The project later merged back with the original repository.
See also
*
NoSQL
NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
References
External links
*
*
{{DEFAULTSORT:RethinkDB
Free database management systems
Document-oriented databases
Distributed computing architecture
Structured storage
NoSQL
Linux Foundation projects