CDP:Sharding Write Pattern
Improving Efficiency in Writing
Problem to Be Solved
It is extremely important to increase the speed of writing to a relational database management system (RDBMS), but is a very difficult problem. Of course, you can use multiple database servers to produce performance beyond that which can be achieved through scaling-up, but how to to do so is an extremely important issue.
Explanation of the Cloud Solution/Pattern
"Sharding" is a technique for improving the performance of writing with multiple database servers. Fundamentally, databases with identical structures are prepared and divided using appropriate table columns as keys, to distribute the writing processes. The use of the RDBMS service provided in AWS Cloud lets you perform this sharding, to achieve an increase availability and operating efficiency.
You can use the AWS RDBMS service (RDS) in sharding backend databases to improve availability and operating efficiency.
Install sharding software, such as a MySQL server combined with a Spider Storage Engine on an EC2 instance.
- Prepare multiple RDSs and use them as the sharding backend databases. You can distribute the RDSs to multiple regions.
- You can achieve higher availability through using RDSs as backend databases for sharding (in Multi-AZ).
- You can distribute the backend databases to multiple regions to provide improved performance in various regions of a worldwide system.
- When the backend databases are distributed to multiple regions, encryption may be required when communicating with the sharding software.