파일 저장 위치 장단점 / 효율적인 파일 관리 방법
파일 저장 위치 장단점
프로젝트 내부 저장
웹서버를 통해 바로 접근할 수 있으나, 파일이 많아지면 빌드 시간이 오래걸리고 프로젝트가 무거워지게 됩니다.
서버 내부 저장
서버 이중화 시 파일을 동기화하는 처리가 필요합니다.
외부 스토리지 저장 (S3, NAS)
서버 이중화 시에도, 외부 시스템에서도 같은 파일에 접근하기 용이합니다.
클라우드 스토리지를 이용하면 CDN 서비스와 연동해 더 빠르게 전송할 수 있습니다.
DB에 Blob 형태로 저장
백업이 쉬우나, 큰 용량의 이미지는 DB 용량을 많이 차지하고 입출력 시 느리며 부하를 발생시킵니다.
파일 경로 저장 위치 비교
클라이언트 저장
파일 경로 변경 시 서버 반영이 필요합니다.
백엔드 저장
파일 경로 변경 시 서버 반영, 재기동이 필요합니다.
DB 저장
서버 반영, 재기동 없이 DB에서 파일 경로를 수정하여 다른 파일로 바꿀 수 있습니다.
효율적인 파일 관리 방법
- 파일은 외부 스토리지에 저장하고, 파일 경로와 원본파일명 등 파일 정보는 DB에 저장합니다.
- 파일명은 중복이 발생할 수 있기 때문에 UUID로 변경하여 저장합니다.
- 한 폴더에 너무 많은 파일이 있으면 접근 속도가 느려지니 폴더당 5,000개 미만으로 관리합니다.
- 클라이언트에서는 서버에서 DB 조회하여 받은 파일 경로로 파일을 보여주는 것이 좋습니다.
Leave a comment