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)

Clustering


Consider the following scenario: say you have developed a system that handles video encoding and transmission using User Datagram protocol (UDP). You have a single machine running as a server and it is acting quite well. Suddenly the view increases (say someone found a rare Pokémon and posted a video) and your server crashes. This is not the ideal situation where any programmer would want to be, so what can we do about it?

Clustering is one way to solve it. What we do is create different servers running on the same operating system, operating on the same database, and connect them together to work as a single machine. It seems like a single machine to the outside world, but in reality there is a set of machines working to serve requests.

Note

The User Datagram Protocol (UDP) is a transport layer protocol defined for use with the IP network layer protocol to give fast delivery with no ordering and guarantee of payload.

So, in general, clustering is a process of creating a network of...