The word shard means fragment. Sharding is about the subdivision of large databases. Sharding is used for database partitioning, where very large databases
are partitioned into several smaller databases. The smaller databases created by sharding are better managed by separate server instances and can be processed faster. When a database request is made, the server instance that processes
is determined first. The reasoning behind sharding is that as the size of a database increases, access times increase exponentially rather than linearly. In addition, costs increase because large databases require powerful computers. With sharding, on the other hand, several inexpensive computers are used and the computing power is shared. From a technical point of view, sharding takes the form of horizontal partitioning.