데이터베이스 서비스 전문 기업 플래닛스케일(PlanetScale)이 대규모 포스트그레스(Postgres) 데이터베이스를 위한 샤딩(sharding) 솔루션 '네키(Neki)'를 플랫폼 프리뷰로 선보였습니다. 네키는 수년간 샤딩된 MySQL 클러스터를 운영하며 얻은 경험을 바탕으로, 단일 머신의 한계를 뛰어넘는 포스트그레스 확장을 가능하게 합니다. 애플리케이션은 표준 포스트그레스 와이어 프로토콜을 통해 네키 라우터에 연결되므로, 기존 드라이버나 ORM을 그대로 사용할 수 있습니다.
네키는 각 샤드(shard)에 실제 포스트그레스 인스턴스를 유지하며, 커스텀 스토리지 엔진을 사용하지 않아 포스트그레스의 확장 기능(extensions), SQL 지원 및 성능 특성을 그대로 보존합니다. 네키는 라우터, 샤드 그룹, 커넥션 풀링(connection pooling) 사이드카, 그리고 컨트롤 플레인(control plane)의 네 가지 핵심 구성 요소로 이루어져 있습니다. 특히 라우터는 쿼리를 파싱하고 분산 쿼리 플랜을 생성하여 여러 샤드에 작업을 분배한 뒤 결과를 통합하며, 데이터 토폴로지(data topology)라는 JSON 설정을 통해 테이블의 샤딩 방식과 분배를 제어할 수 있습니다. 스키마 변경, 버전 업그레이드, 장애 조치(failover), 리샤딩(resharding) 등 모든 운영 작업은 내장된 온라인 워크플로우로 중단 없이 실행됩니다.
네키의 출시는 빠르게 성장하는 포스트그레스 데이터베이스가 직면하는 고질적인 문제, 즉 대규모 테이블 관리의 어려움, 백업 시간 증가, 연결 제한, 스키마 변경을 위한 유지보수 기간 필요성 등을 해결하는 중요한 진전입니다. 기존 솔루션들이 애플리케이션 레벨 샤딩을 강요하거나 포스트그레스 호환성을 희생시키는 것과 달리, 네키는 '포스트그레스에 충실하라'는 원칙 아래 개발되어 개발자들이 익숙한 환경에서 대규모 확장을 이룰 수 있도록 돕습니다. 이는 대규모 트래픽을 처리해야 하는 기업들에게 안정적이고 효율적인 데이터베이스 운영 환경을 제공하며, 포스트그레스 생태계의 성장을 더욱 가속화할 잠재력을 가지고 있습니다.
