Basic Principle
Horizontal table division
In the DRDS, a distributed table is horizontally divided into multiple data multiparts (called tablet) according to the specified partition key and partition mode (generally hashmode). The data multiparts are dispersed in multiple data storage nodes (tsc). The distributed table mainly solves the problem of stand-alone capacity and improves the overall write-in capability through parallel write-in. During development, it is not required to consider how to split the data and route the data. The horizontal table division capability can be realized by setting the partition key only.
Concurrent computing
For scenarios querying a large amount of data at one time, the DRDS supports distributing a large amount of data queries to multiple storage nodes for a small amount of data query. And, it aggregates the data results and returns them to users, which can improve the query performance of big result sets and massive data.
Read-write separation
The DRDS first divide the query into multiple clauses and routes them to one or more storage nodes. Each storage node realizes a transparent read-write separation strategy. It unifies the write requests to the master database of the storage nodes, and diverts the read requests to multiple read-only nodes, thus improving the reading ability of the cluster. The read requests within a transaction are not subject to read-write separation, but are executed on the master database like write requests.
Load balance
If there are multiple read-only nodes in a storage node, the load balance is realized between read-only nodes to avoid overload of a single node or a few nodes.
High availability
The master database of each storage node in the DRDS has a hot standby node. When master database service exception or unavailability is detected, the failover process gets started to ensure the high availability of the service.
Scalable
The DRDS supports three types of scaling:
- For the storage node package scaling, larger storage space and performance of a single node are obtained by improving the storage node disk, CPU, and memory.
- For the read-only node expansion, adding a read-only node allows you to obtain the higher read throughput capability of the entire cluster.
- For the multipart expansion, splitting the data and adding multiparts allow the user to improve the write capability and storage capacity of the entire cluster.