Репликацию и шардинг легко спутать именно потому, что обе техники выглядят как "масштабирование данных", хотя цена ошибок у них разная.
Глава разводит read scale и availability с одной стороны и write scale с другой, показывая, когда хватает primary-replica, когда приходится платить за multi-primary или leaderless topology, как выбирать shard key и почему re-sharding почти всегда оказывается дорогим проектом.
На design review этот материал особенно полезен тем, что помогает обсуждать lag, failover, hot shards, rebalancing cost и эволюцию access patterns как часть одного решения, а не как набор отдельных infrastructure-трюков.
Практическая польза главы
Граница данных
Определяйте стратегию partition key по access-паттернам, чтобы минимизировать hot shards и expensive cross-shard операции.
Режим репликации
Выбирайте sync/async репликацию на основе RPO/RTO и требований к read-your-writes в ключевых сценариях.
Ребаланс без боли
Планируйте re-sharding и миграции как обычную операцию: dual writes, backfill и контролируемое переключение трафика.
Interview rigor
На интервью объясняйте, где решение упрется в пределы и как будете эволюционировать схему при росте x10.
Контекст
Принципы проектирования масштабируемых систем
Эта глава детализирует одну из ключевых тем масштабирования: replication + sharding.
Репликация и шардинг отвечают за масштаб, доступность и стоимость данных. Репликация увеличивает устойчивость и масштаб чтения, шардинг увеличивает пропускную способность записи и общий capacity. Ошибка здесь обычно проявляется не на старте, а при росте нагрузки и product complexity.
Модели репликации
Primary-Replica
Один write-leader, несколько read-replicas. Хорошо для read-heavy нагрузок и понятного операционного управления.
Replica lag и асимметрия чтение/запись; failover должен быть автоматизирован и протестирован.
Multi-Primary
Запись в нескольких регионах/нодах, ниже latency для geo-distributed writes.
Конфликты и сложная merge-логика; высокий порог сложности для команд и платформы.
Leaderless
Кворумная запись/чтение и высокая доступность для distributed KV/NoSQL сценариев.
Сложнее reasoning о консистентности, read repair, hinted handoff и tombstones.
Визуализация репликаций
Replication Simulator
Request Queue
Replication Router
Primary-Replica
Primary
Replica A
Replica B
Готово к симуляции. Запусти авто-режим или сделай один шаг.
Последнее решение: —
Модели шардирования
- Hash-based sharding: равномерное распределение, но сложнее range-запросы.
- Range-based sharding: эффективно для диапазонных запросов, но есть риск hot ranges.
- Directory-based sharding: гибкое управление расположением данных, требует надежного metadata service.
- Geo/tenant sharding: удобно для data sovereignty и изоляции клиентов, но усложняет cross-tenant операции.
Визуализация шардинга
Sharding Simulator
Shard Keys Queue
Shard Router
Hash Sharding
Shard 0
Shard 1
Shard 2
Готово к симуляции. Запусти авто-режим или сделай один шаг.
Последнее решение: —
Related
Performance Engineering
Hot shards и migration-window напрямую влияют на p95/p99 latency.
Ребалинсировка шардов и контроль горячих шардов
Consistent hashing и virtual nodes для снижения объема миграций при изменении количества узлов.
Hot shard mitigation: adaptive partitioning, write buffering, routing по workload key, temporal split.
Backfill и миграции запускайте через throttled pipelines с верификацией checksums.
Все migration-операции должны иметь pause/resume, rollback plan и observable progress.
Cloud Native
Cost Optimization & FinOps
Replication topology и rebalancing напрямую влияют на cloud cost и unit economics.
Практический чеклист
Определены RPO/RTO по каждому классу данных и сценариям отказа.
Явно задано, какие операции требуют strong consistency, а какие допускают eventual.
Есть план эволюции shard key при росте продукта и изменении access patterns.
Репликация, failover и rebalancing проверяются регулярно через game days.
Стоимость cross-zone/cross-region replication учтена в FinOps-модели.
Частый anti-pattern: выбирать shard key под текущий feature set без плана эволюции.
References
Связанные главы
- Принципы проектирования масштабируемых систем - Общая рамка масштабирования, внутри которой выбирается replication/sharding стратегия.
- CAP теорема - Базовые ограничения распределённых систем при network partition.
- PACELC теорема - Trade-off latency vs consistency даже в штатном режиме.
- Database Selection Framework - Как тип СУБД влияет на доступные стратегии репликации и шардирования.
- Multi-region / Global Systems - Репликация и шардирование в глобальной географии и под регуляторные ограничения.
