앱 변경 없이 PostgreSQL 확장 가능!

by DD
3시간 전
조회수 0

PgDog는 PostgreSQL을 위한 오픈소스 커넥션 풀러(Connection Pooler), 로드 밸런서, 샤딩 프록시임

앱 코드 변경 없이 PostgreSQL 확장성(Scalability)을 지원하는 것을 목표로 함

Postgres 호환성, 속도, 보안성을 갖춘 데이터베이스 엔지니어 커뮤니티 기반 오픈소스 프로젝트임

PgDog의 핵심 기능: 커넥션 풀링 및 로드 밸런싱

PgDog는 PostgreSQL 연결을 효율적으로 관리하는 커넥션 풀러(Connection Pooler)로드 밸런서(Load Balancer) 역할을 수행한다.

연결 재사용(Connection Reuse): 애플리케이션이 데이터베이스 연결을 요청할 때마다 새로 생성하는 대신, 미리 생성된 풀에서 연결을 재사용하여 연결 설정 오버헤드(Connection Setup Overhead)를 크게 줄임.

동시성 향상(Concurrency Improvement): 수많은 동시 요청을 효율적으로 처리하며, 데이터베이스 서버의 부하를 분산시켜 전반적인 성능을 개선함.

앱 코드 변경 불필요: 기존 애플리케이션의 데이터베이스 연결 로직을 수정할 필요 없이, PgDog를 프록시로 설정하는 것만으로 확장성(Scalability)을 확보할 수 있다는 점이 핵심이다.

샤딩 프록시를 통한 수평 확장(Horizontal Scaling)

PgDog는 샤딩 프록시(Sharding Proxy) 기능을 제공하여 PostgreSQL의 수평 확장을 지원한다.

데이터 분산(Data Distribution): 대규모 데이터를 여러 PostgreSQL 인스턴스에 분산 저장하여 단일 노드의 처리 용량을 초과하는 워크로드를 처리할 수 있게 함.

자동 라우팅(Automatic Routing): 쿼리 요청 시, PgDog가 샤딩 키(Sharding Key)를 기반으로 적절한 데이터베이스 인스턴스로 요청을 라우팅하여 데이터 접근성을 높임.

투명성(Transparency): 애플리케이션은 샤딩된 데이터베이스 구조를 인지할 필요 없이, PgDog를 통해 마치 단일 데이터베이스처럼 접근할 수 있어 마이그레이션 복잡성을 최소화함.

PostgreSQL 호환성 및 보안 고려사항

PgDog는 PostgreSQL과의 완벽한 호환성(Full Compatibility)을 최우선으로 설계되었다.

표준 프로토콜 준수: PostgreSQL의 표준 통신 프로토콜(Standard Communication Protocol)을 따르므로, 기존 PostgreSQL 드라이버 및 클라이언트와 문제없이 연동됨.

보안 강화(Security Enhancement): TLS/SSL 암호화 통신 지원 및 접근 제어(Access Control) 기능을 통해 데이터 전송 및 접근에 대한 보안성을 높임.

오픈소스 기반: 커뮤니티 주도로 개발되어 투명성(Transparency)과 신뢰성(Reliability)을 확보했으며, 지속적인 개선이 기대됨.

[PgDog] Scale PostgreSQL without changing your app