Встречается на собеседованиях • сегодня
Что такое горизонтальный шардинг
Горизонтальный шардинг (sharding) — это метод разделения базы данных на части (шарды) по строкам, где каждая шарда содержит подмножество данных. Например, данные могут делиться по диапазону значений (ID пользователей, даты) или хэшу ключа.
Преимущества:
- Уменьшает нагрузку на отдельные серверы.
- Улучшает производительность запросов (меньше данных в каждой шарде).
- Позволяет масштабироваться горизонтально.
Пример:
python
# Упрощенный пример выбора шарды по хэшу user_id
def get_shard(user_id: int, total_shards: int) -> int:
return user_id % total_shards
# Для user_id=123 и 4 шард:
shard = get_shard(123, 4) # вернет 3 (123 % 4 = 3)Недостатки:
- Сложность JOIN-запросов между шардами.
- Неравномерное распределение данных (hotspots).
- Усложнение транзакций.
Подходит для сценариев с большими объемами данных и высокой нагрузкой (соцсети, аналитика).

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