← Назад в словарь

Шардинг

Шардинг (Sharding) — разбиение на фрагменты

Суть в одном предложении

Шардинг — горизонтальное разбиение данных на шарды по разным узлам для масштабирования.

Краткое определение

Шардинг — горизонтальное разбиение данных на независимые части (шарды), распределённые по разным узлам.

Оригинал и перевод

  • Язык: английский
  • Оригинал: Sharding
  • Буквальный перевод: разбиение на осколки/фрагменты

Синонимы и варианты написания

  • Sharding

Происхождение

Термин закрепился в практике масштабирования баз данных, когда один сервер перестаёт помещать объём данных или нагрузку.

Где используется

  • Крупные БД (события, логи, пользовательские данные)
  • Высоконагруженные OLTP-системы

Когда это важно

При росте объёма данных и нагрузки: шардинг позволяет масштабироваться горизонтально, но усложняет запросы и транзакции.

Подробное объяснение

Ключевая идея — выбрать shard key (например user_id) и распределять записи по шардам. Типовые проблемы:

  • кросс-шардовые JOIN/агрегации усложняются;
  • транзакции между шардами становятся дорогими/нетривиальными;
  • перенос данных при изменении количества шардов требует планирования.

Шардинг часто путают с партиционированием внутри одного инстанса — это разные уровни.

Аналоги и связанные термины

  • Partitioning
  • Consistent hashing
  • Distributed SQL
  • Rebalancing

Пример использования

«Таблицу событий зашардили по tenant_id: каждый клиент живёт на своём шарде.»

Мини‑FAQ

  • Шардинг и партиционирование — одно и то же? Ответ: Партиционирование часто внутри одного инстанса; шардинг — распределение по разным узлам.

Смотри также

  • Replication
  • Partitioning
  • ACID