Definition - What does Database Shard mean?
A database shard is a horizontal partition in a search engine or database. Each individual partition is known as shard or database shard. Each database shard is kept on a separate database server instance to help in spreading the load. Database shards are based on the fact that after a certain point it is feasible and cheaper to scale sites horizontally than vertically by adding more machines.
Techopedia explains Database Shard
Within a database, some data always remains in all database shards. In fact, all database shards act as the single source for the unique subset of data. One of the salient features associated with database shards is that they are much faster. Individual database shards can simply outperform a single large database due to its smaller size. There is significant reduction of disk I/O, as the ratio between the memory and data on disk is also improved. This also results in fewer database locks, faster index searches and improvement in individual transaction performances. Database sharding is a highly scalable technique in order to improve the overall performance and throughput of large database-centric business applications and high transactions.
Database shards help in improving scalability with growth in a near linear fashion. They are easier to manage as common database maintenance can be easily done on database shards. Database shards also help in reducing costs, as most implementations take advantage of lower-cost open-source databases.
There are challenges to having database shards, like having automated backups for the shards, database shard redundancy and disaster recovery strategy.
Database shards are increasingly becoming more popular due to the exponential rise in transaction volume and business application databases. Database shards are mostly used by social networking websites, online service providers and software as a service companies.