Shard Key Sharding-Schlüssel
Die Spalte, die bestimmt, auf welchem Shard (Datenbankknoten) eine Zeile landet, in einer horizontal partitionierten Datenbank. Die Wahl des Shard Keys ist eine der wichtigsten — und am schwersten zu ändernden — Entscheidungen in einer verteilten Datenbank.
Mechanik: Der Wert des Schlüssels wird gehasht oder auf einen Bereich abgebildet → bestimmt den Shard. Ziel: gleichmäßige Datenverteilung UND dass die häufigsten Abfragen genau einen Shard treffen (teure „Cross-Shard“-Abfragen vermeiden). Klassische Fallen: Ein schlechter Schlüssel erzeugt „Hotspots“ (ein Shard bekommt den gesamten Traffic — etwa beim Sharding nach Datum, wenn aller neuer Traffic „heute“ ist), oder zwingt Abfragen dazu, alle Shards zu befragen (Scatter-Gather). Ein guter Schlüssel: hohe Kardinalität, gleichmäßiger Zugriff, passend zu den Abfragemustern (z. B. Mandanten-ID im Multi-Tenant-Betrieb). Im Nachhinein schwer zu ändern → erfordert oft ein komplettes Resharding. Verwandt: Hash- vs. Bereichs-Sharding und „Co-Location“ (verwandte Zeilen auf demselben Shard ablegen). Zentral in Systemen wie Vitess, Citus, MongoDB, DynamoDB.