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

Further improvements


There are two key improvements which you can do:

  • Integrating the message broker

  • Developing a distributed transaction

Let's discuss each one in brief.

Integrating the message broker

For now, we are using the EventEmitter class of Node.js to emit and receive events. You can hook advanced message brokers such as RabbitMQ or Apache Kafka. All you need to do is, instead of emitting the event in the Polyglot class, just push the changes in the message broker.

At the consumer end, any program can read it and use it for their use. This way, there will be high cohesion and less tight coupling.

If you are going to do it using RabbitMQ then we have already covered the integration part in Chapter 7, Extending RethinkDB.

Moving right along to the next improvement.

Developing a distributed transaction

For now, we are not using any transaction in between the databases to perform the CRUD operation. Since our databases can be SQL, NoSQL, key-value, graph-based, and so on, and not all databases...