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

Когда нужно использовать Sharding

Sharding применяется, когда данные не помещаются на одной машине и требуется горизонтальное масштабирование. Основные сценарии:

  1. Большие объемы данных – таблицы, которые неэффективно хранить на одном сервере (например, ленты соцсетей, логи транзакций).
  2. Высокая нагрузка на запись – если INSERT/UPDATE создают bottleneck в single-node БД.
  3. Геораспределение – данные физически ближе к пользователям (например, шардинг по регионам).

Пример с Hibernate:

java
@ShardingStrategy(
    shardKey = "userId",
    shardResolver = UserShardResolver.class
)
@Entity
public class UserProfile {
    @Id
    private Long userId;
    private String data;
}

Минусы: сложность JOIN, транзакций и ребалансировки. Альтернативы – репликация или NoSQL решения.

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

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

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

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