Skip to Content
Nextra 4.0 is released 🎉
DocumentationDesign YouTubeইউটিউব ডিজাইন (Design YouTube)

ইউটিউব ডিজাইন (Design YouTube)

এই অধ্যায়ে আমরা YouTube-এর মতো একটি ভিডিও স্ট্রিমিং সিস্টেম ডিজাইন করব।

এই ডিজাইন একইভাবে Netflix, Hulu বা অন্যান্য ভিডিও শেয়ারিং প্ল্যাটফর্ম ডিজাইনের জন্যও ব্যবহার করা যায়।


Figure 1: YouTube Homepage

(চিত্রে YouTube হোমপেজ দেখানো হয়েছে)

এখানে দেখা যায়:

  • বাম পাশে একটি সাইড মেনু (Sports, Gaming, Movies, News ইত্যাদি)

  • মাঝখানে ভিডিও থাম্বনেইলের গ্রিড

  • প্রতিটি ভিডিওতে:

    • টাইটেল
    • ক্রিয়েটর নাম
    • ভিউ কাউন্ট
    • আপলোড ডেট
    • ভিডিও ডিউরেশন
  • উপরে সার্চ বার এবং ইউজার প্রোফাইল আইকন

ইউজার সাধারণত ভিডিও নির্বাচন করে দেখে, সাবস্ক্রাইব করে এবং সার্চ ব্যবহার করে।


YouTube কত বড়?

YouTube-এর স্কেল বোঝার জন্য কিছু গুরুত্বপূর্ণ পরিসংখ্যান:

  • Monthly Active Users: 2 বিলিয়ন
  • Daily video watch: 5 বিলিয়ন ভিডিও
  • US প্রাপ্তবয়স্কদের 73% YouTube ব্যবহার করে
  • 50 মিলিয়ন+ creators
  • 2019 revenue: $15.1 বিলিয়ন
  • Mobile internet traffic-এর 37% YouTube
  • 80+ ভাষায় উপলব্ধ

👉 এই তথ্য থেকে বোঝা যায় YouTube একটি বিশাল, গ্লোবাল এবং হাই-স্কেল সিস্টেম।


Step 1 - Problem বোঝা এবং Scope নির্ধারণ

YouTube শুধু ভিডিও দেখা নয়—এখানে আরও অনেক ফিচার আছে:

  • লাইক, কমেন্ট, শেয়ার
  • সাবস্ক্রাইব
  • প্লেলিস্ট
  • রিকমেন্ডেশন

👉 কিন্তু interview-এ সব কিছু ডিজাইন করা সম্ভব না, তাই scope সীমিত করতে হয়।


Interview Q&A (Scope Narrowing)

Candidate: কোন ফিচার দরকার? Interviewer: ভিডিও আপলোড এবং ভিডিও দেখা

Candidate: কোন ক্লায়েন্ট সাপোর্ট লাগবে? Interviewer: Mobile, Web, Smart TV

Candidate: DAU কত? Interviewer: 5 million

Candidate: Daily usage কত? Interviewer: 30 minutes

Candidate: International users আছে? Interviewer: Yes

Candidate: Video format? Interviewer: সব major format support

Candidate: Encryption দরকার? Interviewer: Yes

Candidate: Max video size? Interviewer: 1GB

Candidate: Cloud service ব্যবহার করা যাবে? Interviewer: Yes (recommended)


Final Scope

আমরা একটি ভিডিও স্ট্রিমিং সিস্টেম ডিজাইন করব যার ফিচার:

  • দ্রুত ভিডিও আপলোড
  • smooth streaming
  • video quality change (360p, 720p, 1080p)
  • low infrastructure cost
  • high availability & scalability
  • support: mobile, web, smart TV

Back-of-the-envelope Estimation

এই হিসাবগুলো কিছু assumptions-এর উপর ভিত্তি করে করা হয়েছে।


Assumptions

  • DAU = 5 million
  • একজন ইউজার দিনে 5টি ভিডিও দেখে
  • 10% ইউজার প্রতিদিন 1টি ভিডিও আপলোড করে
  • Average video size = 300MB

Storage Requirement

5M × 10% × 300MB = 150TB/day

👉 প্রতিদিন প্রায় 150TB নতুন স্টোরেজ দরকার


CDN Cost Estimation

CDN ব্যবহার করলে প্রতি GB ডেটা transfer-এর জন্য চার্জ দিতে হয়।

ধরি Amazon CloudFront ব্যবহার করা হচ্ছে।

  • Cost ≈ $0.02 per GB

Daily Streaming Cost

5M users × 5 videos × 0.3GB × $0.02 = $150,000 per day

👉 শুধুমাত্র ভিডিও streaming-এর জন্য দৈনিক খরচ ~ $150K


গুরুত্বপূর্ণ ইনসাইট

  • CDN খরচ অনেক বেশি
  • ভিডিও স্ট্রিমিং সবচেয়ে expensive অংশ
  • বড় কোম্পানিগুলো CDN discount পায়, কিন্তু খরচ এখনও high

👉 তাই Deep Dive অংশে আমরা cost optimization কৌশল দেখব।


Figure 2: Cloud Storage Pricing

(চিত্রে cloud storage pricing table দেখানো হয়েছে)

এখানে দেখা যায়:

  • বিভিন্ন region অনুযায়ী দাম ভিন্ন
  • storage tier অনুযায়ী price কমে/বাড়ে
  • US/Europe তুলনায় কিছু region-এ বেশি দাম
  • বড় volume হলে per GB cost কমে

👉 এটি বোঝায় যে ভিডিও স্টোরেজ ও ডিস্ট্রিবিউশন region-based cost optimization প্রয়োজন।


সারসংক্ষেপ

এই অধ্যায়ে আমরা YouTube ডিজাইন শুরু করেছি:

  • সিস্টেমের স্কেল বোঝা
  • requirement gather করা
  • scope define করা
  • initial cost estimation করা

👉 পরবর্তী ধাপে আমরা high-level architecture, video processing pipeline এবং CDN optimization নিয়ে কাজ করব।


YouTube-এর মতো একটি সিস্টেম আসলে শুধু ভিডিও প্ল্যাটফর্ম না—এটি একটি বিশাল distributed system যার মধ্যে storage, streaming, caching এবং global delivery সব একসাথে কাজ করে।