인프라 뉴스
Postgres의 한계를 넘는 Neki: 분산 데이터베이스 시스템
Neki
Hacker News대규모 Postgres 데이터베이스의 확장성 한계를 극복하기 위해 설계된 분산 시스템입니다. 실제 Postgres 엔진을 유지하며 샤딩과 고가용성을 제공합니다.
세 줄 요약
- 전용 라우터를 통해 기존 드라이버와 ORM을 그대로 사용하면서도, 복잡한 쿼리를 여러 샤드에 분산 처리하고 결과를 통합할 수 있습니다.
- 스키마 변경이나 버전 업그레이드 같은 대규모 유지보수 작업을 서비스 중단 없이 온라인 워크플로우로 처리하여 무중단 운영이 가능합니다.
- 현재 플랫폼 프리뷰 단계이므로 프로덕션 환경 적용 전 충분한 테스트가 필수적입니다. 자세한 내용은 공식 문서를 참고하세요.
Neki는 대규모 Postgres 데이터베이스가 단일 머신의 처리 용량에 도달했을 때 발생하는 확장성 문제를 해결하기 위해 설계된 분산 시스템입니다. 기존에는 애플리케이션 코드를 수정하거나 핵심 기능을 포기해야 하는 문제들이 있었으나, Neki는 순수 Postgres 원칙을 고수하며 이 문제를 해결하는 것을 목표로 합니다.
Neki의 아키텍처는 라우터를 통해 작동합니다. 이 라우터는 기존 드라이버와 ORM이 사용하는 Postgres 와이어 프로토콜을 지원하여 단일 연결 문자열로 모든 작업이 가능하게 합니다. 라우터는 들어온 쿼리를 분석하고, 여러 샤드에 작업을 분산한 뒤 결과를 통합하며, 각 샤드는 수정된 스토리지 엔진 없이 실제 Postgres로 구성되어 안정성을 유지합니다.
또한 Neki는 스키마 변경, 버전 업그레이드, 계획 및 비계획적 장애 조치 등 모든 운영 작업을 내장 워크플로우로 처리하여 무중단 운영을 지원합니다. 다만, 현재 이 제품은 플랫폼 프리뷰 단계에 있으므로 프로덕션 환경에서 사용하기 전에 충분한 테스트가 필요하며, 일부 변경 사항은 호환성 문제를 일으킬 수 있습니다.