সরাসরি মূল অংশে যান
ABCL TECH · সম্পূর্ণ ফ্রি কোর্স

সিস্টেম ডিজাইন — একটি সার্ভারের ছোট অ্যাপ থেকে কোটি ব্যবহারকারীর নির্ভরযোগ্য, দ্রুত আর বড় হতে পারা সিস্টেম পর্যন্ত

System Design — scalability, APIs, data storage, caching, messaging, distributed systems, reliability and real-world case studies

A free 66-lesson system design course taught in Bangla across ten modules, with runnable simulators, live SQL editors and worked estimation examples: foundations and estimation, communication and APIs, scaling, data storage, caching, messaging and streams, distributed-systems theory, architecture, reliability and operations, seven case studies plus a distributed key-value store capstone, and exam and interview practice.

একটি অ্যাপ প্রথম দিন হয়তো একটি সার্ভার আর একটি database-এই চলে। তারপর ব্যবহারকারী বাড়ে — ধরুন উৎসবের আগে টিকিট কাটার অ্যাপে হঠাৎ লাখো মানুষ একসাথে ঢুকল। তখন প্রশ্ন ওঠে: অনুরোধ কোন সার্ভারে যাবে, ডেটা কোথায় আর কয় কপিতে থাকবে, একটি যন্ত্র নষ্ট হলে কী হবে, আর একই আসন দুজনকে বিক্রি হওয়া ঠেকাবেন কীভাবে? এসব প্রশ্নের উত্তর খোঁজার শাস্ত্রের নামই সিস্টেম ডিজাইন। এই কোর্সে requirement আর হিসাব থেকে শুরু করে API, load balancer, replication, sharding, transaction, cache, message queue, CAP, Raft, rate limiting আর disaster recovery পর্যন্ত যাবেন — আর পাতাতেই load balancer, cache, queue, quorum আর Raft-এর simulator চালিয়ে, আর ব্রাউজারেই আসল SQL চালিয়ে নিজের চোখে দেখবেন প্রতিটি সিদ্ধান্তের দাম কোথায়। একদম নতুন শিক্ষার্থী, CSE ও ICT-র শিক্ষার্থী, চাকরি ও ইন্টারভিউর প্রার্থী আর কর্মরত ডেভেলপার — সবার জন্যই কোর্সটি সহজ বাংলায়, ধাপে ধাপে সাজানো।

  • ৬৬টি পর্ব
  • ১০টি মডিউল
  • শুরু থেকে উন্নত
  • পাতাতেই simulator আর SQL
  • সম্পূর্ণ ফ্রি

AI-এর যুগে কেন system design শিখবেন?

Why system design still matters

AI এখন মুহূর্তে একটি architecture-এর ছবি এঁকে দেয়, microservice ভাগ করে দেয়, cache বা queue বসানোর পরামর্শ দেয় — কিন্তু সেই নকশা আসল ভিড় সামলাবে কি না, একটি সার্ভার মরলে ডেটা হারাবে কি না, আর খরচ আর জটিলতা প্রয়োজনের চেয়ে বেশি হলো কি না — এসব বিচার করতে নিজের হাতে হিসাব করতে আর প্রতিটি trade-off বুঝতে জানা দরকার।

সংখ্যা দিয়ে সিদ্ধান্ত

কয়টি সার্ভার লাগবে, কত storage, cache কতটা কাজে দেবে, p99 latency কোথায় বাড়ছে? Back-of-the-envelope হিসাব, Little-এর সূত্র আর availability-র অঙ্ক জানলে নকশার সিদ্ধান্ত অনুমানে নয়, সংখ্যা দিয়ে নিতে পারবেন।

ব্যর্থতা মেনে নিয়ে নকশা

বড় সিস্টেমে কোথাও না কোথাও কিছু নষ্ট থাকবেই — ডিস্ক, network, এমনকি পুরো একটি data center-ও বিকল হতে পারে। Replication, quorum, consensus, timeout-retry আর circuit breaker দিয়ে কীভাবে সেবা চালু রাখা যায়, আর কোথায় কোন নিশ্চয়তা ছাড়তে হয়, তা শিখবেন।

AI-এর নকশা যাচাই

প্রায় প্রতিটি পর্বে আলাদা একটি AI-এর যুগের অংশ আছে: AI-এর দেওয়া নকশা, হিসাব বা কোডে সাধারণত কোন ভুল লুকিয়ে থাকে, কোন প্রশ্ন করে তা ধরবেন, আর AI-কে সহকারী হিসেবে ব্যবহার করেও সিদ্ধান্ত নিজের হাতে রাখবেন কীভাবে।

পরীক্ষা আর ইন্টারভিউ

Backend, SRE বা data engineer পদের ইন্টারভিউতে প্রায়ই একটি system design-এর আলোচনা থাকে, আর বিশ্ববিদ্যালয়ের distributed systems বা software architecture কোর্স এবং আইটি অফিসার বা সহকারী প্রোগ্রামারের লিখিত পরীক্ষাতেও scaling, database, cache আর CAP-এর প্রশ্ন আসতে পারে।

কোর্সটি কাদের জন্য

  • একদম নতুন শিক্ষার্থী — ইন্টারনেট আর অ্যাপ ব্যবহার করতে পারলেই চলবে; মহল্লার দোকান থেকে দেশজোড়া চেইন, রেস্তোরাঁর রান্নাঘর, ডাকঘরের মতো চেনা উদাহরণ দিয়ে শুরু, একটি সার্ভার থেকে ধাপে ধাপে
  • CSE ও ICT-র শিক্ষার্থী — distributed systems, database আর software architecture-এর মূল ধারণা: replication, partitioning, transaction, consistency model, clock, consensus আর fault tolerance — পূর্ণ সমাধান করা হিসাবসহ
  • চাকরি ও ইন্টারভিউর প্রার্থী — backend, SRE, data engineer বা platform পদের system design ইন্টারভিউ, আর আইটি অফিসার বা সহকারী প্রোগ্রামারের লিখিত পরীক্ষার জন্য estimation, MCQ প্রশ্নব্যাংক, লিখিত-ভাইভা, ধারণাভিত্তিক প্রশ্ন আর পাঁচটি পূর্ণ mock interview
  • কর্মরত ডেভেলপার — API নকশা, index আর query, cache-এর ফাঁদ, queue আর idempotency, outbox আর saga, rate limiting, observability, SLO, deployment আর zero-downtime migration

এই কোর্সে যা আলাদা

  • পাতাতেই চলা simulator — load balancer, cache, consistent hashing, queue, quorum, Raft, gossip, rate limiter আর CRDT — JavaScript-এ লেখা simulator পাতাতেই চালিয়ে সংখ্যা বদলে দেখুন কী ঘটে
  • ব্রাউজারেই আসল SQL — index, EXPLAIN, transaction, isolation, outbox আর idempotent লেখা — কয়েকটি পর্বে পাতার SQL editor-এ query লিখে ব্রাউজারের ভেতরেই চালিয়ে ফল দেখবেন
  • ছবি, ধাপে ধাপে ট্রেস আর আসল হিসাব — প্রতিটি নকশার architecture diagram, একটি অনুরোধ বা বার্তার পুরো পথ ধাপে ধাপে, আর QPS, storage আর bandwidth-এর পূর্ণ হিসাব
  • Case study, ক্যাপস্টোন আর সার্টিফিকেট — কাল্পনিক পণ্য নিয়ে ৭টি পূর্ণ case study, ক্যাপস্টোনে একটি distributed key-value store-এর নকশা আর simulator; লগইন করলে ড্যাশবোর্ডে মডিউল টেস্ট, ফাইনাল পরীক্ষা আর ফ্রি সার্টিফিকেট

প্রতিটি পর্ব যেভাবে সাজানো

How every lesson works

প্রতিটি পর্ব একই ছকে লেখা, তাই কোথায় কী পাবেন আগে থেকেই জানবেন। আগে সমস্যা, ধারণা আর ছবি, তারপর ধাপে ধাপে ট্রেস, simulator আর চালানো কোড, শেষে হিসাব, অনুশীলন আর যাচাই।

  1. এক নজরেপুরো পর্বের মূল কথা আর মূল সংখ্যা কয়েক লাইনে, শুরুতেই।
  2. চেনা উদাহরণদোকান আর চেইন, রান্নাঘরের অর্ডার, ডাকঘর আর ব্যাংকের লাইন — চেনা জিনিস দিয়ে কঠিন ধারণা।
  3. ছবি আর ধাপে ধাপে ট্রেসArchitecture diagram দেখুন, তারপর “পরে” চেপে চেপে দেখুন একটি অনুরোধ, বার্তা বা ভোট প্রতিটি ধাপে কোথায় যায়।
  4. পাতাতেই চালানো কোডJavaScript simulator আর SQL — পাতাতেই চালিয়ে দেখুন, সংখ্যা বা নিয়ম বদলে আবার চালান।
  5. হিসাব ও অনুশীলনQPS, storage, latency, availability, quorum আর cache-এর হিট রেট — পূর্ণ সমাধান, আর উত্তরসহ অনুশীলনের প্রশ্ন।
  6. যাচাই ও শব্দকোষভাবনার প্রশ্ন, কুইজ, “পরীক্ষা ও ইন্টারভিউতে” নোট, AI-এর যুগের অংশ আর প্রতিটি নতুন শব্দের সহজ মানে।

লগইন করা ঐচ্ছিক — না করেও সব পড়া যায়। লগইন করলে কোন পর্ব শেষ হলো তা সেভ থাকে, আর মডিউল টেস্ট, ফাইনাল পরীক্ষা ও সার্টিফিকেট খুলে যায়। নমুনা দেখতে চান? পর্ব ০১ · System design কী খুলে দেখুন।

শেখার পথ — ১০টি মডিউল

Your learning path

কোর্সটি ছোট থেকে বড়র দিকে এগোয়: প্রথমে ভিত্তি আর হিসাব, তারপর যোগাযোগ আর API, scaling, ডেটা স্টোরেজ আর caching, এরপর messaging, distributed systems-এর তত্ত্ব আর reliability-operations, শেষে case study, ক্যাপস্টোন আর প্রস্তুতি। যেকোনো মডিউলে চাপলে তার পর্বগুলো দেখাবে।

    শুরু · মডিউল ১–৩

    Requirement আর trade-off, back-of-the-envelope হিসাব, latency-percentile, availability আর নকশার ধাপ; DNS-TCP-HTTP, REST, gRPC-GraphQL, WebSocket আর API gateway; horizontal scaling, load balancing, session, consistent hashing, CDN আর overload সামলানো।

    মাঝারি · মডিউল ৪–৬

    B-tree বনাম LSM-tree, SQL বনাম NoSQL, index, replication, sharding, transaction-isolation, 2PC-saga, object storage আর search; caching কৌশল, eviction-invalidation আর distributed cache; message queue, pub/sub, log streaming, delivery semantics, event sourcing, batch-stream আর workflow-এর কাজ।

    উন্নত · মডিউল ৭–৯

    Partial failure, clock, CAP-PACELC, quorum, Raft, lock-lease-fencing, gossip, Bloom filter আর CRDT; microservices, resilience, rate limiting, observability, disaster recovery, নিরাপত্তা আর deployment; ৭টি case study আর distributed key-value store-এর ক্যাপস্টোন।

    প্রস্তুতি · মডিউল ১০

    পূর্ণ সমাধান করা ৪৫টি estimation আর trade-off-এর হিসাব, ২০৮টি প্রশ্নের MCQ প্রশ্নব্যাংক, লিখিত-ভাইভা, ৫৫টি ধারণাভিত্তিক ইন্টারভিউ প্রশ্ন আর পাঁচটি পূর্ণ mock interview-এর নকশা।

    Database আর networking আগে থেকে জানেন? মডিউল ১ শেষ করে সরাসরি মডিউল ৩ · Scaling-এর মৌলিক দিয়ে এগোতে পারেন। ইন্টারভিউর প্রস্তুতি নিলে মডিউল ১, মডিউল ৩, মডিউল ৫, মডিউল ৯ আর মডিউল ১০, আর distributed systems-এর তত্ত্বের জন্য মডিউল ৪ আর মডিউল ৭ আপনার জন্য সবচেয়ে জরুরি।

    সম্পূর্ণ সিলেবাস

    Full syllabus

    যে পর্ব পড়া শেষ করেছেন, তার পাশে ✓ চিহ্ন দেখাবে। লগইন করলে এই অগ্রগতি আপনার সব ডিভাইসে থাকবে।

    শুরুর আগে ও শেষের পরে

    Before you start · After you finish

    আগে যা জানা থাকলেই চলবে

    • কম্পিউটার বা মোবাইলে ব্রাউজার চালাতে পারা — simulator আর SQL পাতাতেই চলে, কিছু ইনস্টল করতে হয় না, কোনো cloud account-ও লাগে না
    • সার্ভার, database বা network নিয়ে আগে কাজ না করলেও চলবে — মডিউল ১ একদম শুরু থেকে শেখায়, আর পর্ব ০৭ networking-এর যতটুকু দরকার ততটুকু বুঝিয়ে দেয়
    • যেকোনো একটি প্রোগ্রামিং ভাষার মৌলিক ধারণা থাকলে simulator-এর কোড পড়া সহজ হবে — না থাকলেও শুধু সংখ্যা বদলে চালিয়ে ফল দেখতে পারবেন; চাইলে আমাদের JavaScript প্রোগ্রামিং কোর্স পাশাপাশি পড়তে পারেন
    • SQL, network আর process-এর গভীর দিক আমাদের DBMS ও SQL, কম্পিউটার নেটওয়ার্ক আর অপারেটিং সিস্টেম কোর্সে আছে — পাশাপাশি পড়লে কাজে লাগবে, তবে বাধ্যতামূলক নয়

    কোর্স শেষে যা পারবেন

    • অস্পষ্ট একটি চাহিদা থেকে functional আর non-functional requirement বের করে, ধাপে ধাপে একটি পূর্ণ নকশা দাঁড় করাতে
    • QPS, peak, storage, bandwidth, সার্ভারের সংখ্যা, p99 latency আর availability-র হিসাব নিখুঁতভাবে করতে
    • কাজ অনুযায়ী API-র ধরন, database, index, replication আর sharding-এর কৌশল বেছে নিয়ে কারণ ব্যাখ্যা করতে
    • Cache, CDN, message queue আর stream ঠিক জায়গায় বসাতে, আর stampede, hot key, duplicate বার্তার মতো ফাঁদ এড়াতে
    • CAP, consistency model, quorum, Raft, clock আর CRDT দিয়ে distributed system-এর নিশ্চয়তা আর সীমা বুঝিয়ে বলতে
    • timeout, retry, circuit breaker, rate limiting, observability আর disaster recovery দিয়ে নির্ভরযোগ্য সেবা নকশা ও পরিচালনা করতে
    • URL shortener, chat, news feed, notification, ride-sharing, video streaming আর ticket booking-এর মতো সিস্টেম শুরু থেকে নকশা করতে, আর নিজের distributed key-value store-এর simulator চালাতে
    • বিশ্ববিদ্যালয়ের পরীক্ষা, চাকরির লিখিত পরীক্ষা আর system design ইন্টারভিউতে আত্মবিশ্বাসী হতে, আর শর্ত পূরণ করলে একটি ফ্রি কোর্স-সমাপ্তির সার্টিফিকেট পেতে

    সাধারণ প্রশ্ন

    Frequently asked questions
    প্র ০১শুরু করতে আগে কী জানা দরকার?

    খুব বেশি কিছু নয়। ইন্টারনেট আর অ্যাপ ব্যবহার করতে পারলেই শুরু করা যায় — সার্ভার, database, cache বা queue কী, তা প্রথম থেকে চেনা উদাহরণ আর ছবি দিয়ে বোঝানো হয়েছে। পর্ব ০১ দেখায় একটি অ্যাপ এক সার্ভার থেকে কীভাবে ধাপে ধাপে বড় হয়, আর পর্ব ০৬ শেখায় একটি নকশা কোন ক্রমে এগোয়।

    প্র ০২কোর্সটি কি সত্যিই পুরো ফ্রি?

    হ্যাঁ, ৬৬টি পর্বের সবকিছু — পড়া, simulator, চালানো যায় এমন কোড আর SQL, ধাপে ধাপে ট্রেস, কুইজ, ১,৬০০-এর বেশি শব্দের শব্দকোষ, পরীক্ষা আর সার্টিফিকেট — সম্পূর্ণ ফ্রি। কোনো লুকানো ফি নেই, পড়ার জন্য লগইনও বাধ্যতামূলক নয়। সাইটের খরচ চলে পাতার বিজ্ঞাপন থেকে।

    প্র ০৩System design কি শুধু ইন্টারভিউর জন্য?

    না। ইন্টারভিউতে এর চাহিদা বেশি চোখে পড়ে ঠিকই, কিন্তু একই জ্ঞান রোজকার কাজে লাগে — কোন query-তে index লাগবে, cache কখন ভুল ডেটা দেখাবে, retry কখন একই টাকা দুবার কাটবে, আর একটি নতুন feature কতটা ভিড় সইবে। বিশ্ববিদ্যালয়ের distributed systems, database বা software architecture কোর্সের অনেক মূল ধারণাও এখানে আছে।

    তাই কোর্সটি আগে ধারণা আর কারণ শেখায়, তারপর প্রস্তুতি — ইন্টারভিউর ছক আর অনুশীলন আছে আলাদা করে মডিউল ১০-এ।

    প্র ০৪কতটা গণিত লাগবে?

    বেশিরভাগ হিসাব স্কুলের গুণ-ভাগ, শতাংশ আর ১০-এর ঘাত দিয়েই হয় — দিনে কত অনুরোধ মানে সেকেন্ডে কত, বছরে কত storage, কয়টি সার্ভার। কয়েক জায়গায় সহজ সম্ভাবনা আসে, যেমন availability-র গুণ, quorum-এর শর্ত বা Bloom filter-এর ভুল-ধনাত্মকের হার — প্রতিটি সূত্র ধাপে ধাপে বুঝিয়ে, পূর্ণ সমাধান করা উদাহরণসহ।

    শুরু করুন পর্ব ০৩ আর পর্ব ০৪ দিয়ে, আর আরও অনুশীলনের জন্য পর্ব ৬২-এর পূর্ণ সমাধান দেখুন।

    প্র ০৫কোডগুলো কোন ভাষায়? কিছু ইনস্টল করতে হবে?

    Simulator আর ছোট পরীক্ষাগুলো JavaScript-এ লেখা, আর database-এর পর্বগুলোতে SQL — দুটোই পাতাতেই, আপনার ব্রাউজারের ভেতরে চলে। কিছু ইনস্টল বা সেটআপ করতে হয় না; “চালান” চাপলেই ফল দেখবেন, আর সংখ্যা বা কোড বদলে আবার চালাতে পারবেন।

    প্র ০৬Cloud account বা আসল সার্ভার লাগবে?

    না। কোনো cloud account, ক্রেডিট কার্ড বা ভাড়া করা সার্ভার লাগবে না। Load balancer, replication, quorum বা Raft-এর আচরণ পাতার simulator-এ কয়েকটি কাল্পনিক যন্ত্র দিয়ে দেখানো হয়েছে — যন্ত্র বিকল হওয়া, বার্তা হারানো বা ভিড় বাড়ার মতো পরিস্থিতি simulator-এর কয়েকটি সংখ্যা বদলেই দেখা যায়।

    Case study আর ক্যাপস্টোনেও কোনো আসল প্রতিষ্ঠানের নকশা নকল করা হয়নি; প্রতিটি সমস্যা একটি কাল্পনিক পণ্য আর ধরে নেওয়া সংখ্যা নিয়ে শুরু থেকে নকশা করা, যাতে প্রতিটি সিদ্ধান্তের কারণ নিজে বুঝতে পারেন।

    প্র ০৭চাকরির পরীক্ষা বা system design ইন্টারভিউর জন্য কি যথেষ্ট?

    ভিত্তির জন্য যথেষ্ট। আইটি অফিসার বা সহকারী প্রোগ্রামারের মতো পদের লিখিত পরীক্ষায় database, network আর architecture-এর যে ধরনের প্রশ্ন দেখা যেতে পারে, তার অনুশীলন আছে পর্ব ৬৩ আর পর্ব ৬৪-এ — প্রশ্নগুলো এই কোর্সের জন্য লেখা, কোনো আসল পরীক্ষা থেকে নেওয়া নয়। Backend, SRE বা data engineer ইন্টারভিউর ধারণাভিত্তিক প্রশ্ন আর follow-up আছে পর্ব ৬৫-এ, আর পাঁচটি পূর্ণ mock interview পর্ব ৬৬-এ।

    তবে শুধু পড়লে হবে না। প্রতিটি case study আগে নিজে খাতায় নকশা করুন, হিসাবগুলো উত্তর না দেখে করুন, আর ক্যাপস্টোনের simulator-এ সংখ্যা বদলে দেখুন কোন সিদ্ধান্তের কী দাম।

    প্র ০৮সাইটের কম্পিউটার নেটওয়ার্ক, DBMS আর অপারেটিং সিস্টেম কোর্সের সঙ্গে সম্পর্ক কী?

    ওই তিনটি কোর্স একটি যন্ত্র বা একটি database-এর ভেতরটা গভীরে শেখায়; সিস্টেম ডিজাইন সেগুলো জুড়ে বহু যন্ত্রের একটি পুরো সেবা বানানো শেখায়। এখানে networking, database আর OS-এর যতটুকু নকশার জন্য দরকার, ততটুকু বুঝিয়ে দেওয়া আছে, তাই আগে ওগুলো শেষ করা বাধ্যতামূলক নয়।

    আরও গভীরে যেতে চাইলে TCP, HTTP, TLS আর DNS-এর জন্য কম্পিউটার নেটওয়ার্ক, SQL, normalization, transaction আর index-এর জন্য DBMS ও SQL, আর process, thread, concurrency ও file system-এর জন্য অপারেটিং সিস্টেম কোর্স পাশাপাশি পড়ুন।

    প্র ০৯পরীক্ষা দেওয়া আর সার্টিফিকেট পাওয়া যাবে?

    হ্যাঁ। লগইন করলে ড্যাশবোর্ডে প্রতিটি মডিউলের টেস্ট আর একটি ফাইনাল পরীক্ষা পাবেন, আর কোন পর্ব শেষ হলো তার অগ্রগতিও সেভ থাকবে। মডিউল ১ থেকে ৯-এর সব পর্ব পড়া শেষ করে ফাইনালে ৬০% বা তার বেশি পেলে একটি ফ্রি কোর্স-সমাপ্তির সার্টিফিকেট পাবেন। লগইন না করলেও সব পড়া যায়, তবে তখন অগ্রগতি সেভ হয় না।

    মনে রাখবেন, এটি আপনার শেখার স্বীকৃতি — কোনো একাডেমিক ডিগ্রি, সরকারি সনদ বা কোনো প্রতিষ্ঠানের ভেন্ডর সার্টিফিকেশন নয়।

    প্র ১০পুরো কোর্স শেষ করতে কত সময় লাগবে?

    প্রতিটি পর্ব মনোযোগ দিয়ে পড়তে, ট্রেস অনুসরণ করতে, simulator আর SQL চালিয়ে দেখতে আর কুইজ দিতে মোটামুটি এক ঘণ্টা লাগে; distributed systems-এর তত্ত্ব আর case study-র পর্বগুলোতে আরেকটু বেশি। প্রতিদিন একটি পর্ব পড়লে দুই মাসের কিছু বেশি লাগবে। তবে নিজের গতিতে এগোন — প্রতিটি পর্বের পর কয়েকটি হিসাব নিজে করা আর simulator-এর সংখ্যা বদলে চালানো তাড়াহুড়ার চেয়ে অনেক বেশি জরুরি।

    আজই প্রথম পর্ব দিয়ে শুরু করুন

    প্রতিদিন একটি পর্ব — একটি সার্ভারের ছোট অ্যাপ থেকে ধীরে ধীরে আপনি load balancer, cache, sharding, queue, quorum আর Raft পেরিয়ে নিজের হাতে নকশা করা পূর্ণ সিস্টেম আর একটি distributed key-value store পর্যন্ত পৌঁছে যাবেন।