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

Какие знаешь способы шардирования БД

Шардирование (горизонтальное партиционирование) делит данные по строкам между разными серверами. Основные подходы:

  1. Хэш-шардирование
    Данные распределяются по шардам с помощью хэш-функции от ключа (например, user_id % N).
    python
    def get_shard(user_id, total_shards):
        return user_id % total_shards
  1. Диапазонное шардирование
    Данные делятся по диапазонам (например, пользователи A-M на шард1, N-Z на шард2).

  2. Географическое шардирование
    Распределение по локациям (европейские пользователи → шард1, азиатские → шард2).

  3. Шардирование по словарю
    Явное сопоставление ключей с шардами через lookup-таблицу.

Проблемы:

  • Горячие шарды (неравномерная нагрузка).
  • Сложные JOIN-запросы между шардами.
  • Транзакции, затрагивающие несколько шардов.

Примеры СУБД с поддержкой шардирования: PostgreSQL (c расширениями), MongoDB, Cassandra.

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

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

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

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