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. 1.YouTube가 업로드 시점에 여러 해상도로 인코딩하는 이유는?
  2. 2.매일 500시간 분량의 업로드를 처리하는 방법은?
  3. 3.YouTube 추천 시스템의 두 단계는?
  4. 4.적응 비트레이트 스트리밍(ABR)이 무엇인가?
  5. 5.라이브 스트리밍이 VOD와 다른 점은?