Pgpool-II
Pgpool-II는 PostgreSQL 서버와 PostgreSQL 데이터베이스 클라이언트 사이에 위치하는 proxy 소프트웨어이다. 다음과 같은 기능을 제공한다.
1. Connection Pooling
Pgpool-II는 PostgreSQL 서버와의 연결을 유지하고, 동일한 속성(사용자 이름, 데이터베이스, 프로토콜 버전)을 가진 새로운 연결이 들어오면 이를 재사용 한다. 그것은 연결 연결 오버헤드를 줄이고, 시스템의 전체 처리량을 증가시킨다.
2. Load Balancing
3. Automated failover
4. Replication
5. Limiting Exceeding Connections
PostgreSQL과의 최대 동시 연결 수는 제한이 있으며, 이 수에 도달하면 새 연결이 거부된다. 그러나 이 최대 연결 수를 늘리면, 리소스 사용이 증가하고 전체 시스템 성능에 부정적인 영향을 미친다. Pgpool-II도 최대 연결수에 제한이 있지만, 오류를 즉시 반환하는 대신 추가 연결이 대기열에 추가 된다.
Pgpool-II는 PostgreSQL의 백엔드와 프론트엔드 프로토콜을 말하고 백엔드와 프런트엔드 사이로 메시지를 전달한다. 따라서 데이터베이스 에플리케이션(프론트앤드)는 Pgpool-II가 실제 PostgreSQL 서버라고 생각하며, 서버(백앤드)는 Pgpool-II 클라이언트중 하나로 본다. Pgpool-II는 서버와 클라이언트 모두에게 투명하기 때문에, 기존 데이터베이스 에플리케이션은 그것의 소스코드를 거의 변경하지 않고 Pgpool-II와 함께 사용될 수 있다.
Pgpool-II는 Linux, Solaris, FreeBSD 및 대부분의 UNIX 계열 아키텍쳐에서 작동하며 Windows는 지원되지 않는다. 지원되는 PostgreSQL 서버의 버전은 6.4 이상이며, PostgreSQL 7.3 이하를 사용하면 Pgpool-II의 일부 기능을 사용할 수 없다. 그러나 어쨌든 그런 낡은 버전을 사용하지 않는 것을 권장한다. 또한 모든 PostgreSQL 서버가 동일한 major 버전을 사용하고 있는지 확인해야한다. 추가적으로, 다른 빌드 옵션으로 다른 PostgreSQL 설치를 혼합하는 것을 권장하지 않는다. : SSL 지원여부 포함, --disable-integer-datetime 또는 아닌, 다른 블록 크기. 이것들이 Pgpool-II의 기능적인 부분에 영향을 미칠 수 있다. PostgreSQL minor 버전의 차이는 보통 문제가 되지 않는다. 그러나, minor 버전의 모든 증상을 테스트하지 않으며 동일한 minor 버전의 PostgreSQL을 사용할 것을 권장한다.
'DataBase > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] DB 이중화 - Pgpool -II - Server Setup and Operation -1 (1) | 2019.01.10 |
---|---|
[PostgreSQL] DB 이중화 - Pgpool -II - 설치 (0) | 2019.01.10 |
[PostgreSQL] DB 이중화 - Bucardo(비동기 방식) Installation (0) | 2019.01.08 |
[PostgreSQL] DB 이중화 - Bucardo(비동기 방식) FAQ (0) | 2019.01.08 |
[PostgreSQL] DB 이중화 - Bucardo(비동기 방식) Overview (0) | 2019.01.08 |