Встречается на 1% собеседований по Python
Какие знаешь способы масштабирования реляционных баз данных
Вот основные способы масштабирования реляционных СУБД:
Вертикальное масштабирование (Scaling Up)
- Увеличение ресурсов сервера (CPU, RAM, диски)
- Просто в реализации, но имеет физические ограничения
sql
-- Пример: миграция на сервер с большими ресурсами
ALTER DATABASE mydb SET max_connections = 500;Горизонтальное масштабирование (Scaling Out)
- Шардинг - разделение данных по разным серверам по ключу (user_id, region и т.д.)
- Репликация
- Master-Slave: запись только в мастер, чтение из реплик
- Master-Master: запись в любой узел (редко используется из-за сложностей)
Оптимизация запросов и индексов
- Создание правильных индексов
- Денормализация (в разумных пределах)
- Кэширование (Redis, Memcached)
Пример шардинга на Python:
python
def get_shard(user_id):
return user_id % 4 # 4 шардаВыбор метода зависит от нагрузки: для read-heavy подойдет репликация, для write-heavy - шардинг.

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