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

Что такое шардирование в БД

Шардирование — это горизонтальное разделение данных в БД на части (шарды), распределённые по разным серверам. Каждый шард содержит подмножество данных, что позволяет распределить нагрузку и масштабировать систему.

Пример:

java
// Упрощённая логика выбора шарда по хешу userId
public String getShardUrl(long userId) {
    int shardCount = 3; // Кол-во шардов
    int shardIndex = (int) (userId % shardCount);
    return "jdbc:mysql://shard" + shardIndex + ".example.com/db";
}

Плюсы:

  • Увеличение пропускной способности
  • Распределение нагрузки
  • Возможность географического распределения

Минусы:

  • Сложность JOIN-запросов между шардами
  • Необходимость балансировки
  • Усложнение транзакций

Используется в MongoDB, PostgreSQL, MySQL (через сторонние решения).

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

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

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

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