728x90
반응형
- pgdog은 Rust + Tokio로 작성된 PostgreSQL 트랜잭션 풀링 + 샤딩 + 로드밸런싱 도구, 수백 개의 데이터베이스와 수십만 개의 연결을 효율적으로 관리
- PgBouncer처럼 동작하면서도, 쿼리 분석과 복제까지 지원하는 PostgreSQL 전문 애플리케이션 계층(OSI L7) 프록시
- Kubernetes 및 Docker로 쉽게 배포 가능하며, 클러스터 구성, 로드밸런싱, 복제, 다중 샤드 관리까지 단일 구성으로 처리 가능
- 자체적인 논리적 복제 관리 기능과 함께, 기존 PostgreSQL 클러스터를 중단 없이 샤딩 확장할 수 있음
주요 기능
- 로드 밸런싱
- OSI Layer 7에서 PostgreSQL 쿼리 기반으로 트래픽 분산
- SELECT는 복제본으로, INSERT/UPDATE 등은 기본 노드로 자동 라우팅
- 전략: round robin, random, least active connections 등 지원
- 장애 발생 시 실시간 헬스체크 및 자동 Failover
- 트랜잭션 풀링
- PgBouncer와 유사하게, 세션/트랜잭션 단위 풀링 지원
- 수십만 클라이언트를 몇 개의 PostgreSQL 연결로 처리 가능
- 샤딩 및 복제
- SQL 분석을 통해 shard key를 추출하고, 해당 샤드에 쿼리 자동 전달
- 교차 샤드 쿼리는 결과를 메모리에서 조합해 사용자에게 단일 응답 제공
- COPY 명령도 샤드 단위로 분할 처리
- 논리적 복제 지원: 무중단 상태에서 기존 DB를 샤딩 확장 가능
- 실시간 구성 변경
- PgBouncer 스타일의 .toml 설정 사용, 재시작 없이 설정 변경 가능
- 사용자별 인증, 데이터베이스별 연결, 샤드 정보까지 설정 가능
- 모니터링
- 표준 PgBouncer 관리 포트 + OpenMetrics 지원
- Datadog 연동 예시 및 대시보드 포함
반응형
'DB > PostgreSQL' 카테고리의 다른 글
Postgres 메모리 설정을 최대한 활용하는 방법 (2) | 2025.04.27 |
---|---|
PostgreSQL hstore 타입이란? (0) | 2025.04.22 |
PostgreSQL에서 BloomFilter 사용하기 (0) | 2025.04.22 |
PostgreSQL 조인 전략 (0) | 2025.04.17 |
PostgreSQL 기본 데이터베이스 (Template0, Template1, Postgres) (0) | 2025.04.16 |