স্টেজ ০৩

স্টেজ ০৩ - ডেটা লেয়ার স্কেল করা

এই স্টেজের লক্ষ্য: Web layer scale হলো, কিন্তু database এখনো single point of failure, আর এটাই bottleneck। এই স্টেজে আমরা database এর replica বানাবো, আর cache দিয়ে database পর্যন্ত যাওয়ার দরকার কমাবো। প্রতিটা সমাধান নতুন trade-off নিয়ে আসে। সেগুলোও বুঝবো।

"ডেটা দ্রুত পাওয়া মানেই ডেটা সঠিক পাওয়া নাও হতে পারে।"

স্টেজ ০২ এ আমরা web layer scale করেছি। কিন্তু সব request এখনো একটাই database এর সাথে কানেক্ট করছে। Database down হলে পুরো system down। Database ধীর হলে পুরো system ধীর। এই স্টেজে আমরা সেই bottleneck দূর করবো।

আমরা দুটো বড় technique শিখবো। Replication মানে database এর একাধিক কপি রাখা। Caching মানে বারবার লাগে এমন ডেটা কাছে রেখে দেওয়া, যাতে প্রতিবার database এ যেতে না হয়। স্টেজ শেষে আপনি যেকোনো system দেখে আত্মবিশ্বাসের সাথে বলতে পারবেন: read কোথায় যাচ্ছে, write কোথায় যাচ্ছে, কী cache হচ্ছে, আর কী সবসময় নতুন করে আনা হচ্ছে।

০১ এই স্টেজে যা শিখবো

সেশন শিরোনাম এই সেশনের লক্ষ্য
সেশন ০৩ Database Replication Database কেন এখন সবচেয়ে দুর্বল জায়গা। Primary-Replica architecture, Read Replica, Replication Lag, Failover, কেন backup আর replication এক জিনিস না।
সেশন ০৪ Caching - কাজ না করার শিল্প Cache কী, কেন দরকার, কোথায় থাকে। Cache-aside pattern, invalidation এর তিনটা strategy, hit rate কেন গুরুত্বপূর্ণ, আর বিখ্যাত failure mode (stampede, penetration, avalanche)।

০২ স্টেজ শেষে যা যা করতে পারবেন

০৩ এর পর যা আসছে...

স্টেজ ০৩ শেষে আপনার data layer দ্রুত, আর একটা অংশ fail করলেও চালু থাকে। কিন্তু সব write এখনো একটাই Primary তে যাচ্ছে। Traffic বাড়লে এটাও bottleneck হবে। দূরের user রা এখনো ধীর response পাচ্ছে। আর ডেটা বাড়লে query ধীর হয়ে যাচ্ছে। স্টেজ ০৪ এ আমরা Sharding দিয়ে write scale করবো, CDN দিয়ে content user এর কাছে নিয়ে যাবো, আর Database Index দিয়ে query দ্রুত করবো।