售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
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
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