PostgreSQL
PostgreSQL HA 도구 비교
남용2
2019. 10. 14. 16:08
기능 비교
- 최소 서버 2대 구성
- 최소 서버 3대 구성
프로젝트 개요
repmgr | patroni | stolon | |
회사/커뮤니티 | 2ndQuadrant | zalando | sorint.oss |
github first release | 10년 12월 v1.0.0 | 15년 10월 v0.4 | 15년 11월 v0.2.0 |
github last release | 18년 7월 v4.1.0 | 18년 8월 v1.4.6 | 18년 7월 v0.12.0 |
github contributors | 12 | 47 | 21 |
github star | 953 | 1878 | 1577 |
테스트된 OS |
Linux Mac |
Linux Mac |
Linux |
PostgreSQL 지원 버전 |
10 9.3, 9.4, 9.5, 9.6 |
10 9.6 |
11 10 9.4, 9.5, 9.6 |
기능비교표
분류 | 상세기능 | 기능 설명 | repmgr | patroni | stolon | 기타 |
- | 최소 서버 구성 수 | - | 2 | 3 | 3 | |
standby | standby 구성 | pg_basebackup 단점은 PostgreSQL instance가 실행중에 있어야 하며, 아니라면 백업툴을 사용해야 한다. | O | O | O |
repmgr
patroni
stolon
|
standby | cascading replication | cascading replication은 standby 서버에서 또다른 standby 서버로 replication | O | O | X |
repmgr
patroni
|
failover |
수동 failover |
사용자가 직접 명령어로 failover한다. | O | O | O |
repmgr
patroni
stolon
|
failover | 자동 failover | 자동으로 failover한다. | O | O | O |
patroni
|
failover | 예약 failover | failover 시점을 예약한다. | X | O | X |
patroni
|
failback | failback | master와 standby의 role를 서로 바꾼다. | O | O | O |
repmgr
patroni
stolon
|
기타 | pg_rewind | pg_rewind는 primary와 standby 간의 불일치 데이터만 동기화한다. | O | O | O | |
기타 | proxy | proxy는 failover로 인해 primary IP가 변경될 수 있으므로 필요하다. | X | X | O |
repmgr
patroni
stolon
|
기타 | split-brain 예방 | master가 여러개 생기는 것을 예방한다. | O | X | O |
repmgr
patroni
stolon
|
기타 | monitoring | HA 구성 상태를 표시한다. | O | O | O | |
기타 | 호환성 | 해당 툴의 공식 문서에서 호환 가능하다고 언급한 내용입니다. |
barman(backup) bdr(replication) pgbouncer(pooling) |
HAProxy(proxy) watchdog(split-brain) wal-e(backup) barman(backup) pgBackRest(backup) wal-g(backup) |
wal-e(backup) | - |
기타 | 서버 환경 | - | 서버용 |
서버용 클라우드용 |
서버용 클라우드용 |
- |
기타 | distributed configuration store | - | X |
etcd consul kubernetes |
- | |
장점 | - | - | 서버 2대로 HA 가능 |
클라우드 지원 예약 failover 지원 |
클라우드 지원 proxy 지원 |
- |
단점 | - | - | 클라우드 미지원 | proxy와 같은 기능을 사용하기 위해서는 외부 툴을 설치해야 함 | 최신 릴리즈가 v0.12.0라서 위험성이 있음 | - |