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

Failover handling in RethinkDB


RethinkDB provides two ways to handle the failover:

  • Automatic failover handling

  • Emergency repair

RethinkDB performs automatic failover handling if, and only if, the cluster has three or more RethinkDB instances running, and if a table has three or more voting replicas available. If these conditions do not match, then automatic failover handling will not occur.

We have done a quite nice demonstration of this in the Performing replication and performing sharding section in Chapter 4, Performance Tuning in RethinkDB, where we had three live servers running along with three replicas for each table and we shut down instances, including primary, to validate the automatic failover handling.

But what if the ideal situation happens, that is, there are only one or two RethinkDB instances alive and failover happens. Of course, RethinkDB will not perform the automatic failover; we now need to manually perform the emergency repair.

In this section, we are going to perform the...