Book Image

Mastering RethinkDB

By : Shaikh
Book Image

Mastering RethinkDB

By: 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 (11 chapters)

Running a RethinkDB proxy node


We have our cluster consisting of one SEED Server and a RethinkDB instance to support the cluster. The SEED server is acting as master server (however, there is no such master/child concept in RethinkDB; we are phrasing this for understanding) to perform routing of queries and run various kinds of business logic to determine where the data is stored and where to point the request. This in turn increases the load and dependency on one RethinkDB instance. Refer to the following figure; the proxy node acts as the node to distribute the query across instances in the cluster:

RethinkDB allows us to create a proxy node to solve such problems. The proxy node will act like a query redirector and will not store any data. We can create a proxy node in our cluster and join our other instances to it to form the cluster. The RethinkDB proxy node will:

  • Reduce CPU load by doing some query processing itself

  • Reduce intra-cluster traffic because it knows exactly where to point...