Book Image

Mastering RethinkDB

By : Shahid Shaikh
Book Image

Mastering RethinkDB

By: Shahid Shaikh

Overview of this book

RethinkDB has a lot of cool things to be excited about: ReQL (its readable,highly-functional syntax), cluster management, primitives for 21st century applications, and change-feeds. This book starts with a brief overview of the RethinkDB architecture and data modeling, and coverage of the advanced ReQL queries to work with JSON documents. Then, you will quickly jump to implementing these concepts in real-world scenarios, by building real-time applications on polling, data synchronization, share market, and the geospatial domain using RethinkDB and Node.js. You will also see how to tweak RethinkDB's capabilities to ensure faster data processing by exploring the sharding and replication techniques in depth. Then, we will take you through the more advanced administration tasks as well as show you the various deployment techniques using PaaS, Docker, and Compose. By the time you have finished reading this book, you would have taken your knowledge of RethinkDB to the next level, and will be able to use the concepts in RethinkDB to develop efficient, real-time applications with ease.
Table of Contents (16 chapters)
Mastering RethinkDB
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Using the RethinkDB changefeed as a Polyglot agent


I am sure changefeed does not require any introduction now. We have already used or discussed it in almost every chapter. In this section, we are going to learn why RethinkDB can act as a Polyglot agent.

As I have mentioned in the previous section, synchronizing various kinds of databases requires the following two important things:

  • An event to trigger the process

  • Database-specific listeners

Any time we add/update/delete the data in our entry database, an event must be triggered in order to start the process of synchronization. Then we need a database-specific listener who in turn performs the data manipulation in the respective databases.

So to trigger an event, we need to first know that there is some kind of change happening in the database. You can do this easily by writing an extra piece of code if the program which is doing the manipulation in the database is written or controlled by you. However, if the manipulation is done by the various...