Sharding

Definition - What does Sharding mean?

Sharding refers to a specific type of database setup where multiple partitions create many pieces of a database that are then referred to as shards. This practice can help with server hosting and other aspects of database maintenance, and can also contribute to faster query times by diversifying the responsibilities of a database structure.

Techopedia explains Sharding

As a way to make database systems more scalable, database sharding has emerged as a kind of horizontal partitioning that can help deal with the problem of slower response times for growing databases. The distribution of database responsibilities across these multiple shards helps engineers to make the most of CPU, memory and resources for a given hardware set.

While sharding can be effective in terms of using resources efficiently, it can also make a project more complicated. Some issues with sharding involve which kinds of workers should share roles in developing partitioned database structures, as well as whether sharding is best for a particular infrastructure. Other key issues include backups for shards and reliability. Sharding is often used by companies that offer software as a service or other remote sourcing services, such as modern cloud computing services.