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

Что такое шардинг базы данных

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

Пример:
Допустим, у нас есть таблица users. Вместо хранения всех записей на одном сервере, мы распределяем их по шардам по user_id:

java
// Определяем шард по user_id (например, четные/нечетные)
int shardId = userId % 2; 

// Подключаемся к нужной шарде
DataSource dataSource = getDataSourceForShard(shardId);

Плюсы:

  • Уменьшение нагрузки на отдельный сервер.
  • Возможность масштабирования "вширь".

Минусы:

  • Сложность JOIN-запросов между шардами.
  • Необходимость ребалансировки при добавлении новых шард.

Используется в крупных системах, например, социальных сетях или маркетплейсах.

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

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

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

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