Sharding
Sharding zerlegt eine große Tabelle anhand eines Shard-Schlüssels horizontal auf mehrere Knoten; jeder Knoten speichert einen Teil der Daten und ermöglicht so horizontale Skalierung.
Zweck
Horizontale Skalierungsstrategien entwerfen und Kapazitäts- sowie Durchsatzengpässe einzelner Knoten überwinden.
Mechanismus
Strategien: Range-Sharding (Schlüsselintervalle), Hash-Sharding (hash(key) mod N) und Directory-Sharding (Routing über Lookup-Tabelle). Shard-übergreifende Abfragen erfordern Scatter-Gather. Die Wahl des Shard-Schlüssels beeinflusst Datenverteilung und Abfragelokalität.
Anwendungsfälle
- Design horizontaler Skalierung
- Sharding-Strategien
- Verteilte Datenbanken