VCA

파일 스토리지 Storage

스토리지는 이미지·동영상·PDF 같은 큰 파일을 보관하며, 데이터베이스와 역할을 나눕니다.

수정일 약 1분 분량편집 방침#시스템 기초#파일#스토리지
학습 경로SaaS 경로

한 문장으로

스토리지는 '큰 파일'(이미지·동영상·PDF)을 위한 창고로, 데이터베이스와 역할을 나눕니다.

쉽게 말하면

이미지·동영상·PDF 같은 큰 파일은 데이터베이스에 넣을 게 아니에요 — 데이터베이스를 비대하고 느리게 만듭니다. 이런 파일은 전용 오브젝트 스토리지, 예를 들어 Cloudflare R2나 AWS S3에 두어야 해요.

흔한 방식은 이래요. 파일 자체는 스토리지에 두고, 데이터베이스에는 "그 파일의 URL이나 ID"만 기록합니다. 보여줘야 할 때는 프론트엔드가 URL로 스토리지에서 바로 가져오죠 — 빠르고 저렴해요. 권한은 각별히 조심하세요. 비공개 파일은 URL을 추측한 누구에게도 다운로드되어선 안 됩니다.

아키텍처

동작 흐름

데이터베이스에 둘까, 파일 스토리지에 둘까?

어디에 둘지 헷갈릴 땐 "데이터의 형태"로 나눠 보세요.

  • 구조화된 레코드 — 사용자·주문·게시글·댓글 — 는 데이터베이스로. 조회·정렬·관계 연결을 할 수 있어요.
  • 큰 파일 — 이미지·동영상·PDF·첨부 — 는 파일/오브젝트 스토리지로. 커다란 이진 덩어리를 위해 만들어졌죠.

둘은 함께 일합니다. 데이터베이스가 저장하는 건 파일 자체가 아니라 파일을 가리키는 링크(URL이나 ID)예요.

핵심 정리

  • 큰 파일은 스토리지에, 데이터베이스는 URL이나 ID만 저장.
  • 이 분담이 데이터베이스를 가볍게 유지하고, 용량은 스토리지가 맡게 함.
  • 비공개 파일에는 반드시 접근 권한을 설정해, URL을 추측해 다운로드하지 못하게 할 것.

일상 속 비유

데이터베이스는 접수처의 장부, 스토리지는 뒤편의 큰 창고예요. 장부에는 '물건이 몇 번 선반에 있는지'만 적죠.

장점

  • 큰 파일에 적합 — 낮은 비용, 큰 용량
  • URL로 파일을 바로 제공할 수 있어 빠름
  • 데이터베이스와 역할을 나눠 각자 할 일에 집중함

단점

  • 권한을 설정하지 않으면 비공개 파일이 누구나 접근 가능해질 수 있음
  • 파일 이름과 생명주기를 직접 관리해야 함

적합한 경우

  • 아바타·사진·동영상·첨부를 업로드하는 앱
  • 정적 사이트의 이미지와 자산 호스팅

맞지 않는 경우

  • 복잡한 조회와 관계가 필요한 구조화된 데이터(그건 데이터베이스의 일)

초보자 점수표

초보자 추천도
4/5
학습 비용(높을수록 비용 큼)
3/5
시장 수요
4/5
AI 생성 친화도
4/5

자주 묻는 질문

이미지·영상 같은 파일도 데이터베이스에 저장하나요?

아닙니다. 데이터베이스는 ‘문자와 숫자’를 저장합니다. 이미지·영상 같은 큰 파일은 오브젝트 스토리지(Cloudflare R2, S3 등)에 두고, DB에는 그 URL만 저장합니다.

오브젝트 스토리지와 일반 디스크는 무엇이 다른가요?

오브젝트 스토리지는 네트워크로 URL을 통해 접근하고 거의 무한 확장되며 사용량 과금이라 사용자 업로드에 적합합니다. 로컬 디스크는 서버리스 환경에서 재시작하면 사라집니다.

이미지를 더 빠르게 불러오려면 어떻게 하나요?

파일을 오브젝트 스토리지에 두고 CDN으로 사용자와 가장 가까운 노드에 캐시하세요. 이미지는 압축하고 최신 포맷(WebP/AVIF)을 사용하세요.

SaaS 경로 다음 단계: PostgreSQL