Mastering RethinkDB

Master the capabilities of RethinkDB and implement them to develop efficient real-time web applications. The way to better database development is here!

Mastering RethinkDB

This ebook is included in a Mapt subscription
Shahid Shaikh

1 customer reviews
Master the capabilities of RethinkDB and implement them to develop efficient real-time web applications. The way to better database development is here!
$0.00
$35.99
$44.99
$29.99p/m after trial
RRP $35.99
RRP $44.99
Subscription
eBook
Print + eBook
Start 30 Day Trial
Subscribe and access every Packt eBook & Video.
 
  • 4,000+ eBooks & Videos
  • 40+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 
Code Files
Preview in Mapt

Book Details

ISBN 139781786461070
Paperback330 pages

Book Description

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

Chapter 1: The RethinkDB Architecture and Data Model
RethinkDB architectural components
Query execution in RethinkDB
Filesystem and data storage
Sharding and replication
Automatic failover handling in RethinkDB
About voting replicas
The RethinkDB data model
Constraints and limitation in RethinkDB
Summary
Chapter 2: RethinkDB Query Language
Embedding ReQL in a programming language
ReQL queries are chainable
ReQL queries are executed on a server
Performing conditional queries
Performing string operations
Performing MapReduce operations
Calling HTTP APIs using ReQL
Handling binary objects
Performing JOINS
Accessing changefeed (real-time feed) in RethinkDB
Performing geolocation operations
Performing administrative operations
Summary
Chapter 3: Data Exploration Using RethinkDB
Generating mock data
Executing data exploration use cases
Summary
Chapter 4: Performance Tuning in RethinkDB
Clustering
Creating and handling a RethinkDB cluster
Securing our RethinkDB cluster
Executing ReQL queries in a cluster
Performing replication of tables in RethinkDB
Sharding the table to scale the database
Running a RethinkDB proxy node
Optimizing query performance
Summary
Chapter 5: Administration and Troubleshooting Tasks in RethinkDB
Understanding access controls and permission in RethinkDB
Failover handling in RethinkDB
Performing a manual and automatic backup in RethinkDB
Data import and export in RethinkDB
Crash recovery in RethinkDB
Using third-party tools
Summary
Chapter 6: RethinkDB Deployment
Deploying RethinkDB using PaaS services
Deploying RethinkDB using Docker
Deploying RethinkDB on a standalone server
Summary
Chapter 7: Extending RethinkDB
Integrating RethinkDB with ElasticSearch
Integrating RethinkDB with RabbitMQ
Understanding the RethinkDB protocol
Third-party libraries and tools
Summary
Chapter 8: Full Stack Development with RethinkDB
Project structure
Data modeling for our application
Creating a Node.js server and routes
Integrating RethinkDB with Node.js
Integrating AngularJS in the frontend
Socket.io integration for message broadcasting
Summary
Chapter 9: Polyglot Persistence Using RethinkDB
Introducing Polyglot Persistence
Using the RethinkDB changefeed as a Polyglot agent
Developing a proof-of-concept application with MongoDB and MySQL
Developing the Polyglot agent
Developing event consumers
Running the app
Further improvements
Summary
Chapter 10: Using RethinkDB and Horizon
Workings of Horizon
Installing and configuring Horizon
Developing a simple web application using Horizon
Horizon user management
Summary

What You Will Learn

  • Master the web-based management console for data-center configuration (sharding, replication, and more), database monitoring, and testing queries.
  • Run queries using the ReQL language
  • Perform Geospatial queries (such as finding all the documents with locations within 5km of a given point).
  • Deal with time series data, especially across various times zones.
  • Extending the functionality of RethinkDB and integrate it with third party libraries such as ElasticSearch to enhance our search

Authors

Table of Contents

Chapter 1: The RethinkDB Architecture and Data Model
RethinkDB architectural components
Query execution in RethinkDB
Filesystem and data storage
Sharding and replication
Automatic failover handling in RethinkDB
About voting replicas
The RethinkDB data model
Constraints and limitation in RethinkDB
Summary
Chapter 2: RethinkDB Query Language
Embedding ReQL in a programming language
ReQL queries are chainable
ReQL queries are executed on a server
Performing conditional queries
Performing string operations
Performing MapReduce operations
Calling HTTP APIs using ReQL
Handling binary objects
Performing JOINS
Accessing changefeed (real-time feed) in RethinkDB
Performing geolocation operations
Performing administrative operations
Summary
Chapter 3: Data Exploration Using RethinkDB
Generating mock data
Executing data exploration use cases
Summary
Chapter 4: Performance Tuning in RethinkDB
Clustering
Creating and handling a RethinkDB cluster
Securing our RethinkDB cluster
Executing ReQL queries in a cluster
Performing replication of tables in RethinkDB
Sharding the table to scale the database
Running a RethinkDB proxy node
Optimizing query performance
Summary
Chapter 5: Administration and Troubleshooting Tasks in RethinkDB
Understanding access controls and permission in RethinkDB
Failover handling in RethinkDB
Performing a manual and automatic backup in RethinkDB
Data import and export in RethinkDB
Crash recovery in RethinkDB
Using third-party tools
Summary
Chapter 6: RethinkDB Deployment
Deploying RethinkDB using PaaS services
Deploying RethinkDB using Docker
Deploying RethinkDB on a standalone server
Summary
Chapter 7: Extending RethinkDB
Integrating RethinkDB with ElasticSearch
Integrating RethinkDB with RabbitMQ
Understanding the RethinkDB protocol
Third-party libraries and tools
Summary
Chapter 8: Full Stack Development with RethinkDB
Project structure
Data modeling for our application
Creating a Node.js server and routes
Integrating RethinkDB with Node.js
Integrating AngularJS in the frontend
Socket.io integration for message broadcasting
Summary
Chapter 9: Polyglot Persistence Using RethinkDB
Introducing Polyglot Persistence
Using the RethinkDB changefeed as a Polyglot agent
Developing a proof-of-concept application with MongoDB and MySQL
Developing the Polyglot agent
Developing event consumers
Running the app
Further improvements
Summary
Chapter 10: Using RethinkDB and Horizon
Workings of Horizon
Installing and configuring Horizon
Developing a simple web application using Horizon
Horizon user management
Summary

Book Details

ISBN 139781786461070
Paperback330 pages
Read More
From 1 reviews

Read More Reviews