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

Workings of Horizon


Horizon is an open-source platform for building real-time, scalable web/mobile apps. It is built on top of RethinkDB, and allows the developer to get started with building modern, real-time apps without writing any backend code.

Horizon is assembled with three major components:

  • Horizon server: A middleware server written on Node.js that works on RethinkDB and exposes simple API/functions to front-end applications

  • Horizon client: A JavaScript client library that provides the front-end developer with access to RethinkDB with API/functions

  • Horizon CLI: A command line tool that helps you in bootstrapping, development, and deployment

These three components work together to provide the front-end developer with a ready-made backend server.

Horizon client library provides functions such as for CRUD operations and can be directly called, which in turns asks the Horizon server to deal with the RethinkDB database. Please note that any API call from UI won't directly go to the database...