-
PostgreSQL 백업 도구 비교PostgreSQL 2019. 10. 11. 13:44
개요
PostgreSQL 백업에 대해 관리할 수 있는 도구는 여러 개 존재한다.
이 글에서는 Barman, pgBackRest, WAL-E에 대해 기능을 비교한다.
기능을 비교하기 위해 각 도구의 문서를 참고한다.
- Barman 문서: http://docs.pgbarman.org/release/2.4/
- pgbackrest 문서: https://pgbackrest.org/
- wal-e 문서: https://github.com/wal-e/wal-e
프로젝트 개요
Barman pgbackrest WAL-E 회사/커뮤니티 2ndQuadrand crunchydata wal-e first release 11년 9월 v0.1.0 14년 9월 v0.10 11년 3월 v0.1.0 last release 18년 5월 v2.4 18년 9월 v2.05 17년 4월 v1.1.0 contributors 18 10 62 github star 368 305 2638 테스트된 OS Linux Linux Linux PostgreSQL 지원 버전 PostgreSQL >= 8.3
PostgreSQL >= 8.3 PostgreSQL >= 8.4 기능비교표
분류 상세 기능 WAL-E 비고
Backup protocol rsync
pg_receivexlog
pg_basebackup
custom
- pg_start_backup()
- pg_end_backup()
pg_basebackup rsync 문제점
- Single-threaded
- One second timestamp resolution(timestamp 정밀도는 1초)
- Incremental backups require previous backup to be uncompressed
custom은 rsync 문제점을 해결
Backup via rsync/SSH O - - Backup via streaming O O X WAL archiving
O O O 비동기 WAL archiving X O X WAL streaming
O O X Parallel Backup
O O X Barman
- file 단위 병렬 처리
pgBackRest
- file들을 압축하여 병렬 처리
Incremental Backup
O O X Differential Backup
- O X Barman
- WAL continuous archiving으로 가능하다고 하는데 자세한 내용이 없어서 확인해 보지 못함
file level incremental backup
O O - Block level incremental backup
X - - Schedule a Backup O O O Barman
- barman cron 명령어 사용
pgBackRest, wal-e
- cron과 같은 툴을 통해 가능하며 사용할 것을 권장
compression O
O O Barman
- backup_method=postgres(즉,pg_basebackup)이면 network compression를 사용할 수 없음
Retantion policy O O O barman
- 백업본의 백업 종류(full 또는 incremental backup)를 확인할 수 없음
wal-e
- wal-e delete retain [backup_count] 명령어로 백업본을 backup_count만큼 남김
Restore Point In Time Recovery(PITR) O O O Restore Selected Databases X O X Parallel Restore O O X Barman
- file 단위 병렬 처리
pgBackRest
- file들을 압축하여 병렬 처리
Repository repository
File System File System
AWS S3
File System
AWS S3
Azure Blob Store
Google Storage
Swift
repository encryption X O O 성능비교 rsync vs pgBackRest 성능 비교: https://pgbackrest.org/media/slide/pgBackRest-PGConfUS-2016.pdf 장점 - 2ndquadrant 개발
- HA 툴인 repmgr과 호환 가능
- 병렬처리로 backup/restore 가능
- 비동기 WAL archiving 가능
- 다수의 cloud repository 지원
단점 - repository encryption 안됨
- cloud repository 미지원
- 백업본 정보 출력 미흡
- cloud repository 지원 미흡
- 병렬처리로 backup/restore 안됨
- Incremental Backup 안됨
- 기능 테스트
- 기능 비교를 통해 선정된 것을 구축하고, 기능별로 AG와의 호환성을 확인한다.
- 구축은 VM에 하고 테스트를 진행한다.
- 메모
-
WAL archiving은 파일이 다 찰 때까지 대기하고, 다 차면 전송한다. 장애시 데이터 손실이 발생한다.
WAL streaming은 바로 전송한다. 장애시 데이터 손실을 최소화할 수 있다.
Logical backup: 데이터베이스의 스냅샷을 사용한다.
Physical backup: 데이터베이스를 저장하는 파일의 복사본을 사용한다.
pgbackrest
- 전체복업: 전체 데이터를 복사
- 차등백업: 마지막 전체 데이터 백업 이후 변경된 데이터만 복사
- 증분백업: 마지막 데이터 백업(증분백업, 차등백업, 전체백업) 이후 변경된 데이터만 복사
-
'PostgreSQL' 카테고리의 다른 글
pgPool-II 설치 (0) 2019.10.11 pgBouncer 설치 (0) 2019.10.11 WAL-E 설치 (0) 2019.10.11 pgBackRest 설치 (0) 2019.10.11 Barman 설치 (0) 2019.10.11