Object Storage Evolution
S3의 오브젝트 스토리지에서 멀티모달 데이터 플랫폼으로의 진화
핵심 개념
Amazon S3는 2006년 단순 오브젝트 스토리지로 시작했지만, 2024~2026년에 걸쳐 Tables, Vectors, Files를 추가하며 멀티모달 데이터 플랫폼으로 진화하고 있다. 핵심 도전은 서로 다른 데이터 접근 패턴(오브젝트, 파일시스템, 테이블, 벡터)을 하나의 스토리지 위에서 양립시키는 것이다.
S3 진화 타임라인
| 연도 | 기능 | 목적 |
|---|---|---|
| 2024 | S3 Tables | Iceberg 테이블을 관리형 프리미티브로 제공 |
| 2024 | S3 Vectors | AI/시맨틱 검색용 벡터 인덱스 지원 |
| 2026 | S3 Files | EFS 통합으로 S3 버킷을 네트워크 파일시스템으로 마운트 |
파일 vs. 오브젝트: 근본적 비호환성
파일과 오브젝트는 설계 철학이 상충한다:
| 속성 | 파일 시맨틱 | 오브젝트 시맨틱 |
|---|---|---|
| 변경 | 인플레이스 변이 (mutable) | 원자적 교체 (immutable) |
| 접근 | 세밀한 바이트 레벨 | 전체 객체 단위 |
| 메타데이터 | 풍부한 OS 시맨틱 (권한, 타임스탬프) | 단순한 키-값 |
| 일관성 | POSIX close-to-open | 즉시 일관성 (strong) |
Stage and Commit 모델
AWS는 통합(“EFS3”)을 포기하고 “stage and commit” 모델을 채택했다:
- 파일시스템 레이어에서 변경이 누적(stage)
- 60초 주기로 S3에 완전한 오브젝트로 커밋
- 버전 관리 시스템의 워킹 디렉토리-커밋 관계와 유사
기술 구현
- Lazy hydration: 메타데이터와 128KB 미만 소파일만 초기 액세스 시 로드
- Read bypass: 고처리량 순차 읽기 시 파일시스템 레이어를 우회하여 3 GB/s/client
- 충돌 해결: S3가 권위적 소스 — 파일시스템 변경과 충돌 시 S3 우선
트레이드오프
| 이점 | 비용 |
|---|---|
| 기존 파일 기반 도구가 S3 데이터에 직접 접근 | 60초 동기화 지연 |
| 복사 없이 여러 접근 패턴 지원 | 충돌 시 S3 우선으로 파일 변경 유실 가능 |
| 3 GB/s 읽기 처리량 (read bypass) | NFS 시맨틱의 부분적 지원 |
연관 개념
- Catalog-Managed Tables — 테이블 관리형 스토리지
- Spark at Scale — S3 기반 데이터 처리