Sharding (also known as Data Partitioning) is the process of splitting a large dataset into many small partitions which are placed on different machines. Each partition is known as a "shard".
Each shard has the same database schema as the original database. Most data is distributed such that each row appears in exactly one shard. The combined data from all shards is the same as the data from the original database.
On this page.
What scalability issues are solved by Sharding ?
Performance degradation with a single DB server architecture.
Queries and Updates = slower; network bandwidth starts to saturate.