Встречается на собеседованиях • сегодня
Для чего нужно шардирование
Шардирование — это горизонтальное разделение базы данных на части (шарды), распределённые по разным серверам. Основные цели:
- Масштабируемость — распределение нагрузки между серверами, чтобы обрабатывать большие объёмы данных и запросов.
- Производительность — уменьшение времени отклика, так как каждый шард содержит только часть данных.
- Отказоустойчивость — при падении одного шарда остальные продолжают работать.
Пример шардирования по диапазону (range-based):
python
# Определяем шард по ID пользователя
def get_shard(user_id):
if user_id < 1000:
return "shard1"
elif user_id < 2000:
return "shard2"
else:
return "shard3"Основные стратегии:
- По диапазону (range-based)
- По хешу (hash-based)
- По списку (list-based)
Минусы: сложность JOIN-запросов между шардами, необходимость балансировки.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы