Встречается на собеседованиях • сегодня
Какими методами можно решать проблемы масштабирования реляционных баз данных
Для масштабирования реляционных БД применяют несколько подходов:
Вертикальное масштабирование (Scaling Up)
- Увеличение ресурсов сервера (CPU, RAM, диски)
- Просто в реализации, но имеет физические ограничения
Горизонтальное масштабирование (Scaling Out)
- Шардинг (Partitioning)
- Разделение данных по разным серверам (например, по user_id)
python# Пример определения шарда для пользователя def get_shard(user_id): return user_id % 3 # 3 сервера
-
Репликация
- Master-Slave: запись в master, чтение из реплик
- Multi-Master: несколько мастеров для записи
-
Кэширование
- Redis/Memcached для частых запросов
pythonfrom django.core.cache import cache data = cache.get('popular_data') if not data: data = db.query(...) cache.set('popular_data', data, 60) -
Оптимизация запросов
- Индексы, денормализация, анализ EXPLAIN
-
Микросервисы
- Разделение БД по бизнес-доменам
Выбор метода зависит от нагрузки, бюджета и требований к согласованности данных.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы