Встречается на собеседованиях • сегодня
Как можно масштабировать БД
Для масштабирования БД в Python обычно используют два подхода: вертикальное и горизонтальное масштабирование.
Вертикальное (Scale Up) – увеличение мощности сервера (CPU, RAM, диски). Просто, но имеет физические ограничения.
Горизонтальное (Scale Out) – распределение нагрузки на несколько серверов:
- Шардинг – разделение данных по разным серверам (например, по диапазонам ID).
- Репликация – копирование данных на несколько серверов (master-slave для чтения/записи).
Пример с SQLAlchemy для шардинга:
python
from sqlalchemy import create_engine
# Два разных сервера БД
shard1 = create_engine('postgresql://user:pass@shard1/db')
shard2 = create_engine('postgresql://user:pass@shard2/db')
def get_shard(user_id):
return shard1 if user_id % 2 == 0 else shard2Также можно использовать готовые решения:
- Redis Cluster – для кэширования.
- PostgreSQL с Citus – для горизонтального масштабирования.
- MongoDB – автоматический шардинг.
Оптимальный выбор зависит от нагрузки (read/write) и структуры данных.

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