- 17. Sep
RethinkDB is the first open-source, scalable JSON database built from the ground up for the real-time web. It inverts the traditional database architecture by exposing an exciting new access model – instead of polling for changes, the developer can tell RethinkDB to continuously push updated query results to applications in real-time. RethinkDB’s real-time push architecture dramatically reduces the time and effort necessary to build scalable real-time apps.
In addition to being designed from the ground up for real-time apps, RethinkDB offers a flexible query language, intuitive operations, and monitoring APIs, and is easy to set up and learn.
Building real-time apps
Reactive web and mobile apps
Web apps like Google Docs, Trello, and Quora pioneered the real-time experience on the web. With RethinkDB, you can build amazing real-time apps with dramatically less engineering effort.
When a player takes an action in a multiplayer game, every other player in the game needs to see the change in real-time. RethinkDB dramatically simplifies the data infrastructure for low latency, high throughput real-time interactions.
RethinkDB dramatically reduces the complexity of building a real-time trading and optimization engines. Publish real-time updates to thousands of clients, and provide pricing updates to users in milliseconds.
Build real-time dashboards with RethinkDB data push notifications, and make instantaneous business decisions.
RethinkDB dramatically simplifies modern IoT infrastructures. Stream data between connected devices enable messaging and signaling and trigger actions in millions of devices in milliseconds.
What's in the box?
Work with your favorite stack
Query JSON documents with Python, Ruby, Node.js or dozens of other languages. Build modern apps using your favorite web framework, paired with real-time technologies like Socket.io or SignalR.
RethinkDB integrates the latest advances in database technology. It has a modern distributed architecture, a highly-optimized buffer cache, and a state of the art storage engine. All of these components work together to create a robust, scalable, high-performance database.
Everything you need to build modern apps
Express relationships using joins, build location-aware apps or store multimedia and time-series data. Do analytics with aggregation and map/reduce, and speed up your apps using flexible indexing.
Built with love by the open source community
Developed by a core team of database experts and over 100 contributors from around the world, RethinkDB is shaped by developers like you participating in an open development process.
When is RethinkDB a good choice?
RethinkDB is a great choice when your applications could benefit from real-time feeds to your data.
The query-response database access model works well on the web because it maps directly to HTTP’s request-response. However, modern applications require sending data directly to the client in real-time. Use cases where companies benefited from RethinkDB’s real-time push architecture include:
- Collaborative web and mobile apps
- Streaming analytics apps
- Multiplayer games
- Real-time marketplaces
- Connected devices
For example, when a user changes the position of a button in a collaborative design app, the server has to notify other users that are simultaneously working on the same project. Web browsers support these use cases via WebSockets and long-lived HTTP connections, but adapting database systems to real-time needs still presents a huge engineering challenge.
RethinkDB is the first open-source, scalable database designed specifically to push data to applications in real-time. It dramatically reduces the time and effort necessary to build scalable real-time apps.
Implementing efficient real-time push architecture required redesigning most database components, including the query execution engine, the distributed system, the caching subsystem, and the storage engine. Because the architecture affects every database component, RethinkDB has been implemented in C++ from scratch. RethinkDB was built over five years by a team of database experts with the help of hundreds of contributors from around the world.
Different from realtime syn
RethinkDB is fundamentally different from real-time sync APIs like Firebase, PubNub, or Pusher in three important ways.
Firstly, real-time sync APIs are cloud services and RethinkDB is an open-source project. While RethinkDB is available in the cloud via our partners at Compose.io and Amazon AWS, it can also be deployed in your own infrastructures without restrictions.
Secondly, real-time sync APIs are limited to syncing documents, while RethinkDB is a general purpose database system. In RethinkDB you can run arbitrary queries including table joins, subqueries, geospatial queries, aggregation, and map-reduce. Real-time sync services have much more limited querying capabilities.
Finally, real-time sync APIs are designed to be accessed directly from the browser. This makes it very easy to get basic apps up and running but limits the flexibility as the app expands. RethinkDB is designed to be accessed from an application server, much like a traditional database. This requires slightly more setup code but allows a lot of flexibility as the application becomes more sophisticated.