Postgres Pro Backup Enterprise (pg_probackup)
Резервное копирование
Резервное копирование данных является одной из ключевых практик в управлении системами управления базами данных (СУБД), и PostgreSQL не является исключением. В условиях современного бизнеса, где информация становится одним из самых ценных активов, потеря данных может привести к серьезным финансовым и репутационным потерям. Резервное копирование позволяет защитить данные от различных угроз, таких как аппаратные сбои, ошибки пользователей, вирусные атаки и даже стихийные бедствия.
PostgreSQL предлагает встроенные инструменты и методы для создания резервных копий:
- логическое резервное копированияе — обеспечивается утилитой
pg_dump
- физическое резервное копирование — обеспечивается утилитой
pg_basebackup
Кроме встроенных утилит существуют внешние утилиты резервного копирования, использование утилит обеспечивает гибкость и надежность в процессе резервирования. Регулярное создание резервных копий не только помогает восстановить данные в случае их потери, но и позволяет поддерживать высокую доступность и целостность информации.
Кроме того, резервное копирование является важной частью стратегии управления изменениями и обновлениями системы. Оно позволяет тестировать новые версии и изменения в безопасной среде, минимизируя риски, связанные с внедрением новых функций или исправлений. В итоге, грамотная организация процесса резервного копирования в PostgreSQL — это залог стабильной работы и защиты данных, что в свою очередь способствует успешному развитию бизнеса.
Ограничения pg_dump и pg_basebackup
pg_dump
— это утилита, предназначенная для создания логических резервных копий баз данных. Она позволяет экспортировать данные в формате SQL или в собственном формате, что делает возможным восстановление базы данных на другом сервере или в другой среде. Однако pg_dump
имеет свои ограничения: он не подходит для создания резервных копий баз данных большого объема в реальном времени, так как может потребовать значительных ресурсов и времени на выполнение, что может негативно сказаться на производительности системы.
pg_basebackup
предоставляет возможность создания физической резервной копии всей базы данных, включая все файлы и журналы транзакций. Этот инструмент идеально подходит для создания резервных копий в режиме реального времени и для настройки репликации. Однако pg_basebackup
также имеет свои недостатки: ограниченные возможности при работе в многопоточном режиме, ограниченность при создании инкрементальных резервных копий, меньшая гибкость по сравнению с pg_dump
в выборе отдельных объектов для резервирования, невысокая скорость копирования.
Утилита резервного копирования pg_prоbackup
Так как функционала, удовлетворяющего высоким требованиям к резервному копированию, не было не в одной утилите- возникла необходимость в разработке и поддержке собственной утилиты pg_probackup
, которая призвана устранить недостатки существующих инструментов и предложить более продвинутые функции для поддержки СУБД PostgreSQL и PostgresProfessional.
Утилита pg_probackup, разработанная компанией Postgres Professional обеспечивает более гибкий подход к резервному копированию, позволяя пользователям создавать полные и инкрементальные резервные копии, а также управлять ими через удобный интерфейс. Эта утилита также поддерживает дополнительные функции для повышения эффективности резервного копирования:
- многопоточность,
- сжатие данных,
- работу с различными хранилищами данных
- и др.
Таким образом, внедрение pg_probackup
в рабочие процессы резервного копирования PostgreSQL не только расширяет возможности администраторов баз данных, но и значительно повышает надежность хранения и защиту данных в случае сбоев, что является критически важным в условиях современного бизнеса.
Утилита pg_porbackup поставляется в 2х версиях
Сравнение ключевой функциональности pg_probackup в разных редакциях PostgreSQL и Postgres Pro
pg_basebackup – утилита резервного копирования, которая по умолчанию идет в составе PostgreSQL. Утилита pg_probackup по умолчанию поставляется во всех редакциях Postgres Pro, а для сообщества и дистрибутивных сборок PostgreSQL доступны исходные коды на Github и пакеты различных дистрибутивов для установки через наш репозиторий.
Функции | PostgreSQL | Postgres Pro Enterprise | Postgres Pro Enterprise | Postgres Pro Standard с pg_probackup 3.X |
Однопоточный полный бэкап | + | + | + | + |
Многопоточный режим | + | + | + | + |
Инкрементальный бэкап | + | + | + | + |
Проверка целостности данных во время сессии резервного копирования | + | + | + | + |
Слияние бэкапов, Merge | + | + | + | + |
Резервная копия с удаленного сервера СУБД по защищенному каналу передачи данных (SSH) | + | + | + | + |
Компрессия pglz, zlib | + | + | + | + |
Компрессия zstd, lz4 | - | + | + | + |
Инкрементальный бэкап на уровне блоков (PTRACK) | + | + | + | + |
CFS совместимость | - | + | + | - |
S3 прямая запись и чтение | - | + | + | - |
Интеграция с СРК | - | + | + | + |
Управление политикой хранения резервных копий (Retention) | + | + | + | + |
резервное копирование по сети , используя новый репликационный протокол | - | - | + | + |
Новый формат резервной копии для ускорения записи | - | - | + | + |
Новые возможности по работе в многопоточном режиме | - | - | + | + |
Единая версия утилиты для разных версий БД | - | - | + | + |
Расширенные возможности по управлению резервными копиями (merge) | - | - | + | + |
Возможность запуска сервера БД без восстановления резервной копии (FUSE) | - | - | + | - |
Документация |
|
|
Дополнительные возможности
Сжатие резервных копий, работа с CFS
По умолчанию в pg_probackup поддерживаются алгоритмы сжатия, доступные в PostgreSQL, – это pglz и zlib.
Для пользователей Postgres Pro Standard и Postgres Pro Enterprise доступны дополнительные алгоритмы сжатия: zstd и lz4.
Рисунок 4. Сравнение работы различных алгоритмов сжатия блоков данных.
Мы исследуем влияние алгоритмов сжатия на скорость создания и восстановления резервной копии. На конференции PgConf.СПб 2023 мы рассказали о взаимном влиянии алгоритмов сжатия и работы CFS.
Алгоритм ZSTD сжимает немного лучше, чем LZ4, но при этом работает медленнее. Возможность работы ZSTD в режиме многопоточности не влияет на скорость сжатия, так как сам pg_probackup уже работает многопоточно.
В Postgres Pro Enterprise есть поддержка сжатых табличных пространств CFS, что позволяет сократить использование дискового пространства СУБД и ее резервной копии. Более подробно о том, как использовать это решение, вы можете почитать в статье на Habr о работе CFS.
Утилита pg_probackup использует выбранный алгоритм сжатия только для блоков данных, где нет табличных пространств, заранее сжатых CFS. Выбранные алгоритмы сжатия для резервного копирования и CFS могут различаться, а команда merge будет выполнять слияние инкрементальных копий в новую полную резервную копию, используя алгоритм сжатия, указанный в последней инкрементальной копии. Поэтому вы можете оптимизировать место на диске сжать полный недельный бэкап так, чтобы он восстанавливался быстрее.
Совместимость с отечественными СХД
Мы проводим технологические испытания и работаем с новейшими разработками в области систем хранения данных отечественных производителей. Это касается современного оборудования: машин хранения данных для СУБД, S3-хранилищ и программно-аппаратных комплексов хранения данных с функцией дедупликации и программно-аппаратного сжатия данных. Мы тестируем и оптимизируем работу наших резервных копий с оборудованием таким образом, чтобы они записывались и восстанавливались быстрее, при этом работали все функции утилиты pg_probackup без ограничений. В числе СХД с которыми проводилось тестирование
- VK cloud
- Tatlin Backup
Совместимость с отечественными СРК системами
СРК – системы резервного копирования. Мы работаем над интеграциями с отечественными производителями СРК-систем
На данный момент с нами сертифицированы: RuBackup и Киберпротект. Каждая из систем имеет свои уникальные архитектурные преимущества для конечного потребителя, поэтому мы сотрудничаем с каждым индивидуально и предоставляем для тестирования наши новейшие разработки для прямой интеграции в СРК системы всех уникальных функций Postgres Pro Enterprise.
Документация
pg_probackup распространяется с открытым кодом и бесплатно для сообщества и PostgreSQL, документация и исходный код доступны на Github.
Postgres Pro Standard и Postgres Pro Certified содержат улучшенную версию PTRACK Enterprise для работы с большим количеством таблиц в одной базе данных (более 50 000). Документация pg_probackup для Postgres Pro Standard доступна на нашем сайте.
Postgres Pro Enterprise содержит pg_probackup c PTRACK Enterprise и поддержкой S3, чтобы делать резервные копии больших СУБД, минуя промежуточную запись файлов бэкапа на диск. Документация pg_probackup для Postgres Pro Enterprise доступна на нашем сайте. Преимущество работы Enterprise версии дополняется поддержкой CFS, что позволяет оптимизировать дисковое пространство, используемое СУБД и ее резервной копией, а также ускорить создание резервной копии и восстановление из нее.
Postgres Pro Shardman содержит pg_probackup Enterprise версии, дополненный функциями для резервного копирования распределённой БД. Документация на Shardman расширена и содержит утилиты управления шардами кластера, мы предлагаем вам ознакомиться с полной документацией на нашем сайте.
Запросить консультацию специалиста: presale@postgrespro.ru