파일 저장 위치 장단점 / 효율적인 파일 관리 방법

파일 저장 위치 장단점

프로젝트 내부 저장

웹서버를 통해 바로 접근할 수 있으나, 파일이 많아지면 빌드 시간이 오래걸리고 프로젝트가 무거워지게 됩니다.

서버 내부 저장

서버 이중화 시 파일을 동기화하는 처리가 필요합니다.

외부 스토리지 저장 (S3, NAS)

서버 이중화 시에도, 외부 시스템에서도 같은 파일에 접근하기 용이합니다.
클라우드 스토리지를 이용하면 CDN 서비스와 연동해 더 빠르게 전송할 수 있습니다.

DB에 Blob 형태로 저장

백업이 쉬우나, 큰 용량의 이미지는 DB 용량을 많이 차지하고 입출력 시 느리며 부하를 발생시킵니다.


파일 경로 저장 위치 비교

클라이언트 저장

파일 경로 변경 시 서버 반영이 필요합니다.

백엔드 저장

파일 경로 변경 시 서버 반영, 재기동이 필요합니다.

DB 저장

서버 반영, 재기동 없이 DB에서 파일 경로를 수정하여 다른 파일로 바꿀 수 있습니다.


효율적인 파일 관리 방법

  • 파일은 외부 스토리지에 저장하고, 파일 경로와 원본파일명 등 파일 정보는 DB에 저장합니다.
  • 파일명은 중복이 발생할 수 있기 때문에 UUID로 변경하여 저장합니다.
  • 한 폴더에 너무 많은 파일이 있으면 접근 속도가 느려지니 폴더당 5,000개 미만으로 관리합니다.
  • 클라이언트에서는 서버에서 DB 조회하여 받은 파일 경로로 파일을 보여주는 것이 좋습니다.

Leave a comment