Serverless Postgres Neon으로 Next.js 환경에서 Short-URL 구현하기
프론트엔드
Serverless Postgres Neon으로 Next.js 환경에서 Short-URL 구현하기
두줄요약
Next.js와 Prisma, Neon으로 원본 URL을 숨기는 커스텀 Short-URL 생성·조회 흐름을 구현했습니다. 가벼운 기능 검증에 적합한 Neon의 선택 근거와 운영상 제약도 함께 정리했습니다.
문제 상황
- 콘텐츠 식별자와 쿼리 파라미터가 외부에 노출되는 길고 가독성 낮은 기존 URL 구조
- 원본 URL과 외부 노출용 URL 분리를 위한 커스텀 Short-URL 필요
선택 이유
- Vercel 배포 환경과 네이티브 연동되는 PostgreSQL 기반 서버리스 DB Neon 선택
- 영구 저장 요구와 구현 범위를 고려해 Upstash와 Supabase 대신 Neon 채택
- 타입 안정성 및 마이그레이션 지원을 위한 Prisma ORM 적용
구조와 흐름
shortId,originalUrl, 생성 시각을 저장하는 PrismaShortUrl모델 구성- API Route에서 원본 URL의 기존 단축키 조회 후 재사용하거나 nanoid·customId로 생성
- 동적 라우트 slug가 8자리 숫자가 아닐 때 Neon에서 원본 URL을 조회해 콘텐츠 데이터 요청
성능/운영 포인트
- Neon의 자동 Sleep에 따른 비용 절감과 활성화 시 콜드 스타트 지연 가능성
- 자동 확장, DB 브랜칭, 시점 복구, 읽기 전용 복제본 지원
- 불규칙한 트래픽에서의 응답 속도 저하 및 일부 PostgreSQL 확장 미지원 가능성


