У БД обычно нет «одной» проблемы. Есть цепочка: ручные изменения, слабые роли, отсутствие лимитов на ресурсы и бэкапы, которые никто не проверял на восстановление. В продакшене это выглядит знакомо: код работает, но есть нюансы.
Держите базу в управляемом состоянии:
— доступ только по ролям, а не «всем DBA на всякий случай»;
— отдельные учетные записи для приложений, миграций и админов;
— минимальные привилегии, без лишнего superuser;
— журналирование DDL и критичных запросов;
— резервные копии с регулярной проверкой restore, а не просто с галочкой в расписании.
Следующий слой — эксплуатация. Нужны лимиты на соединения, понятные окна для миграций, индексы под реальные запросы и мониторинг не только CPU, но и блокировок, replication lag, роста таблиц, заполнения диска. Мониторинг должен быть проактивным, а не реактивным.
Еще один частый провал — отсутствие стандартов изменений. Если схема меняется через ручной SQL, через месяц никто не помнит, почему индекс удалили, а колонку сделали nullable. Автоматизация — это не опция, а необходимость.
Начинайте с трех вещей: разграничьте доступ, проверьте восстановление из бэкапа и опишите правила изменений. Остальное уже оптимизация, а не пожарный выезд.
Трекер: конфиги
@tracker_configs_arb
Управление базами данных ломается там, где нет дисциплины доступа и бэкапов
Этот пост опубликован в Telegram-канале Трекер: конфиги. Подписаться можно по ссылке: @tracker_configs_arb.