万本电子书0元读

万本电子书0元读

顶部广告

Mastering RethinkDB电子书

售       价:¥

0人正在读 | 0人评论 9.8

作       者:Shahid Shaikh

出  版  社:Packt Publishing

出版时间:2016-12-01

字       数:134.3万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Master the capabilities of RethinkDB and implement them to develop efficient real-time web applications. The way to better database development is here! About This Book Master the powerful ReQL queries to manipulate your JSON data, Learn how to develop scalable, real-time web applications using RethinkDB and Node.js and deploy them for production, A detailed, step-by-step guide to help you master the concepts of RethinkDB programming with ease Who This Book Is For This book caters to all the real-time application developers looking forward to master their skills using RethinkDB. A basic understanding of RethinkDB and Node.js is essential to get the most out of this book. 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 In Detail 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. Style and approach This book is a unique blend of comprehensive theory and real-world examples to help you master RethinkDB.
目录展开

Mastering RethinkDB

Mastering RethinkDB

Credits

About the Author

About the Reviewer

www.PacktPub.com

Why subscribe?

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Downloading the color images of this book

Errata

Piracy

Questions

1. The RethinkDB Architecture and Data Model

RethinkDB architectural components

Client drivers

RethinkDB query engine

RethinkDB clusters

Pushing changes to a RethinkDB client

Query execution in RethinkDB

Filesystem and data storage

About direct I/O

Data storage

Sharding and replication

Sharding in RethinkDB

Range-based sharding

Replication in RethinkDB

Indexing in RethinkDB

Automatic failover handling in RethinkDB

About voting replicas

The RethinkDB data model

RethinkDB data types

Binary objects

Geospatial queries in RethinkDB

Supported data types

RethinkDB model relationships

Embedded arrays

Merits of embedded arrays

Demerits of embedded arrays

Document linking in multiple tables

Merits of document linking

Demerits of document linking

Constraints and limitation in RethinkDB

Summary

2. RethinkDB Query Language

Embedding ReQL in a programming language

Performing CRUD operations using RethinkDB and Node

Creating new records

Reading the document data

Updating the document

Deleting the document

ReQL queries are chainable

ReQL queries are executed on a server

Performing conditional queries

Performing string operations

Performing MapReduce operations

Grouping the data

Counting the data

Sum

Avg

Min and Max

Distinct

Contains

Map and reduce

Calling HTTP APIs using ReQL

Handling binary objects

Performing JOINS

Accessing changefeed (real-time feed) in RethinkDB

Applications of changefeed

Performing geolocation operations

Storing a coordinate

Finding the distance between points

Performing administrative operations

Summary

3. Data Exploration Using RethinkDB

Generating mock data

Importing data in RethinkDB using HTTP

Importing data via file read

Executing data exploration use cases

Finding duplicate elements

Finding the list of countries

Finding the top 10 employees with the highest salary

Displaying employee records with a specific name and location

Finding employees living in Russia with a salary less than 50,000 dollars

Finding employees with a constant contact e-mail address

Finding employees who use class a C IP address

Summary

4. Performance Tuning in RethinkDB

Clustering

Creating and handling a RethinkDB cluster

Creating a RethinkDB cluster in the same machine

Creating a RethinkDB cluster using different machines

Creating a RethinkDB cluster in production

Securing our RethinkDB cluster

Using transport layer security

Binding the web administrative port

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

5. Administration and Troubleshooting Tasks in RethinkDB

Understanding access controls and permission in RethinkDB

RethinkDB user management

Failover handling in RethinkDB

Performing a manual and automatic backup in RethinkDB

Performing automatic backups

Restoring a RethinkDB database

Data import and export in RethinkDB

Importing data from MySQL to RethinkDB

Importing data from MongoDB to RethinkDB

Data migration to an updated version

Crash recovery in RethinkDB

Using third-party tools

ReQLPro

Chateau

Summary

6. RethinkDB Deployment

Deploying RethinkDB using PaaS services

Deploying RethinkDB on AWS

Deploying RethinkDB on Compose.io

Deploying RethinkDB on DigitalOcean

Deploying RethinkDB using Docker

The need for Docker

Installing Docker

Creating a Docker image

Deploying the Docker image

Deploying RethinkDB on a standalone server

Summary

7. Extending RethinkDB

Integrating RethinkDB with ElasticSearch

Introducing ElasticSearch

Installing ElasticSearch

Performing operations in ElasticSearch

The problem statement

Integration use cases

Search engine

Static website search

Integrating RethinkDB with RabbitMQ

Installing RabbitMQ

Developing producer code

Connecting to the RethinkDB instance

Creating a database and table if they do not exist

Connecting to RabbitMQ

Creating a channel and queue

Attaching a changefeed and integrating the RabbitMQ queue

Developing the consumer code

Connecting to RabbitMQ

Creating a channel and binding the queue

Understanding the RethinkDB protocol

Third-party libraries and tools

Summary

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

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

Setting up the project

Developing a server using Express

Case - reading all users' data

Case - creating a new user

Case - updating user data

Case - deleting the user

Developing the Polyglot agent

Developing event consumers

Observer pattern

MySQL consumer

MongoDB consumer

Running the app

Further improvements

Integrating the message broker

Developing a distributed transaction

Summary

10. Using RethinkDB and Horizon

Workings of Horizon

Installing and configuring Horizon

Class Horizon

Connect()

Collection class

Method subscribe()

Watch method

CRUD methods

Developing a simple web application using Horizon

Setting up the project

Developing the JavaScript code

Developing the frontend

Horizon user management

Summary

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部