Is a type of database partitioning,
that breaks up very large
datasets into smaller shards and stores them in
seperate machines.
In other words breacking the database
into smaller databases.
As traffic grows to a website the database might get
overloaded with more requests.
Scalling up the hardware is expensive.
This is where sharding may help.