- Neon은 Postgres 데이터베이스 개발을 위한 새로운 접근 방식을 제시하는 서비스로 최근 정식 출시됨
- Postgres는 가장 인기 있는 개발자 데이터베이스 중 하나이지만, 확장성과 장애 복구에 어려움이 있음
- 개발자들은 Postgres 클러스터 생성이 빠르고, 자동으로 확장/축소되며, 독립적인 작업이 가능한 브랜치를 즉시 생성할 수 있고, 빠른 시점 복원을 원함
Neon의 아키텍처 및 특징
- Amazon Aurora의 아이디어를 빌려 스토리지와 컴퓨팅을 분리하는 아키텍처를 채택함
- 모든 변경 사항을 오픈소스로 제공하고 업스트림으로 전송함
- 사용자는 완전한 Postgres 경험을 할 수 있음
- 브랜치 기능을 통해 개발자들은 충돌 없이 독립적으로 작업할 수 있음
- 컴퓨팅은 부하에 맞게 독립적으로 확장 가능함
- 브랜치는 초 단위로 생성되고 COW 방식으로 공간 오버헤드가 적음
- 데이터베이스나 서버의 생성 및 복제에 많은 시간이 소요되지 않음
Neon의 발전 과정
- 2022년 12월 초대장 없이 사용 가능해짐
- 브랜치 기능을 모든 사용자에게 제공함
- API 지원으로 Postgres 관리를 자동화할 수 있게 됨
- 서버리스 드라이버 출시로 JS/TS 배포 속도 향상
- Vercel 통합으로 프리뷰마다 DB 브랜치 생성 가능해짐
- 자동 크기 조정 기능 출시로 수동 작업 불필요해짐
- CLI로 터미널에서 직접 관리할 수 있게 됨
- 0으로 스케일링 및 콜드 스타트 동작 개선에 집중함
GN⁺의 의견
- Neon은 개발자 경험 개선에 중점을 둔 흥미로운 서비스임. 특히 데이터베이스 브랜치 기능은 개발 속도 향상에 큰 도움이 될 것으로 보임
- 다만 Postgres의 모든 기능을 완벽히 지원하는지, 마이그레이션은 어떻게 해야 하는지 등 실제 도입 시 고려 사항이 있을 것임
- 기존 Postgres와의 호환성, 안정성, 성능 등에 대한 검증이 필요해 보임. 아직은 출시 초기라 신중한 접근이 필요할 듯함
- 유사 서비스로는 Amazon Aurora, Google Cloud Spanner, Citus 등이 있음. 각 서비스의 장단점을 비교해볼 필요가 있음
- Postgres 기반인 만큼 Postgres의 장점은 그대로 가져갈 수 있다는 것이 큰 매력임. 개발자들에게 친숙한 도구를 사용하면서도 개발 생산성을 높일 수 있다는 점이 Neon만의 강점이 될 것으로 보임