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

Зачем используется базовое шардирование

Базовое шардирование (horizontal partitioning) используется для распределения данных по разным серверам/нодам, чтобы:

  • Увеличить производительность (меньше данных на одном сервере)
  • Улучшить масштабируемость (можно добавлять ноды)
  • Повысить отказоустойчивость

Пример шардирования по диапазону:

java
// Шардирование по ID пользователя (0-999 на сервер 1, 1000-1999 на сервер 2)
public String getShardUrl(long userId) {
    int shardNumber = (int) (userId / 1000) + 1;
    return "jdbc:mysql://shard" + shardNumber + ".db/app";
}

Основные стратегии:

  • По диапазону (range)
  • По хешу (hash)
  • По списку (list)

Проблемы:

  • Решардинг при росте данных
  • Нет JOIN между шардами
  • Сложность транзакций
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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