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

Crash recovery in RethinkDB


If RethinkDB crashes, you, as an administrator, can perform troubleshooting by looking at the logs. RethinkDB, by default, writes logs in the most descriptive way possible.

The logs are classified into INFO, WARN, and ERROR. If there's a crash, you can look for the ERROR logs by doing a simple GREP operation. GREP is the Unix/Linux utility to perform the basic and advanced search in the system. It accepts a string, a regex, and so on as a parameter and searches for the query across the system or in a specified folder. In the following screenshot, we searched for the term in our log file:

If the error relates to a cache size, say it's too low or out of size, the quick way to fix it is of course increasing the cache size. You can increase it by passing --cache-size followed by memory unit in MBs or putting it in a RethinkDB configuration file.

If the error is not trackable, you can directly ask the RethinkDB team by creating issues in GitHub at https://github.com...