Phase 8레슨 39
YouTube 아키텍처
Video Upload, Transcoding, CDN, Recommendation — 매일 500시간 영상이 업로드되는 시스템
💡ELI5·
비디오 가게와 YouTube
업로드 → 인코딩 (144p~4K) → CDN 배포 ↓ ↓ 메타데이터 저장 사용자 요청 ↓ ↓ 추천 시스템 ← 시청 이력 ← 사용자 재생 (ABR)
💡 비유 — 비디오 대여점. 고객이 비디오를 가져오면(업로드), 점원이 여러 화질로 복사를 만들고(인코딩), 여러 지점에 배치하고(CDN), 고객 취향에 맞는 비디오를 추천(추천 시스템).
🔬Deep Dive·
비디오 처리 파이프라인
1. 업로드: 클라이언트 → 원본 저장 (GCS/S3) 2. 메시지 발행: "video:123 업로드됨" → 큐 3. 인코딩 워커 (병렬): - 144p (저대역폭) - 720p (일반) - 1080p (고품질) - 4K (최고) + 썸네일 추출 4. CDN 배포: 각 버전을 전 세계 CDN 엣지에 복사 5. 메타데이터: 제목, 설명, 태그, 썸네일 → DB
🔬Deep Dive·
추천 시스템 — Two-Tower
1. Candidate Generation (수백만 → 수백) 사용자 특징 + 영상 특징 → 협업 필터링 → 후보 500개 2. Ranking (수백 → 정렬) 각 후보에 대해: - 시청 확률 - 시청 시간 예측 - 좋아요/댓글 예측 → 최종 점수로 정렬 → 추천 피드
⚖️Trade-off·
YouTube 아키텍처의 Trade-off
| 선택 | 이점 | 대가 |
|---|---|---|
| 다중 해상도 인코딩 | 모든 기기/네트워크 대응 | 저장/컴퓨팅 비용 (한 영상 = 여러 버전) |
| ABR 스트리밍 | 끊김 없는 재생 | 클라이언트 복잡성 |
| Two-Tower 추천 | 빠른 후보 선별 + 정밀 랭킹 | ML 모델 학습/서빙 비용 |
| 자체 CDN (Google Edge) | 전 세계 빠른 전송 | CDN 인프라 운영 |
❓ 체크포인트 질문
- 1.YouTube가 업로드 시점에 여러 해상도로 인코딩하는 이유는?
- 2.매일 500시간 분량의 업로드를 처리하는 방법은?
- 3.YouTube 추천 시스템의 두 단계는?
- 4.적응 비트레이트 스트리밍(ABR)이 무엇인가?
- 5.라이브 스트리밍이 VOD와 다른 점은?