글을 작성하기 전에
MongoDB Enterprise Edition 에서는 OpsManager등을 활용하여 시점복구가 가능하지만 MongoDB Community 버전에서는 데이터 백업은 Dump로만 수행 가능하여 시점복구(Point in Time Recvoery)가 불가하다.
(그러나 MongoDB는 대부분 ReplicaSet 과 Sharding 환경으로 구성되어 복구가 필요할 확률이 적을 수 있음)
이와 같은 사례를 검토하기 위해 PostgreSQL(오픈소스) 와 EPAS(상용) 에 대한 백업/복구 제약사항을 검토하였다.
PostgreSQL 백업/복구 제약사항 검토(EPAS와 비교하여)
pg_dump vs 아카이브 로그 방식
- PostgreSQL & EPAS는 pg_dump를 활용해 백업을 받을 수 있으나, 해당 기능은 PITR이 불가하므로 실제 운영환경에서 복구 이용 시 제한 사항이 매우 큼
- 대부분의 운영환경은 따라서 아카이브 로그 파일을 활용한 백업방식을 이용하여 실제 운영서버를 백업
pg_dump | 아카이브 로그 파일이용(FileSystem) | |
백업 타입 | Logical | Physical |
PITR | 불가 | 가능 |
선택적 백업 | 가능 | 불가(전체 백업) |
아카이브 로그 방식에 대하여
- 아카이브로그를 활용한 백업 수행 절차는 백업시작함수 호출 > 파일 시스템 백업 > 백업 종료함수 호출 순으로 수행
- 실제 운영환경에서 파일 시스템 백업은 Netbackup, Veritas, HP 등의 회사의 다양한 백업 솔루션을 활용하여 백업
- 데이터 파일시스템 백업의 경우 pg_start_backup()이 시작함수, pg_stop_backup()이 종료 함수 역할을 함
- 아카이브 파일시스템 백업의 경우 pg_switch_xlog() or pg_switch_wal()이 시작함수 역할을 함
- 아카이브 로그 방식의 단점으로 백업받는 데이터 영역의 크기가 클 시 RTO, RPO를 보장하지 못함
PostgreSQL & EPAS 백업/복구 시 지원되는 기능의 차이점
- 위에 기술한 MongoDB의 경우와는 다르게 상용 & 오픈 간 백업/복구 시 지원되는 기능의 차이점은 없음
- Bart, pg_rman등 PITR를 제공하는 백업 도구도 있지만 해당 기능도 아카이브 로그 방식 활용시 시작함수 & 종료함수를 호출하는 방식으로 백업/복구를 수행
- 단순 툴로써 사용자의 편의성을 제공할 뿐 PostgreSQL 사용시에도 완전한 시점복구가 가능
'PostgreSQL & EPAS' 카테고리의 다른 글
PostgreSQL 파티션의 목적 및 프루닝 조건 (0) | 2022.06.30 |
---|---|
PostgreSQL Manual Vacuum Tuning (0) | 2022.06.21 |
PostgreSQL & EPAS Client tool - psql 활용 (0) | 2022.05.28 |
PostgreSQL & EPAS System Architecture - 2. Memory (0) | 2022.05.28 |
PostgreSQL & EPAS System Architecture - 1. Process (0) | 2022.05.28 |