advanced

Sharding

Split data by key or range while planning routing, rebalancing, hot shards, cross-shard queries, and migrations. Назовите benefit, limit и operational cost.

Шардирование делит данные по shard key — hash user ID, tenant ID или регион. Повышает write throughput и ёмкость, но усложняет cross-shard запросы, транзакции, rebalancing и миграции схемы. Ключи без hot shard и в духе паттернов доступа.

План routing layer: логика приложения, proxy или клиент. Rebalancing — consistent hashing или dual-write. Celebrity-пользователи могут требовать выделенный shard или кеш.

На интервью: shard key для соцприложения, обход cross-shard запроса, rebalancing без downtime.

Типовые ошибки: монотонные ключи и hot spot; shard key меняется со временем; join across shard на горячем пути.

Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.

Чеклист:

  • Shard key из паттернов доступа.
  • Routing и discovery layer.
  • Rebalancing и миграция.
  • Mitigation hot shard и celebrity skew.