Storages
파일 스토리지(File Storage), 블록 스토리지(Block Storage), 오브젝트 스토리지(Object Storage)는 데이터 저장 방식이 서로 다르며, 각각의 장점과 단점이 있습니다.
1. 파일 스토리지 (File Storage)
📂 구조:
- 계층적인 디렉터리 및 파일 시스템 구조 (ex.
/home/user/docs/file.txt
). - NAS(Network Attached Storage) 같은 시스템에서 주로 사용됨.
🔹 특징:
- 파일 단위로 데이터를 저장하고 관리.
- 디렉터리 구조를 사용하여 탐색이 용이함.
- POSIX 호환으로 파일 접근이 직관적.
⚡ 장점:
✅ 파일과 폴더 기반이라 사용자가 관리하기 쉬움.
✅ ACL(Access Control List) 기반의 권한 관리 가능.
✅ 대부분의 운영체제에서 기본적으로 지원됨.
⚠️ 단점:
❌ 대규모 확장이 어렵고 성능 한계가 있음.
❌ 메타데이터 검색이 느림.
❌ 네트워크 파일 시스템(NFS, SMB) 사용 시 성능 저하 가능.
🛠 사용 사례:
- 기업 문서 관리 시스템
- 공유 네트워크 드라이브 (ex. Google Drive, Dropbox)
- 웹 서버 정적 파일 저장
2. 블록 스토리지 (Block Storage)
🔲 구조:
- 데이터를 블록(block) 단위로 저장하며, 각 블록은 개별적으로 주소 지정됨.
- 일반적으로 SAN(Storage Area Network) 에서 사용됨.
- 하드 드라이브처럼 OS에서 직접 마운트하여 사용함.
🔹 특징:
- 로우 레벨의 스토리지 볼륨을 제공 (ex. AWS EBS, iSCSI).
- 파일 시스템(FAT32, NTFS, ext4 등)을 사용자가 직접 구성.
- 높은 성능과 확장성이 필요할 때 적합.
⚡ 장점:
✅ 빠른 읽기/쓰기 성능 (데이터베이스 및 트랜잭션 처리에 유리).
✅ RAID 구성 가능, 높은 신뢰성과 가용성 제공.
✅ 스냅샷 및 백업 기능 지원 (ex. AWS EBS Snapshot).
⚠️ 단점:
❌ 개별 블록을 저장하므로 메타데이터 관리가 어렵고, 데이터 검색 기능이 없음.
❌ 네트워크를 통해 접근하려면 추가적인 설정 필요.
❌ 다수의 클라이언트가 공유하기 어렵고, 특정 서버에 종속됨.
🛠 사용 사례:
- 데이터베이스 스토리지 (MySQL, PostgreSQL)
- 가상 머신(VM) 디스크 (ex. AWS EBS, OpenStack Cinder)
- 고성능 트랜잭션 애플리케이션
3. 오브젝트 스토리지 (Object Storage)
🗄️ 구조:
- 데이터를 오브젝트(object) 형태로 저장 (파일 + 메타데이터 + 유니크한 ID).
- 폴더 개념이 없고, 플랫한 구조에서 고유한 키 값으로 접근.
- HTTP 기반 API(S3 API 등)를 통해 액세스.
🔹 특징:
- 무한 확장 가능 (클라우드 환경에서 최적화됨).
- 메타데이터를 포함하여 검색 및 데이터 관리를 쉽게 수행 가능.
- HTTP/HTTPS를 통해 접근 가능 (ex. AWS S3, MinIO).
⚡ 장점:
✅ 확장성이 뛰어나 대용량 데이터를 효과적으로 저장 가능.
✅ 글로벌 데이터 공유가 쉬움 (인터넷을 통한 API 기반 접근).
✅ 내장된 데이터 무결성 및 버전 관리 기능 제공.
⚠️ 단점:
❌ 파일 시스템처럼 직접 마운트할 수 없음.
❌ 실시간 고성능 데이터 처리가 필요한 애플리케이션에는 부적합.
❌ 트랜잭션 기반 데이터베이스보다는 정적인 파일 저장에 적합.
🛠 사용 사례:
- 클라우드 기반 백업/아카이브 저장소
- 정적 웹 콘텐츠 (이미지, 동영상, 로그 파일)
- 빅데이터 및 머신러닝 모델 저장
4. 비교 요약
특징 | 파일 스토리지 | 블록 스토리지 | 오브젝트 스토리지 |
---|---|---|---|
저장 방식 | 파일 및 디렉터리 | 블록 단위 | 오브젝트 (키-값) |
구성 방식 | 계층적 (파일 시스템) | 비구조적 (RAW 블록) | 플랫 구조 (메타데이터 포함) |
확장성 | 제한적 | 중간 | 매우 우수 |
성능 | 중간 | 매우 빠름 | 느림 (대량 데이터 처리에 최적) |
사용 방식 | 로컬/네트워크 파일 시스템 | OS에서 직접 마운트 | HTTP API 기반 |
주요 사례 | 문서 저장, 네트워크 드라이브 | DB 스토리지, VM 디스크 | 클라우드 백업, 미디어 저장 |
대표 서비스 | NFS, SMB, Google Drive | AWS EBS, iSCSI | AWS S3, MinIO |
🛠 선택 기준
- 빠른 성능이 필요하고 OS에서 직접 마운트해야 한다면? → 블록 스토리지
- 일반적인 파일 접근이 필요하고 협업이 중요하다면? → 파일 스토리지
- 대용량 데이터를 저장하고 확장성이 중요하다면? → 오브젝트 스토리지
어떤 환경에서 사용할 계획인가요? 😊