Очень бойся (thebuild.com)
Еще одно выступление Кристофа Петтуса о бэкапах PostgreSQL и восстановлении после аварий.
Причиной аварии могут быть отказ оборудования (жесткий диск, RAID-массив, сервер целиком или весь дата-центр), ошибки уровня приложения (баги в коде или в миграциях), человеческие ошибки (Oh, was I logged into production?) или действия хакеров.
Варианты бэкапа:
- pg_dump. Самый простой и компактный способ. Подходит для небольших БД и для длительно хранящихся бэкапов. Не содержит индексов, поэтому восстановление занимает много времени.
- Бэкап файловой системы и архивация WAL. WAL (Write-ahead log) — это журнал, в который база записывает все запросы для восстановления цельности после внезапных остановок. Копируя файлы с данными и WAL, можно таким же образом восстановить на другой БД текущее состояние. Или даже одно из предыдущих состояний, это называется point-in-time recovery. WAL-E — инструмент для непрерывного архивирования журнала в облако.
- Потоковая репликация. Полное копирование данных в еще один экземпляр базы данных, который может обрабатывать запросы на чтение. При необходимости можно переключиться и использовать его в качестве основной базы. Легко настраивается, но нет возможности point-in-time recovery.
- Логическая репликация. Копирование только части данных в другой экземпляр. Реализуется сторонними приложениями (Slony, Bucardo, Londiste...) и требует сложной настройки.
Поделиться ссылкой:
ВКонтакте
Твиттер
Фейсбук
15 ноября 2015 19:35