I Help You
Databases

Database Sharding

Sharding is a way of scaling a database by splitting one large dataset across several database servers, called shards. Each shard holds a portion of the rows, such as customers A to M on one server and N to Z on another, so the load and storage are shared and the system can grow by adding more servers.

Data is assigned to shards by a shard key, using ranges, a hash of the key or a lookup directory. Sharding enables huge scale but makes queries across shards, joins and transactions more complex. It differs from replication, which copies the same data to several servers, and from partitioning within a single server.