PostgreSQL 스케일링 문제 해결: MySQL/Vitess 전문가 Sugu Sougoumarane이 PostgreSQL의 스케일링 한계(예: Metronome의 30TB 데이터베이스 장애)를 인지하고 Vitess와 같은 솔루션의 필요성을 느껴 Multigress를 시작했습니다. 💡
Vitess for PostgreSQL: Multigress는 Vitess의 검증된 기술을 활용하여 PostgreSQL을 페타바이트 규모 및 수백만 QPS까지 확장하는 것을 목표로 합니다. 🚀
오픈 소스 프로젝트: Multigress는 오픈 소스로 제공되어 사용자들이 직접 프로덕션 환경에서 운영할 수 있도록 합니다. 🌐
초기 단계부터의 이점 (단일 인스턴스):
탄력적 스토리지: 인스턴스 충돌 시에도 데이터 손실을 방지합니다. 💾
멀티풀러 (PG Bouncer 대체): 다중 스레드 연결 풀링을 제공하며, 트랜잭션 및 읽기 전용 풀을 분리하여 데이터베이스 과부하를 방지하고 읽기 가용성을 유지합니다. 🚦
쿼리 파서: 모든 구성 요소가 쿼리를 분석하여 정규화하고 성능 지표를 보고함으로써 문제 해결을 돕습니다. 🔍
읽기 스케일링 (복제본): 읽기 트래픽 분산을 위해 복제본 추가를 지원하며, 일관된 읽기(consistent reads)를 포함한 다양한 구성 옵션을 제공합니다. 📚
고가용성 (Multiarchc): Multi Orchestrator (Multiarchc)를 통해 99.999%의 고가용성을 달성하며, 기본 인스턴스 장애 시 자동 페일오버를 제공합니다. 🛡️
무중단 소프트웨어 배포: 멀티풀러와 멀티게이트웨이 간의 조정을 통해 사용자에게 오류 없이 소프트웨어 업데이트 및 배포를 수행할 수 있습니다. 🔄
성능 향상 (NVMe + 복제): 복제된 스토리지를 로컬 NVMe 드라이브로 대체하여 성능을 획기적으로 향상시키면서도 고가용성을 유지합니다. ⚡
글로벌 분산 및 내구성 정책: 전 세계 여러 지역에 복제본을 쉽게 배포할 수 있으며, 기업의 요구에 따라 데이터 내구성 정책(예: 커밋 전 여러 지역에 데이터 복제 확인)을 설정할 수 있습니다. 🌍