Overview#
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:
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: