PostgreSQL & EPAS

PostgreSQL 백업/복구 제약사항 검토(EPAS와 비교하여)

yechankk 2022. 5. 28. 21:07

글을 작성하기 전에

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 사용시에도 완전한 시점복구가 가능