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.
There might be more information for this subject on one of the following: