본문으로 건너뛰기
피드

피지독, 포스트그레스를 수평 확장시키겠다고 550만 달러 투자 유치

backend 약 5분
vote
0
댓글
북마크

피지독은 포스트그레스 앞단에 프록시를 두고 샤딩과 라우팅을 처리해 수평 확장을 가능하게 하겠다는 오픈소스 프로젝트다. 이미 프로덕션에서 초당 200만 건이 넘는 쿼리를 처리하고, 확인된 규모만 20테라바이트 이상을 샤딩했다고 밝히며 550만 달러 투자를 공개했다.

  • 1

    피지독은 애플리케이션의 데이터베이스 주소만 바꿔 포스트그레스 확장을 맡기는 프록시 접근법을 제시함

  • 2

    프로덕션에서 초당 200만 건 이상 쿼리와 20테라바이트 이상 샤딩 경험을 공개함

  • 3

    팀은 인스타카트에서 대규모 포스트그레스 운영 경험을 바탕으로 제품을 만들고 있음

  • 피지독(PgDog)이 “포스트그레스 하나면 충분하다”는 꽤 센 메시지로 투자 유치를 공개함

    • 이들이 보는 문제는 몽고디비나 다이나모디비가 특별히 좋아서 쓰이는 게 아니라, 포스트그레스가 대규모 확장에서 막히기 때문이라는 것임
    • 목표는 100테라바이트 이상 테이블, 초당 100만 쿼리 같은 규모에서도 포스트그레스를 계속 쓰게 만드는 것임
  • 접근 방식은 포스트그레스 앞에 프록시를 세우는 구조임

    • 애플리케이션은 DATABASE_URL만 바꾸고, 샤딩과 라우팅 같은 귀찮은 일은 피지독이 맡는다는 그림
    • 배포 위치도 제한하지 않음. 온프레미스, 자체 클라우드 계정, 코로케이션 랙, 로컬 노트북까지 어디서든 돌릴 수 있다고 강조함

중요

> 피지독은 이미 프로덕션에서 초당 200만 건 넘는 쿼리를 처리 중이고, 확인된 샤딩 규모만 20테라바이트 이상이라고 밝힘. 투자 발표치고는 꽤 실전 냄새 나는 숫자임.

  • 현재 지표도 오픈소스 인프라 제품으로는 눈에 띔

    • 수십 개 배포 환경에서 프로덕션 트래픽을 받고 있음
    • 깃허브 도커 이미지 풀 수는 140만 회를 넘겼다고 함
    • 매주 목요일 새 버전을 내고, 디스코드에서 직접 지원하는 운영 리듬을 가져가고 있음
  • 팀은 작지만 포스트그레스 대규모 운영 경험을 전면에 내세움

    • 창업자는 인스타카트에서 2020년 4월 회사가 5배 성장하던 시기에 포스트그레스를 운영했다고 밝힘
    • 당시 핵심 문제는 분당 수십만 건의 식료품 배송 주문을 포스트그레스로 처리하는 일이었음
    • RDS, Aurora, EC2 위에서 포스트그레스를 샤딩했고, 그때의 기술을 오픈소스 제품으로 꺼냈다는 설명임
  • 피지독의 포지셔닝은 “관리형 데이터베이스로 도망가지 말고, 네 포스트그레스를 키워라”에 가까움

    • 숨겨진 서버리스 비용이나 외부 의존성을 만들지 않겠다고 강조함
    • 멀티스레드 코드라 CPU를 주면 모두 활용하겠다는 식으로 성능 방향도 꽤 노골적임
  • 이번 투자 규모는 550만 달러임

    • 투자자는 베이시스 셋, 와이콤비네이터, 파이오니어 펀드 등으로 소개됨
    • 팀은 이 자금으로 몇 년치 런웨이를 확보했고, 포스트그레스를 모든 규모에서 “그냥 동작하게” 만드는 데 집중하겠다고 함
    • 별도로 AWS에서 더 쉽게 운영할 수 있는 엔터프라이즈 에디션과 SLA 지원도 준비 중임

