Sharding is one of the Scalability strategies for any applications where the data from the general database is divided into blocks and spread to various servers, which are called shard.

Sharding process uses "partitioning", however, the data is divided into blocks called shards before being sent to the separate servers.

Sharding may divide data Sharding is divided into either/or:

Why use Sharding? #

Eventually, the apps that are developing, face the scaling problem. This happens when the current database server already can’t handle the load as fast and effective as before and reply to the app’s requests. Then the database is divided into parts and sent to different shards.

Together with sharding, the replication is also often used. In this case the servers (shards) receive the copies of themselves. It enhances the fail-over protection of the system.

More Information#

There might be more information for this subject on one of the following: