Kurz erklärt
Beim Sharding wird ein großer Datenbestand in Teile (Shards) aufgeteilt, die auf verschiedenen Servern liegen. So wachsen Speicher und Durchsatz mit der Servermenge.
Genauer
Ein Partitionsschlüssel entscheidet, welche Zeile in welchen Shard kommt. Gute Schlüssel verteilen Last gleichmäßig und halten zusammengehörige Daten beieinander. Abfragen über mehrere Shards sind teuer.