본문으로 건너뛰기

트렌딩 - GitHub 인기 레포 & HuggingFace 모델

malisper/pgrust

Rust0 / 0

pgrust는 Postgres 18.3과 디스크 호환성을 목표로 Rust로 재작성된 데이터베이스이며 46,000개 이상 회귀 쿼리를 활용해 Postgres 출력 일치를 검증하고 있다.

TL;DR

pgrust는 Postgres 18.3의 동작과 디스크 포맷 호환성을 목표로 Rust로 재구현된 데이터베이스 프로젝트이며 Postgres의 공식 회귀 테스트 스위트를 오라클로 사용해 출력 일치를 검증한다. 이 프로젝트는 기존 Postgres 데이터 디렉터리에서 부팅할 수 있는 디스크 호환성을 유지하며 새 개발 분기에서는 process-per-connection 대신 connection당 스레드 모델을 적용해 트랜잭션 워크로드 성능을 개선하려는 설계를 채택했다. README에서 회귀 테스트 수치와 성능 주장을 명시하여 실험용·연구용 대안으로 관심을 끌었지만 프로젝트는 아직 프로덕션 준비가 되지 않았고 일부 확장 및 PL 호환성은 미비하다는 한계가 있다.

핵심 포인트

  • Postgres의 공식 회귀 테스트 스위트를 직접 사용하여 출력 일치성을 검증하는 점이 차별점이다. 이 접근은 단순한 호환 레이어가 아니라 동작 수준의 일치를 목표로 하여 기존 Postgres와의 상호운용성을 더 강하게 보장한다. README에 명시된 46,000개 이상의 회귀 쿼리 통과 사실이 이 전략을 뒷받침한다.
  • 디스크 포맷 호환성을 유지하여 기존 Postgres 데이터 디렉터리로부터 직접 부트할 수 있게 설계한 점이 운영 전환 비용을 낮춘다. 이로 인해 데이터 마이그레이션 절차 없이 실험·검증이 가능하고 기존 백업·복구 도구를 계속 활용할 수 있다. 디스크 호환성은 실제 운영 데이터 재사용과 테스트 신뢰성 측면에서 실질적 이점을 제공한다.
  • 프로세스 기반 모델 대신 연결당 스레드 모델을 채택하는 아키텍처 실험을 통해 트랜잭션 워크로드에서 성능 향상 여지를 확보한 점이 핵심적 차별화 요소이다. README는 새 버전이 thread-per-connection 모델을 사용하며 트랜잭션 워크로드에서 50% 빠르다는 주장을 제시하고 있다. 이 아키텍처 변경은 컨텍스트 전환 비용과 메모리 공유 설계를 재고하게 만든다.
  • Postgres 18.3과의 출력 호환을 보장하기 위해 Postgres의 회귀 테스트 스위트를 그대로 사용하며 더 이상 의도하지 않은 동작 차이를 남기지 않도록 테스트 출력 일치를 기준으로 삼는다. 이로 인해 기존 Postgres 도구체인과의 상호운용성이 유지되며 데이터 디렉터리에서 직접 부팅하는 시나리오가 가능하다. README는 46,000개 이상의 회귀 쿼리 일치 사실을 명시하고 있다.

벤치마크

벤치마크지표비교
transaction workloadsrelative speed50% faster than Postgresvs Postgres
analytical workloadsrelative speed~300x faster than Postgresvs Postgres
clickbench comparisonrelative speed2x slower than ClickHousevs ClickHouse

4.2k

STARS

160

FORKS

+269

TRENDING

0

조회수

watchers 4.2kopen issues 24GNU Affero General Public License v3.0

관련 토론

아직 관련 토론이 없습니다.

댓글

댓글을 작성하려면 로그인이 필요합니다.