서비스를 배포했는데 저장한 데이터가 사라졌어요
Vercel에서 데이터가 사라지는 원인과 배포용 데이터베이스로 옮기는 방법
2026-08-23 · 읽는 시간 6분
Vercel에 서비스를 배포하면 데이터가 사라지는 이유는, Vercel이 요청이 있을 때만 앱 실행 공간을 만들고 끝나면 없애기 때문입니다.
앱 메모리나 임시 폴더(/tmp)에 저장한 데이터는 사라집니다. 게시글이나 회원 정보 같은 중요한 데이터는 PostgreSQL 같은 배포용 데이터베이스에 저장해야 해요. 로컬 서비스에서는 UQA로 게시글과 회원 정보를 저장하고 조회할 수 있지만, Vercel 배포본은 배포용 데이터베이스에 연결해야 합니다.
1. Vercel에 배포하면 데이터가 사라지는 이유
로컬(내 컴퓨터)에서 프로그램을 만들 때는 데이터를 저장해도 잘 남아있어요.
예를 들어, 게시글이나 회원 정보를 저장하면 프로그램이 꺼지기 전까지는 계속 볼 수 있습니다.
이건 마치 책상 서랍에 중요한 서류를 보관하면 내가 방을 나갔다 와도 그대로 있는 것과 같아요.
하지만 Vercel 같은 곳에 프로그램을 올리면 데이터가 사라질 수 있어요.
Vercel은 요청이 들어올 때만 프로그램을 잠깐 켰다가, 일이 끝나면 바로 꺼버리는 방식입니다. 이걸 서버리스(Serverless)라고 불러요.
마치 손님이 올 때만 잠깐 문을 여는 임시 가게 같은 거예요. 손님이 가면 가게 문을 닫고 진열한 상품도 모두 치워버리는 거예요.
그래서 처음엔 데이터가 보이다가 며칠 뒤에 다시 보면 사라져 있을 수 있습니다.
2. Vercel에서 데이터를 저장하는 세 가지 방법과 문제점
Vercel에서는 데이터를 저장할 수 있는 곳이 몇 군데 있지만, 모두 임시적이에요.
앱 메모리: 프로그램이 실행되는 동안만 데이터를 기억하는 곳입니다.
로컬에서는 프로그램이 켜져 있는 동안 계속 유지되지만
Vercel에서는 프로그램이 꺼지거나 새로 시작되면 메모리가 싹 지워져요.
이건 마치 칠판에 글씨를 썼다가 수업이 끝나면 지우는 것과 같아요.
프로젝트 폴더: 프로그램 파일들이 들어있는 곳입니다.
로컬에서는 이 폴더 안에 파일을 만들거나 수정할 수 있지만
Vercel에 올라간 프로젝트 폴더는 읽기만 가능하고, 새로운 파일을 만들거나 수정할 수 없습니다.
마치 도서관 책은 읽을 수 있지만, 그 책에 직접 글씨를 쓰거나 새 페이지를 끼워 넣을 수 없는 것과 같아요.
`/tmp` 임시 폴더: Vercel에서 유일하게 파일을 쓸 수 있는 곳이에요.
하지만 여기에 저장된 데이터도 다음번에 요청이 올 때까지 남아있다는 보장이 없습니다.
Vercel이 프로그램을 끄거나 새 버전으로 업데이트하면 이 폴더의 데이터도 사라져요.
이건 마치 쓰레기통에 버린 파일이 언제 치워질지 모르는 것과 비슷합니다.
3. 새로고침할 때마다 데이터가 보였다 안 보였다 하는 이유
Vercel은 여러 사람이 동시에 프로그램을 사용할 때 여러 개의 임시 실행 공간을 운영할 수 있어요.
각 임시 가게는 자기만의 칠판(메모리)과 쓰레기통(
/tmp폴더)을 가지고 있습니다.그래서 한 가게에서 게시글을 썼는데, 새로고침을 했더니 다른 가게로 연결돼서 글이 안 보일 수 있는 거예요.
마치 내가 A라는 가게에서 주문했는데, 다음번에 B라는 가게에 갔더니 그 주문 기록이 없는 것과 같습니다.
4. 데이터를 안전하게 저장하는 방법: 배포용 데이터베이스
이 문제를 해결하려면 Vercel의 임시 가게들과는 별도로, 데이터를 영원히 보관할 수 있는 중앙 창고(배포용 데이터베이스)를 사용해야 합니다.
PostgreSQL이나 MySQL 같은 데이터베이스가 이런 중앙 창고 역할을 해요.
모든 임시 가게들이 이 하나의 중앙 창고를 바라보도록 설정하면, 어떤 가게가 손님을 받든 항상 같은 데이터를 보여줄 수 있습니다.
이렇게 하면 Vercel이 임시 가게를 닫거나 새로 열어도 데이터가 사라지지 않고, 새로고침해도 항상 같은 정보를 볼 수 있게 돼요.
5. UQA 적용 전 저장 위치와 이전 범위 점검하기
지금 만들고 있는 프로그램이 데이터를 어디에 저장하고 있는지 확인해야 합니다.
혹시 앱 메모리, 프로젝트 폴더,
/tmp폴더 같은 임시 저장소를 쓰고 있지는 않은지 점검하는 거예요.마치 내 방의 문서가 책상 서랍에 있는지, 아니면 언제 버려질지 모르는 쓰레기통에 있는지 확인하는 것과 같습니다.
임시 저장소에 있는 데이터를 중앙 창고(배포용 데이터베이스)로 옮겨야 합니다.
기존에 데이터를 저장하고 읽던 방식을 중앙 창고에 맞게 바꿔야 해요.
중앙 창고에 접속하려면 필요한 정보들(주소, 비밀번호 등)을 Vercel에 알려줘야 합니다.
그리고 기존에 임시 저장소에 있던 데이터를 중앙 창고로 옮기는 작업도 필요해요.
이건 마치 책상 서랍에 있던 중요한 문서를 안전한 금고로 옮기고, 금고 문을 여는 방법을 배우는 것과 같습니다.
Vercel에 배포한 서비스가 게시글과 회원 정보를 어디에 저장하는지 확인해줘. 메모리, 프로젝트 폴더, /tmp를 사용한다면 [선택한 배포용 데이터베이스]로 저장 코드를 교체하고, 필요한 환경 변수와 기존 데이터 이전 절차까지 정리해줘