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

Как подходить к выбору ключа шардирования

Выбор ключа шардирования критичен для производительности распределённой системы. Основные критерии:

  1. Равномерность распределения – ключ должен минимизировать "горячие" ноды (например, хэш от ID пользователя)
  1. Локализация данных – часто запрашиваемые вместе данные должны быть на одном шарде (например, заказы пользователя по его ID)

  2. Минимизация решардинга – избегать ключей, которые часто меняются (лучше user_id чем email)

Пример с хэшированием:

java
// Хэш userId для определения шарда
int shardIndex = Math.abs(userId.hashCode()) % totalShards;

Неудачный выбор – шардирование по дате (приведёт к перегрузке новых шардов). Лучше комбинировать ключи (userId + дата).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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