Sharding or Data Partitioning

Data partitioning (sharding) is a technique to break up a big database (DB) into many smaller parts.

Pros: Improve performance:availability, throughput, efficiency

Cons: consistency

Partitioning Methods

Horizontal partitioning

Vertical Partitioning

Directory Based Sharding

Previous sharding methods requires us to modify out application code in order to go to different sharding servers. We can use a lookup service which knows your current partitioning scheme and abstracts it away from the DB access code.

Partitioning Criteria

Key Based Sharding

Range Based Sharding

Range based sharding example diagram

References

Author: huadonghu

Leave a Reply

Your email address will not be published. Required fields are marked *