클라우드 환경에서 데이터베이스 자원 관리는 항상 어려운 과제였습니다. 특히 예측 불가능한 트래픽 변동에 대응하기 위해선 과도한 프로비저닝(사전 할당)이 불가피했고, 이는 곧 불필요한 비용 낭비로 이어졌습니다. 이러한 문제를 해결하기 위해 Neon은 Lakebase Postgres를 통해 데이터베이스 연결을 끊지 않으면서 컴퓨트 자원을 자동으로 확장하고 축소하는 오토스케일링(autoscaling) 기술을 선보였습니다.
Lakebase Postgres의 핵심은 컴퓨트(Compute)와 스토리지(Storage)의 분리 아키텍처에 있습니다. 전통적인 Postgres는 컴퓨트와 스토리지가 같은 머신에 묶여 있어 자원 변경이 곧 데이터베이스 작업 중단을 의미했지만, Lakebase는 컴퓨트 계층이 영속 상태를 소유하지 않아 데이터베이스를 옮기지 않고도 시작, 중지, 이동, 크기 변경이 가능합니다. 오토스케일링 알고리듬은 CPU 부하, 메모리 사용량, 그리고 HyperLogLog 기반으로 추정된 작업 집합(working set) 크기 등 세 가지 지표를 종합적으로 분석하여 필요한 용량을 결정합니다. 특히 작업 집합 추정 시 타임스탬프를 활용해 최근 워크로드에 맞는 캐시 용량을 정확히 계산하며, 현재 노드에서 확장이 어려울 경우 VM을 다른 노드로 라이브 마이그레이션(live migration)하면서도 기존 연결을 유지하는 것이 특징입니다. Neon의 프로덕션 데이터베이스는 평균적으로 월 32,016회, 약 81초마다 컴퓨트 크기가 변경될 정도로 동적인 환경에 최적화되어 있습니다.
이러한 오토스케일링 기술은 개발자와 기업에게 상당한 이점을 제공합니다. 더 이상 피크(peak) 부하에 맞춰 미리 자원을 할당할 필요가 없어 불필요한 컴퓨트 비용을 절감할 수 있으며, 서비스 중단 없이 유연하게 자원에 대응할 수 있게 됩니다. 이는 특히 트래픽 변동이 심한 스타트업이나 개발자 플랫폼에 큰 도움이 될 것입니다. 컴퓨트 비용 경쟁이 심화되는 현 시점에서, Lakebase Postgres와 같은 기술은 Postgres가 다양한 워크로드에 더욱 효율적으로 대응할 수 있는 길을 열어줄 것으로 기대됩니다. 현재 이 기술은 Neon과 Databricks에서 동일한 인프라와 핵심 기능으로 제공되며, 각 플랫폼의 생태계에 맞춰 통합되어 활용되고 있습니다.