기술 맥락

  • 피지독이 고른 위치는 데이터베이스 엔진 내부가 아니라 애플리케이션과 포스트그레스 사이예요. 이렇게 하면 기존 앱은 포스트그레스를 계속 바라보되, 실제 쿼리가 어느 샤드로 가야 하는지는 프록시가 맡을 수 있거든요.

  • 이 선택의 이유는 마이그레이션 부담을 줄이기 위해서예요. 데이터베이스를 몽고디비나 다이나모디비로 바꾸면 쿼리 모델, 운영 방식, 장애 대응이 다 바뀌는데, 프록시 방식은 기존 포스트그레스 지식을 최대한 보존할 수 있어요.

  • 인스타카트 사례가 중요한 건 규모 때문이에요. 2020년 4월처럼 주문량이 폭증하는 상황에서는 “나중에 리팩터링하자”가 잘 안 통하고, 이미 돌아가는 포스트그레스를 RDS, Aurora, EC2 위에서 어떻게든 확장해야 하거든요.

  • 온프레미스와 자체 클라우드 배포를 강조하는 것도 우연이 아니에요. 데이터베이스 프록시는 쿼리 경로의 한가운데 들어가기 때문에 지연시간, 장애 격리, 데이터 통제권이 중요하고, 그래서 팀이 직접 운영 환경을 고를 수 있게 만드는 게 제품의 핵심 가치가 돼요.

포스트그레스를 계속 쓰고 싶지만 샤딩 때문에 몽고디비나 다이나모디비 같은 선택지를 고민하던 팀에게 꽤 직접적인 메시지임. 특히 “서버리스 블랙박스가 아니라 네 클라우드와 온프레미스에서 직접 돌려라”는 포지션이 인프라 팀에게 먹힐 수 있음.

댓글

댓글

댓글을 불러오는 중...

backend

SIMD는 고수 전용 흑마법이 아니라, 모든 개발자가 알아야 할 반복문 최적화임

미첼 하시모토가 SIMD를 ‘복잡한 고성능 영역’으로만 볼 필요가 없다고 설명한 글이다. Ghostty의 실제 Zig 코드를 예로 들며, 큰 배열이나 문자열을 훑는 뜨거운 반복문은 벡터 너비만큼 한 번에 처리하는 5단계 패턴으로 생각할 수 있다고 풀어낸다.

backend

스타트업이 Postgres로 버티려면 알아야 할 생존 팁

Hatchet이 2년 동안 프로덕션 Postgres를 굴리며 겪은 문제를 스키마, 쿼리, 마이그레이션, 커넥션, 쿼리 플래너, autovacuum, 파티셔닝까지 한 번에 정리한 글이다. 핵심은 “인덱스만 붙이면 끝”이 아니라, 락·통계·배치·부풀어 오른 테이블까지 운영 관점에서 같이 봐야 한다는 점이다.

backend

Julia Evans가 Django로 ‘2010년식 웹사이트’를 만들며 좋았던 것들

Julia Evans가 프론트엔드 중심의 작은 앱 대신, SQL 데이터베이스와 서버 렌더링 HTML을 쓰는 Django 방식으로 웹사이트를 만들며 느낀 장점과 불편함을 정리했다. QuerySet, 템플릿 필터, 자동 마이그레이션은 생산성을 높였고, 클래스 기반 뷰와 성능 설정은 여전히 고민거리로 남았다. 특히 템플릿 캐시 설정 하나로 처리량이 초당 2-3 요청에서 약 12 요청으로 오른 대목이 실전적이다.

backend

클릭하우스가 PgBouncer 처리량을 4배로 끌어올린 방법

ClickHouse Managed Postgres 팀은 단일 스레드인 PgBouncer를 여러 프로세스로 띄우고 `so_reuseport`와 피어링(peering)을 조합해 16 vCPU 머신을 제대로 쓰게 만들었다. 동일한 AWS 환경에서 단일 프로세스는 약 8.7만 TPS 근처에서 막혔지만, 16개 프로세스 구성은 약 33.6만 TPS까지 올라갔다.

backend

SQLite 쓸 거면 STRICT 테이블을 기본값으로 보자는 주장

SQLite의 STRICT 테이블은 INTEGER 컬럼에 문자열이 들어가는 식의 타입 실수를 막아주는 기능이다. 글쓴이는 SQLite 특유의 유연한 타입 시스템보다, 실수는 빨리 터뜨리는 쪽이 실무에서 낫다고 주장한다. 다만 기존 테이블을 바로 STRICT로 바꾸기 어렵고, SQLite 3.37.0 이상에서만 쓸 수 있다는 제약도 있다.