Azure 스토리지 서비스 유형
1. Azure Blob Storage (Binary Large Object Storage)
정의: Azure Blob Storage는 Microsoft의 클라우드 기반 객체 스토리지 솔루션으로, 대량의 비구조화된 데이터(텍스트 또는 이진 데이터)를 저장하기 위해 최적화되어 있습니다.
특징:
- 대규모 비구조화 데이터 저장에 적합
- 전 세계 어디서나 HTTP/HTTPS를 통해 접근 가능
- 최대 190.7 TiB까지의 데이터 저장 가능
- 다양한 데이터 액세스 티어(핫, 쿨, 아카이브) 제공
Blob 유형:
- 블록 Blob: 텍스트와 이진 데이터 저장에 최적화. 개별적으로 관리할 수 있는 블록으로 구성
- 추가 Blob(Append Blob): 블록 Blob과 유사하지만 추가 작업에 최적화. 로깅 시나리오에 이상적
- 페이지 Blob: 임의 액세스 파일을 위한 스토리지로, Azure 가상 머신의 VHD 파일 저장에 사용
주요 사용 사례:
- 웹 브라우저에 직접 이미지나 문서 제공
- 분산 액세스를 위한 파일 저장
- 비디오 및 오디오 스트리밍
- 로그 파일 작성
- 백업, 복구, 재해 복구 및 아카이빙을 위한 데이터 저장
- 분석을 위한 데이터 저장
2. Azure Table Storage
정의: Azure Table Storage는 클라우드에서 비관계형 구조화 데이터(NoSQL 데이터)를 저장하기 위한 서비스로, 키/속성 저장소를 제공하며 스키마가 없는 설계를 특징으로 합니다.
특징:
- 유연한 스키마리스(schemaless) 설계
- 대규모 구조화된 데이터 저장에 적합
- 테라바이트(TB) 규모의 데이터 처리 가능
- 클러스터링된 인덱스를 통한 빠른 쿼리 지원
- OData 프로토콜 및 LINQ 쿼리 지원
데이터 구조:
- 테이블: 엔티티 모음으로, 스키마를 강제하지 않음
- 엔티티: 속성의 집합으로, 데이터베이스 행과 유사 (최대 1MB)
- 속성: 이름-값 쌍으로, 각 엔티티는 최대 252개의 속성을 가질 수 있음
주요 사용 사례:
- 복잡한 조인, 외래 키 또는 저장 프로시저가 필요 없는 데이터셋 저장
- 사용자 데이터, 카탈로그 데이터, 디바이스 정보 등 유연한 데이터셋 저장
- 웹 규모 애플리케이션을 위한 대용량 구조화 데이터 저장
3. Azure Queue Storage
정의: Azure Queue Storage는 대량의 메시지를 저장하기 위한 서비스로, HTTP 또는 HTTPS를 통한 인증된 호출을 사용하여 전 세계 어디서나 메시지에 액세스할 수 있습니다.
특징:
- 최대 64KB 크기의 메시지 저장
- 비동기 메시지 큐잉 제공
- 애플리케이션 구성 요소 간 통신 지원
- 클라우드 및 온프레미스 환경에서 접근 가능
- 높은 확장성과 처리량 제공
구성 요소:
- URL 형식: 큐는 'https://.queue.core.windows.net/' 형식의 URL로 주소 지정
- 스토리지 계정: 모든 Azure Storage 액세스는 스토리지 계정을 통해 이루어짐
- 큐: 메시지 집합을 포함하는 저장소
- 메시지: 최대 64KB 크기의 데이터 단위로, 구성 가능한 TTL(Time-to-Live) 설정 보유
주요 사용 사례:
- 비동기 처리를 위한 작업 백로그 생성
- Web-Queue-Worker 아키텍처 패턴 구현
- 분산 시스템 구성 요소 간의 안정적인 통신
4. Azure Files
정의: Azure Files는 업계 표준 SMB(Server Message Block) 프로토콜, NFS(Network File System) 프로토콜 및 Azure Files REST API를 통해 접근 가능한 클라우드 기반 완전 관리형 파일 공유 서비스입니다.
특징:
- 클라우드와 온프레미스 배포에서 동시에 마운트 가능
- 다중 프로토콜 지원 (SMB, NFS, REST API)
- 완전 관리형 서비스로 하드웨어 관리 불필요
- PowerShell, Azure CLI, Azure Portal을 통한 관리
- 고가용성 및 복원력 설계
지원 프로토콜:
- SMB 프로토콜: Windows, Linux, macOS 클라이언트에서 접근 가능
- NFS 프로토콜: Linux 클라이언트에서 접근 가능
- Azure Files REST API: 프로그래밍 방식의 액세스 지원
주요 사용 사례:
- 온프레미스 파일 서버 대체 또는 보완
- 클라우드로의 애플리케이션 '리프트 앤 시프트'
- 클라우드 개발 단순화
- 상태 저장(stateful) 컨테이너용 영구 볼륨
- 다양한 가상 머신에서 액세스해야 하는 개발 및 디버깅 도구 저장
Azure 스토리지 서비스 간의 관계
표: Azure 스토리지 서비스 비교
데이터 유형 | 비구조화 데이터 | 반구조화 데이터 | 메시지 | 파일 기반 데이터 |
주요 사용 사례 | 멀티미디어 저장, 백업, 스트리밍 | NoSQL 데이터베이스, 유연한 데이터셋 | 메시지 큐잉, 비동기 처리 | 파일 공유, 클라우드 파일 시스템 |
최대 크기 | 블록 Blob: ~190.7 TiB 페이지 Blob: 8 TiB |
엔티티: 1MB (Azure), 2MB (Cosmos DB) | 메시지: 64 KB | 파일 공유: 100 TiB |
액세스 프로토콜 | HTTP/HTTPS, REST API, SFTP, NFS 3.0 | OData, HTTP/HTTPS | HTTP/HTTPS | SMB, NFS, REST API |
통합 | Azure Data Lake, CDN | Azure 애플리케이션 | Azure Functions | Azure Active Directory |
확장성 | 대규모 확장성 | 테라바이트 규모 확장성 | 대용량 메시지 처리 | 엔터프라이즈급 파일 공유 |
접근 방식 | URL, 스토리지 클라이언트 | 파티션 키 및 행 키 기반 | 메시지 큐 | 네트워크 파일 공유 마운트 |
관리 | Azure Portal, PowerShell, CLI, SDK | Azure Portal, SDK | Azure Portal, SDK | Azure Portal, PowerShell, CLI |
데이터 구조화 | 없음 (자유 형식) | 반구조화 (엔티티/속성) | 메시지 기반 | 파일 및 폴더 계층 |
스토리지 계정과의 관계
모든 Azure 스토리지 서비스(Blob, Table, Queue, Files)는 Azure 스토리지 계정 내에 존재합니다. 스토리지 계정은 글로벌 네임스페이스를 제공하고 스토리지 유형에 따라 다양한 종류가 있습니다:
- 표준 범용 v2: Blob, Table, Queue, Files 스토리지를 모두 지원하는 가장 일반적인 스토리지 계정 유형
- 프리미엄 블록 Blob: 블록 Blob과 추가 Blob에 최적화된 고성능 스토리지 계정
- 프리미엄 파일 공유: Azure Files에 최적화된 계정으로 SMB 및 NFS 프로토콜 지원
- 프리미엄 페이지 Blob: 페이지 Blob 전용 고성능 스토리지 계정
Azure 스토리지 서비스 마인드맵
Azure Storage Services
│
├── Azure Blob Storage
│ ├── 특징
│ │ ├── 대규모 비구조화 데이터 저장
│ │ ├── 전 세계 접근성
│ │ └── 데이터 티어링 (핫/쿨/아카이브)
│ │
│ ├── Blob 유형
│ │ ├── 블록 Blob (일반 데이터)
│ │ ├── 추가 Blob (로그 데이터)
│ │ └── 페이지 Blob (VM 디스크)
│ │
│ └── 사용 사례
│ ├── 이미지/비디오 저장
│ ├── 백업 및 아카이빙
│ └── 스트리밍 미디어
│
├── Azure Table Storage
│ ├── 특징
│ │ ├── 스키마리스 NoSQL 데이터베이스
│ │ ├── 키/값 저장소
│ │ └── 빠른 쿼리 성능
│ │
│ ├── 데이터 구조
│ │ ├── 테이블 (엔티티 모음)
│ │ ├── 엔티티 (행과 유사)
│ │ └── 속성 (열과 유사)
│ │
│ └── 사용 사례
│ ├── 사용자 데이터 저장
│ ├── 디바이스 정보 저장
│ └── 카탈로그 데이터
│
├── Azure Queue Storage
│ ├── 특징
│ │ ├── 비동기 메시지 큐잉
│ │ ├── 최대 64KB 메시지 크기
│ │ └── 고가용성 설계
│ │
│ ├── 구성 요소
│ │ ├── URL 형식
│ │ ├── 스토리지 계정
│ │ ├── 큐
│ │ └── 메시지
│ │
│ └── 사용 사례
│ ├── 작업 백로그 생성
│ ├── 애플리케이션 구성 요소 간 통신
│ └── 웹-큐-워커 아키텍처
│
├── Azure Files
│ ├── 특징
│ │ ├── 완전 관리형 파일 공유
│ │ ├── 클라우드/온프레미스 액세스
│ │ └── 친숙한 파일 시스템 인터페이스
│ │
│ ├── 지원 프로토콜
│ │ ├── SMB (다중 플랫폼)
│ │ ├── NFS (Linux)
│ │ └── REST API (프로그래밍)
│ │
│ └── 사용 사례
│ ├── 온프레미스 파일 서버 대체
│ ├── 애플리케이션 리프트 앤 시프트
│ └── 컨테이너용 영구 볼륨
│
└── 스토리지 계정 (통합 컨테이너)
├── 표준 범용 v2 (모든 스토리지 유형)
├── 프리미엄 블록 Blob (고성능 Blob)
├── 프리미엄 파일 공유 (고성능 Files)
└── 프리미엄 페이지 Blob (VM 디스크)
스토리지 서비스 간의 주요 관계
- 통합 관리: 모든 스토리지 서비스는 Azure 스토리지 계정 내에서 관리되며 동일한 보안, 확장성 및 내구성 혜택을 공유합니다.
- 보완적 기능: 각 스토리지 서비스는 다양한 데이터 유형과 사용 사례를 다루도록 설계되었습니다:
- Blob Storage: 대용량 비구조화 데이터(이미지, 비디오, 백업)
- Table Storage: 구조화된 비관계형 데이터(사용자 프로필, 디바이스 정보)
- Queue Storage: 애플리케이션 컴포넌트 간 통신(메시지 전달)
- Azure Files: 파일 시스템 기반 데이터 공유(문서, 구성 파일)
- 접근 방식의 차이점:
- Blob Storage는 객체 기반으로 URL을 통해 접근
- Table Storage는 키 기반 접근 방식 사용
- Queue Storage는 FIFO(First-In-First-Out) 메시지 처리 구조 제공
- Azure Files는 네트워크 드라이브처럼 마운트하여 접근
- 통합 애플리케이션 시나리오: 복잡한 애플리케이션은 종종 여러 스토리지 서비스를 함께 사용합니다:
- 웹 애플리케이션이 Blob Storage에 미디어 저장
- Table Storage에 메타데이터 저장
- Queue Storage로 비동기 작업 조정
- Azure Files로 구성 파일 공유
이러한 Azure 스토리지 서비스는 각각 고유한 특징과 사용 사례를 가지고 있지만, 함께 사용하여 복잡한 클라우드 솔루션을 구축할 수 있는 통합된 스토리지 에코시스템을 형성합니다. 모든 서비스는 스토리지 계정이라는 통합 컨테이너를 통해 관리되며, 이를 통해 일관된 보안, 확장성, 모니터링이 가능합니다.
'인공지능,프로그래밍 > MS Azure' 카테고리의 다른 글
애저 문제 VM 을 이미지로 복사하기 저장 로컬 VHD 파일 이동 복사 방법 (0) | 2025.04.11 |
---|---|
Azure Endpoint의 개념과 유형 (0) | 2025.04.10 |
Azure 리소스 계층 구조 (1) | 2025.04.09 |
Azure 구독과 테넌트 문제 (0) | 2025.04.09 |
Azure 계정 테넌트: 명령 및 관리 (0) | 2025.04.07 |