Repolode
pg-sharding

pg-sharding/spqr

여러 백엔드 인스턴스에 하나의 논리적 데이터베이스를 분산할 수 있는 무상태 PostgreSQL 수평 샤딩 쿼리 라우터입니다.

스타
1,481
포크
100
열린 이슈
102
마지막 커밋
6시간 전

어떤 프로젝트인가요?

SPQR은 애플리케이션과 PostgreSQL 사이에서 쿼리를 라우팅하고 데이터를 여러 데이터베이스 샤드에 분산하는 무상태 쿼리 라우터입니다. 단일 PostgreSQL 인스턴스를 관리하기 어려워질 정도로 데이터가 테라바이트 규모로 늘고 쿼리 요청량이 매우 많아진 단일 데이터베이스를 대상으로 합니다.

Go로 작성된 이 프로젝트는 spqr-router로 시작하는 라우터 프로세스를 중심으로 구성되며, YAML 파일로 설정합니다. 기존 샤딩 솔루션 중 다수가 분석 및 하이브리드 워크로드에 초점을 맞추는 것과 달리, 모놀리식 데이터베이스에서 샤딩 구성으로 더 원활하게 전환할 수 있도록 하는 것이 목표입니다.

문서, 기능 목록, Docker 기반의 간단한 예제는 프로젝트 사이트에서 확인할 수 있습니다. 단위 테스트, 회귀 테스트, 엔드투엔드 테스트는 Docker Compose와 make 타깃을 통해 실행합니다.

핵심 기능

  • 01하나의 엔드포인트 뒤에서 여러 PostgreSQL 샤드로 클라이언트 쿼리를 라우팅합니다.
  • 02YAML 파일로 설정하는 무상태 라우터 프로세스로 실행됩니다.
  • 03make run을 사용해 Docker 기반으로 빠르게 시작할 수 있습니다.
  • 04단위 테스트, 회귀 테스트, 엔드투엔드 테스트 모음을 포함합니다.

활용 사례

  • 테라바이트 규모로 성장하고 쿼리 요청량이 많은 단일 PostgreSQL 데이터베이스를 확장합니다.
  • 모놀리식 PostgreSQL 배포 환경을 샤딩 아키텍처로 이전합니다.
  • 여러 인스턴스에 수평 파티셔닝이 필요한 OLTP 방식의 워크로드를 실행합니다.

빠른 시작

  1. 1

    Docker를 사용해 간단한 예제를 실행합니다

    make run
  2. 2

    소스에서 프로젝트를 빌드합니다

    make build
  3. 3

    설정 파일을 지정해 router를 실행합니다

    spqr-router run --config path-to-router-config.yaml

사용 전 알아둘 점

  • 라이선스 자동 감지에 실패했으므로 저장소에서 라이선스를 확인해야 합니다. README에는 PostgreSQL Global Development Group License라고 명시되어 있습니다.
  • 로컬 개발에는 최신 버전의 Go가 필요합니다.

포함된 컬렉션

토픽

자주 묻는 질문

spqr은(는) 무엇인가요?
여러 백엔드 인스턴스에 하나의 논리적 데이터베이스를 분산할 수 있는 무상태 PostgreSQL 수평 샤딩 쿼리 라우터입니다. SPQR은 애플리케이션과 PostgreSQL 사이에서 쿼리를 라우팅하고 데이터를 여러 데이터베이스 샤드에 분산하는 무상태 쿼리 라우터입니다. 단일 PostgreSQL 인스턴스를 관리하기 어려워질 정도로 데이터가 테라바이트 규모로 늘고 쿼리 요청량이 매우 많아진 단일 데이터베이스를 대상으로 합니다.
spqr은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
spqr은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
spqr은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. spqr의 마지막 커밋은 2026년 10월 22일입니다.
spqr은(는) 어디에 사용할 수 있나요?
테라바이트 규모로 성장하고 쿼리 요청량이 많은 단일 PostgreSQL 데이터베이스를 확장합니다. 모놀리식 PostgreSQL 배포 환경을 샤딩 아키텍처로 이전합니다. 여러 인스턴스에 수평 파티셔닝이 필요한 OLTP 방식의 워크로드를 실행합니다.
spqr는 어떻게 설치하나요?
Docker를 사용해 간단한 예제를 실행합니다: make run 소스에서 프로젝트를 빌드합니다: make build 설정 파일을 지정해 router를 실행합니다: spqr-router run --config path-to-router-config.yaml
spqr은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/pg-sharding/spqr

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트