Встречается на собеседованиях • сегодня
Как масштабировать SQL БД
Горизонтальное и вертикальное масштабирование SQL БД
Вертикальное масштабирование (Scale Up)
- Увеличение мощности сервера (CPU, RAM, SSD)
- Просто в реализации, но имеет физические ограничения
- Пример для PostgreSQL:
sql
ALTER SYSTEM SET shared_buffers = '4GB';
ALTER SYSTEM SET work_mem = '32MB';Горизонтальное масштабирование (Scale Out)
-
Шардинг - разделение данных по разным серверам
- По диапазону значений (range)
- По хэшу (hash)
- По списку (list)
-
Репликация
- Master-Slave для чтения
- Multi-Master для записи
-
Промежуточные решения
- Через прокси (PgBouncer, ProxySQL)
- Использование ORM с поддержкой шардинга
Пример шардинга в Django:
python
DATABASES = {
'default': {}, # Роутер
'users': {...}, # Шард 1
'orders': {...} # Шард 2
}Лучший подход - комбинация методов в зависимости от нагрузки (чтение/запись).

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