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

Python Senior Без компании
Какие знаешь способы масштабирования БД
Ответы
Вертикальное масштабирование (scaling up) – увеличение мощности сервера (CPU, RAM, SSD). Подходит для небольших нагрузок, но имеет физические ограничения. Горизонтальное масштабирование (scaling out) – распределение данных между несколькими серверами: - **Шардирование** – разделение данных по ключам (например, по user_id). - **Репликация** – копирование данных на несколько серверов (master-slave для чтения, master-master для записи). Пример шардирования в Python (условный): ``` def get_shard(user_id: int, shards: int) -> int: return user_id % shards ``` **NoSQL** (MongoDB, Cassandra) часто лучше масштабируются горизонтально, чем реляционные БД. Кэширование (Redis, Memcached) снижает нагрузку на БД для частых запросов.