100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Database

RethinkDB

AdvancedService1.5K learners

RethinkDB is an open-source, distributed NoSQL document database built for real-time applications, letting clients subscribe to live query results ("changefeeds") that push updates as matching data changes.

Definition

RethinkDB is an open-source, distributed NoSQL document database built for real-time applications, letting clients subscribe to live query results ("changefeeds") that push updates as matching data changes.

Overview

RethinkDB was open-sourced in the early 2010s with a specific goal: instead of the typical "poll" pattern most databases use, it pioneered a "push" query model aimed squarely at building real-time, collaborative applications. It stores schema-flexible JSON documents in a way broadly similar to MongoDB, and exposes ReQL, a chainable query language embedded directly in application code. Its signature feature is changefeeds: a client can subscribe to a query and receive a continuous stream of diffs whenever matching documents are inserted, updated, or deleted, removing the need for manual polling or a separate pub/sub layer bolted on top of the database. The company behind RethinkDB struggled to find a sustainable business model and shut down commercial operations, after which the open-source project continued under community stewardship. Today it's a niche choice, largely superseded in new projects by databases and platforms with real-time subscriptions built in, such as Firebase, Supabase, or Convex, though it remains a notable early influence on real-time-first database design.

Key Features

  • Changefeeds that push live updates to subscribed clients instead of requiring polling
  • ReQL, a composable query language embedded directly in application code
  • Schema-flexible JSON document storage
  • Built-in horizontal sharding and replication for distributed deployments
  • Admin UI for cluster monitoring and query exploration
  • Joins, aggregations, and geospatial queries within ReQL

Use Cases

Real-time collaborative apps such as shared documents or whiteboards
Live dashboards that need to react to data changes instantly
Multiplayer game state synchronization
Chat and notification systems built without a separate pub/sub service
IoT applications streaming live sensor data to clients
Prototyping apps that need "reactive" data without custom plumbing

Frequently Asked Questions