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

Когда нужно использовать шардирование

Шардирование применяется, когда данные не помещаются на одной машине или нагрузка слишком высока для одного сервера. Основные сценарии:

  1. Горизонтальное масштабирование – когда объем данных превышает возможности одной ноды
  2. Распределение нагрузки – чтобы избежать bottleneck на одном сервере
  3. Геораспределение – для хранения данных ближе к пользователям

Пример шардирования по диапазону (range sharding):

java
// Простое шардирование по ID пользователя
public String getShard(long userId) {
    int shardCount = 4;
    int shard = (int)(userId % shardCount);
    return "shard_" + shard;
}

Основные стратегии шардирования:

  • Хэш-шардирование (равномерное распределение)
  • Диапазонное (range-based)
  • По списку (list-based)

Важно: шардирование усложняет транзакции, JOIN-запросы и требует балансировки.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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