본문 바로가기

PostgreSQL & EPAS

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

글을 작성하기 전에

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