Встречается на собеседованиях • сегодня
Как делил базу данных в последнем проекте
В последнем проекте использовали горизонтальное шардирование (sharding) по user_id для распределения нагрузки. Ключевые моменты:
- 4 шарда на PostgreSQL, каждый на отдельном сервере
- Шардирование по хэшу user_id % 4
- Для кросс-шардовых запросов использовали отдельную реплику с объединёнными данными
Пример определения шарда:
java
public int determineShard(long userId) {
return (int) (userId % SHARD_COUNT);
}Плюсы:
- Увеличили пропускную способность в 4 раза
- Упростили бэкапы (меньший размер каждого шарда)
Минусы:
- Пришлось дорабатывать ORM для работы с шардированием
- Сложнее делать аналитические запросы

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