RethinkDB logo

RethinkDB

Scalable NoSQL database delivering real-time query updates

RethinkDB is a distributed, schemaless JSON document store that pushes live query results to applications, offering high availability, automatic failover, and drivers for major languages.

RethinkDB banner

Overview

Overview

RethinkDB is a distributed, schemaless JSON document database designed for developers building real‑time web applications. It introduces changefeeds, a query model that continuously streams inserts, updates, and deletions, eliminating the need for client‑side polling. The system provides built‑in clustering, automatic failover, and fault tolerance, making it suitable for horizontally‑scaled services.

Getting Started

The database runs on Linux, Windows, and FreeBSD and can be compiled from source after installing standard dependencies such as GCC/Clang, Protocol Buffers, and jemalloc. Official drivers are available for JavaScript, Python, Ruby, and Java, with a broad set of community drivers for languages like Go, C#, and Rust. After installation, a developer can start the server with rethinkdb and begin using changefeeds through their preferred driver.

Use Cases

Typical deployments include live blogs, collaborative whiteboards, real‑time dashboards, and event‑driven microservices that require instant data propagation to connected clients.

Highlights

Live changefeeds push query results to clients
Distributed architecture with easy horizontal scaling
Automatic failover for high availability
Official drivers for JavaScript, Python, Ruby, and Java

Pros

  • Real-time push eliminates polling
  • Schemaless JSON simplifies data modeling
  • Built-in clustering and failover
  • Rich ecosystem of official and community drivers

Considerations

  • Requires manual installation of system dependencies
  • C++ build process can be complex for newcomers
  • Smaller third‑party tooling ecosystem compared to some rivals
  • Community activity has slowed relative to newer databases

Managed products teams compare with

When teams consider RethinkDB, these hosted platforms usually appear on the same shortlist.

Azure Cosmos DB logo

Azure Cosmos DB

Fully managed, globally distributed NoSQL database service offering multi-model support with low-latency access worldwide

MongoDB logo

MongoDB

Document-oriented NoSQL database for flexible data storage

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Real-time collaborative applications (e.g., live blogs, whiteboards)
  • Live dashboards and monitoring panels
  • Event-driven microservices that need instant data propagation
  • Chat or IRC bots that react to database changes

Not ideal when

  • Heavy analytical or OLAP workloads
  • Strict ACID transaction requirements
  • Embedded or resource-constrained devices
  • Teams preferring fully managed cloud database services

How teams use it

Live blog with instant updates

Readers see new posts the moment they are published without page refresh.

Collaborative photo-sharing whiteboard

Multiple users can add and view images in real time, with changes synced instantly.

Real-time Instagram cat feed

A feed displays new cat photos as they are posted, powered by changefeeds.

IRC bot monitoring messages

Bot reacts to new chat messages stored in RethinkDB, enabling automated responses.

Tech snapshot

C++80%
Python18%
JavaScript1%
C1%
Ruby1%
Makefile1%

Frequently asked questions

What is a changefeed?

A changefeed is a query that stays open and streams inserts, updates, and deletions as they happen, allowing applications to receive live updates.

Which programming languages are officially supported?

Official drivers exist for JavaScript, Python, Ruby, and Java, with many community drivers for C#, Go, Rust, and more.

How does RethinkDB achieve high availability?

It uses a distributed cluster with automatic failover; if a node goes down, replicas take over without manual intervention.

What are the basic steps to run RethinkDB locally?

Install system dependencies, compile from source or use pre‑built packages, start the server with `rethinkdb`, and connect via a driver.

Is RethinkDB open source?

Yes, it is released under the Apache 2.0 license and maintained by the Linux Foundation community.

Project at a glance

Active
Stars
26,993
Watchers
26,993
Forks
1,853
Repo age13 years old
Last commit2 months ago
Primary languageC++

Last synced 3 hours ago