CDP:Sharding Write Pattern

From AWS-CloudDesignPattern
Revision as of 00:35, 28 November 2012 by Cdpadmin (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Architect

Improving Efficiency in Writing

Contents

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.

Implementation

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.

Configuration

2XNdewVsgellO3x8-37E3D.png

Benefits

  • 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.

Cautions

  • When the backend databases are distributed to multiple regions, encryption may be required when communicating with the sharding software.
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox