Встречается на собеседованиях • сегодня

Где уместнее использовать шардирование БД

Шардирование БД уместно при:

  1. Горизонтальном масштабировании – когда данные не помещаются на одном сервере, но вертикальное масштабирование (увеличение мощности сервера) дорого или невозможно.
  2. Геораспределённых сервисах – для уменьшения задержки, если данные физически ближе к пользователям (например, шарды по регионам).
  3. Высокой нагрузке на запись – когда один сервер не справляется с количеством операций записи.

Пример:

python
# Упрощённая логика шардирования по user_id
def get_shard(user_id: int) -> str:
    shard_id = user_id % 3  # 3 шарда
    return f"shard_{shard_id}"

# Для user_id=5 данные попадут в shard_2
print(get_shard(5))  

Когда не стоит использовать:

  • Для небольших БД (усложняет администрирование).
  • Если большинство запросов требует JOIN между шардами (это медленно).
  • При отсутствии чёткого ключа шардирования (например, нет естественного user_id или региона).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы