সিস্টেম ডিজাইন

ক্যাশিং থেকে শুরু করে টুইটার ডিজাইন — ধাপে ধাপে শিখুন কীভাবে রিয়েল-ওয়ার্ল্ড সিস্টেম তৈরি হয়।

মূল ধারণা
সিস্টেম ডিজাইন কী? (What is System Design?)
আপনার ব্যবহৃত প্রতিটি অ্যাপের পেছনের ব্লুপ্রিন্ট
স্কেলেবিলিটি (Scalability)
এক ইউজার থেকে এক বিলিয়ন — সিস্টেম কীভাবে বড় হয়
লোড ব্যালান্সিং (Load Balancing)
কাজ ভাগ করে নেওয়া যাতে কোনো সার্ভার অতিরিক্ত চাপে না পড়ে
ক্যাশিং (Caching)
প্রয়োজনীয় জিনিস কাছে রাখুন — ধীরগতির যাত্রা এড়িয়ে চলুন
ডেটাবেস: SQL বনাম NoSQL (Databases: SQL vs NoSQL)
আপনার ডেটার জন্য সঠিক ঘর বেছে নেওয়া
বিল্ডিং ব্লক
ক্যাপ থিওরেম (CAP Theorem)
আপনি সব কিছু একসাথে পাবেন না — তিনটির মধ্যে যেকোনো দুটি বেছে নিন
কনসিস্টেন্ট হ্যাশিং (Consistent Hashing)
সার্ভার যোগ করার অর্থ এই নয় যে সবকিছু এলোমেলো করতে হবে
মেসেজ কিউ (Message Queues)
সবকিছু এখনই করবেন না — লাইনে দাঁড় করিয়ে দিন
API ডিজাইন (API Design)
আপনার সিস্টেম এবং বাইরের জগতের মধ্যকার চুক্তি
কন্টেন্ট ডেলিভারি নেটওয়ার্ক (Content Delivery Networks)
গুদামের পরিবর্তে সবচেয়ে কাছের তাক থেকে কন্টেন্ট পরিবেশন করুন
ওয়েব সার্ভিস
URL শর্টনার ডিজাইন (Design a URL Shortener)
স্কেলে দীর্ঘ লিংকগুলোকে ছোট করে তুলুন
রেট লিমিটার ডিজাইন (Design a Rate Limiter)
সার্ভার ডুবে যাওয়ার আগেই ফ্লাড বা বন্যার পানি আটকে দিন
পেস্ট সার্ভিস ডিজাইন
স্নিপেট স্টোর এবং শেয়ার করার ব্যবস্থা — পেস্টবিনের (Pastebin) মতো, স্কেলে
সার্চ অটোকমপ্লিট ডিজাইন
টাইপ করার সাথে সাথেই ইনস্ট্যান্ট সাজেশন — বিশাল স্কেলে
সোশ্যাল ও কমিউনিকেশন
চ্যাট সিস্টেম ডিজাইন (Design a Chat System)
লাখ লাখ মানুষের জন্য রিয়েল-টাইম মেসেজিং — তাৎক্ষণিকভাবে ডেলিভারড
নোটিফিকেশন সিস্টেম ডিজাইন (Design a Notification System)
সঠিক বার্তা, সঠিক ব্যক্তির কাছে, সঠিক সময়ে
নিউজ ফিড ডিজাইন (Design a News Feed)
লক্ষ লক্ষ মানুষকে তাৎক্ষণিকভাবে পার্সোনালাইজড কন্টেন্ট সরবরাহ করা
ইমেজ হোস্টিং সার্ভিস ডিজাইন
ইমগুরের মতো বিশাল স্কেলে ছবি আপলোড, স্টোর এবং সার্ভ করার ব্যবস্থা
ভিডিও স্ট্রিমিং সার্ভিস ডিজাইন
বিলিয়ন বিলিয়ন মানুষের জন্য ভিডিও আপলোড, ট্রান্সকোডিং (transcoding) এবং স্ট্রিমিং করা — যেমন ইউটিউব (YouTube)
সোশ্যাল নেটওয়ার্ক ডিজাইন
বিলিয়ন বিলিয়ন মানুষকে সংযুক্ত করা — প্রোফাইল, ফ্রেন্ডস এবং বিশাল স্কেলের ফিড সামলানো
কোলাবোরেটিভ এডিটর ডিজাইন
অনেক কার্সর, ডকুমেন্ট একটি — বিশাল পরিসরে রিয়েল-টাইম এডিটিং
Design a Music Streaming Service
Stream millions of songs with personalized playlists — like Spotify
ডাটা ও ইনফ্রাস্ট্রাকচার
কি-ভ্যালু (Key-Value) স্টোর ডিজাইন
রেডিস বা ডায়নামো ডিবি-র মতো বিশ্বব্যাপী একটি ডিস্ট্রিবিউটেড হ্যাশ ম্যাপ তৈরি করা
ফাইল স্টোরেজ সিস্টেম ডিজাইন
ড্রপবক্সের মতো সব ডিভাইসে ফাইল আপলোড, সিঙ্ক ও শেয়ার করার ব্যবস্থা
টাস্ক কিউ ডিজাইন
নির্ভরযোগ্যভাবে ব্যাকগ্রাউন্ড জব বা কাজ ডিস্ট্রিবিউট করা — যেমন, সেলারি (Celery) ও এসকিউএস (SQS)
ওয়েব ক্রলার সিস্টেম ডিজাইন
পুরো ওয়েব দুনিয়া ক্রল করা ঠিক গুগলবটের (Googlebot) মতো — অত্যন্ত স্কেলেবল এবং পোলাইট (polite) বা শিষ্টাচার বজায় রেখে
সার্চ ইঞ্জিন ডিজাইন
বিলিয়ন বিলিয়ন ওয়েব পেজ ইনডেক্স করা এবং কয়েক মিলিসেকেন্ডে প্রাসঙ্গিক ফলাফল প্রদান
অবজেক্ট স্টোরেজ ডিজাইন
অসীম সংখ্যক অবজেক্ট স্টোর করুন ১১ নাইনস (১১ nines) ডিউরাবিলিটির সাথে — ঠিক AWS S3 এর মতো
মেট্রিক্স মনিটরিং সিস্টেম ডিজাইন
লক্ষ লক্ষ টাইম-সিরিজ ডেটা সংগ্রহ, স্টোর, কোয়েরি এবং অ্যালার্ট করার ব্যবস্থা — ঠিক Datadog বা Prometheus-এর মতো
বিজনেস সিস্টেম
পেমেন্ট সিস্টেম ডিজাইন
নিরাপদে, ঠিক একবার, এবং প্রতিবার টাকা লেনদেন করার ব্যবস্থা
রাইড শেয়ারিং সার্ভিস ডিজাইন
যাত্রীদের রিয়েল-টাইমে কাছাকাছি চালকদের সাথে ম্যাচ করানো — বিশাল স্কেলে
ই-কমার্স প্ল্যাটফর্ম ডিজাইন
অ্যামাজনের মতো শপিং সাইট তৈরি করা — ক্যাটালগ থেকে চেকআউট, এরপর ডেলিভারি
ফুড ডেলিভারি সিস্টেম ডিজাইন
লক্ষ লক্ষ ক্ষুধার্ত ক্রেতাদের সাথে রেস্টুরেন্ট এবং ডেলিভারি ড্রাইভারদের কানেক্ট করা
টিকেট বুকিং সিস্টেম (Ticket Booking System)
বিলিয়ন বিলিয়ন মানুষের জন্য হাই কনকারেন্সি (high concurrency) বা একইসাথে অনেক ইউজারের টিকিট বুকিং হ্যান্ডেল করা এবং ডাবল বুকিং বা দ্বিগুণ বিক্রি হওয়া রোধ করা
অ্যাড ক্লিক অ্যাগ্রিগেটর ডিজাইন
বিলিং এবং অ্যানালিটিক্সের জন্য নির্ভুলভাবে কোটি কোটি অ্যাড ক্লিক গোনার ব্যবস্থা