목차
일반적으로 데이터베이스용 스토리즈, 이미지(또는 다른 정적 파일)용 스토리지, 그리고 서버 인스턴스를 분리하는 것이 대규모 시스템 설계에서 이상적입니다.
DB에 이미지를 저장할까? URL을 저장할까?
- DB에 이미지를 저장한다면 데이터 무결성과 보안을 크게 신경쓸 필요 없습니다.
- URL을 저장하는 것이 성능과 비용적 측면에서 우세합니다.
URL을 저장하고 싶다면?
객체 스토리지
- Amazon S3: 광범위하게 사용되는 클라우드 기반 객체 스토리지 서비스로, 높은 내구성 가용성 및 확장성을 제공합니다.
- Google Cloud Storage: 고성능, 고가용성 및 전 세계적인 보안을제공하는 객체 스토리지 서비스 입니다.
- Microsoft Azure Blob Storage: 대규모 객체 데이터를 저장하기 위한 서비스로, 접근성과 확장성을 제공합니다.
파일 시스템 스토리지
- 전통적인 파일 시스템을 사용하여 서버의 디스크에 직접 파일 이미지 저장
- 작은 웹 애플리케이션에 적합
- 대규모로 확장되는데 제한!!
DB에 저장한다면? NoSQL데이터 베이스
MongoDB
BSON(Binary JSON)형식을 사용하여 비정형 데이터를 효율적으로 저장하고 쿼리할 수 있습니다.
Cassandra
대용량 분산 데이터 관리에 적합하여, 고가용성과 확장성이 뛰어납니다.
그 외의 방법 "컨텐츠 전송 네트워크(CDN)"
CDN은 이미지와 같은 정적 파일을 전 세계 데이터 센터의 캐시 서버에 분산 저장하여, 사용자에게 더 빠르게 콘텐츠를 제공합니다. CDN은 직접적인 '저장'솔루션은 아니지만, 이미지 로딩 속도를 개선하고 웹 서버의 부하를 줄이는 데 사용됩니다.
'IT > DB' 카테고리의 다른 글
Eager Loding, Lazy Loading (1) | 2024.11.07 |
---|---|
N+1 문제와 해결방법문제와 해결방법 (3) | 2024.11.07 |
Django와 PostgreSQL 어울리는 이유 (0) | 2024.04.16 |
MySQL vs PostgreSQL (0) | 2024.04.16 |