Design YouTube
IntermediateOn the roadmap:Interview Ready · step 7: Practise under pressure
Design a video sharing platform with uploads, search and comments.
Discuss the upload pipeline, storage layout, CDN and caching, metadata database scaling, search and counters.
Requirements
- Upload videos (up to several GB) with resumable uploads
- Transcode into multiple resolutions
- Watch, like and comment
- Search videos by title and description
Scale & constraints
- 500 hours of video uploaded every minute
- 5B views per day
- Read-heavy with viral spikes
Hints (try without them first)
- Why is transcoding asynchronous, and how do you track job state?
- How do you handle a video that suddenly goes viral?
- Where do view counters live and how accurate must they be?
Useful reading