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:
- Vertical shards is when the database is divided by columns.
- horizontal shards is when the database is divided by rows!! Why use Sharding?
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.