BT

Advancing The Realtime Web With RethinkDB

| by Alex Giamas Follow 9 Followers on Feb 19, 2015. Estimated reading time: 1 minute |

RethinkDB is an open-source distributed database built to store JSON and scale with very little effort. Self compared with MongoDB, RethinkDB is aiming to be developer friendly all the while maintaining an operations oriented approach of being highly available and high scale.

Prior to version 1.16, original intentions from RethinkDB was a system to push out changes from database level to specialized data stores like ElasticSearch or messaging systems. These were implemented as changefeeds, a way to subscribe to change notifications from the database. A client can subscribe to changes in a database table and get notified every time a change happens to it.

This feature was really well received and RethinkDB decided to expand it to explicitly support realtime apps. Building realtime apps in a truly scalable way is not easy and RethinkDB aims to change it. A client can subscribe to query results and will get a cursor that gets updated any time a change occurs in the database. RethinkDB claims that thousands of concurrent changefeeds can run in parallel, all getting results within milliseconds latency.

Comparing with realtime sync services like Firebase, PubNub and Pusher, RethinkDB offers better querying capabilities and can push changes on queries and not just single documents. Also, RethinkDB is an open-source system both at the protocol and implementation level. Finally, RethinkDB’s realtime push capabilities are architected for backend services, instead of the browser.

RethinkDB also aims to integrate changefeeds with Meteor and Volt to make sure it plays well with realtime web frameworks. A working example of the realtime capabilities of RethinkDB can be found as a realtime Instagram client for the web, capturing the latest cats from #catsofinstagram and plotting them on a map using geolocation. RethinkDB’s code is available on GitHub.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT