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)

Understanding access controls and permission in RethinkDB


In RethinkDB, user access control is divided into permissions and scope. Each RethinkDB user has some permissions, and these permissions in turn have scope; that is, where they can perform their respective operation with each permission.

For example, say a user named John has a read permission, and his scope is tables. He can perform read (permission) operations on tables (scope), but not on databases.

In this section, we will learn about the kinds of permission and scope RethinkDB provides for administration purposes.

Let us look over the permissions and scope of RethinkDB in detail.

There are four permissions in RethinkDB; refer to the following table to understand their effect:

Permissions

Effect

read

Allows reading the data.

write

Allows modification of data.

connect

Allows users to perform an http() command.

config

Allows user to perform configuration tasks on tables/databases, depending upon the scope.

As you...