# Sharding

> Divide a data store into horizontal partitions or shards

- **Category**: Cloud
- **Subcategory**: azure
- **Canonical URL**: https://designpattern.fyi/patterns/azure_sharding/

---

## Description
The Sharding pattern divides a data store into a set of horizontal partitions or shards. Each shard contains a subset of the data, and shards can be distributed across multiple servers. This improves scalability by allowing the data store to scale horizontally beyond the limits of a single server.


## Use Cases
Use when a single data store cannot handle the load or when you need to improve performance through horizontal scaling.





## Trade-offs


### Advantages

- Horizontal scalability

- Improved performance

- Better resource utilization

- Geographic distribution




### Considerations & Drawbacks

- Complex shard management

- Cross-shard queries challenging

- Rebalancing complexity







---
**Reference**: [Original Source](https://learn.microsoft.com/en-us/azure/architecture/patterns/sharding)

