Встречается на собеседованиях • сегодня
Что такое разделение таблиц на части
Разделение таблиц (sharding) — это горизонтальное партиционирование данных, при котором таблица делится на части (шарды), распределённые по разным серверам. Каждый шард содержит подмножество данных, обычно по определённому ключу (например, user_id).
Преимущества:
- Улучшение производительности (меньше данных на одном сервере)
- Масштабируемость (можно добавлять новые шарды)
- Отказоустойчивость (если один шард упадёт, остальные работают)
Пример:
java
// Упрощённый пример выбора шарда по user_id
int shardId = userId % 3; // 3 шарда
String shardUrl = "jdbc:mysql://shard-" + shardId + ".example.com/db";
Connection connection = DriverManager.getConnection(shardUrl, user, pass);Недостатки:
- Сложность JOIN-запросов между шардами
- Нужен механизм балансировки и решардинга
- Усложнение транзакций (2PC или Saga)

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