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

Какую задачу решает Sharding

Sharding — это горизонтальное разделение данных в БД, когда таблица разбивается на части (шарды), распределённые по разным серверам. Решает проблемы масштабируемости и производительности при больших объёмах данных, снижая нагрузку на отдельные узлы.

Пример:

java
// Упрощённая логика выбора шарда по userId
public String getShardConnectionUrl(long userId) {
    int shardNumber = (int) (userId % 4); // 4 шарда
    return "jdbc:mysql://shard" + shardNumber + ".db/app";
}

Плюсы:

  • Распределение нагрузки
  • Возможность географического размещения
  • Увеличение отказоустойчивости

Минусы:

  • Сложность JOIN-запросов между шардами
  • Транзакции跨шардов требуют 2PC (two-phase commit)
  • Ребалансировка при добавлении узлов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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