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

Какие знаешь способы масштабирования нагрузки распределенных БД

Шардинг (горизонтальное) – разделение данных по разным серверам по ключу (например, user_id). Пример:

java
// Определение шарда по user_id
int shard = userId % 4; // 4 сервера

Репликация – копии БД для чтения. Мастер-сервер для записи, реплики для чтения.

Партиционирование – разделение таблиц по строкам (range) или хэшу. В SQL:

sql
CREATE TABLE orders PARTITION BY RANGE (order_date);

Кэширование – Redis/Memcached перед БД для частых запросов.

Федерация – разные БД для разных сервисов (users в одной, orders в другой).

Оптимизация индексов – добавление индексов под частые запросы.

NoSQL – выбор специализированной БД (MongoDB для документов, Cassandra для записи).

Read/Write Splitting – разделение чтения и записи на разные инстансы.

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

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

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

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