"ডেটা দ্রুত পাওয়া মানেই ডেটা সঠিক পাওয়া নাও হতে পারে।"
স্টেজ ০২ এ আমরা 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)। |
০২ স্টেজ শেষে যা যা করতে পারবেন
- Database Replication এর মূল ধারণা (Primary/Replica, read/write split, replication lag) ব্যাখ্যা করতে পারবেন।
- Failover কীভাবে কাজ করে, আর split brain কী, সেটা বলতে পারবেন।
- Replication আর Backup এর পার্থক্য, আর কোনটা কোন বিপদ থেকে বাঁচায়, সেটা বলতে পারবেন।
- Caching pattern গুলো (cache-aside, write-through, delete-on-write, TTL) ব্যাখ্যা করতে পারবেন।
- Cache failure mode গুলো (stampede, penetration, avalanche) চিনতে পারবেন, আর প্রতিটার সমাধান জানবেন।
- Source of Truth কোনটা, সেটা চিনতে পারবেন: কোন ডেটা cache এর, কোনটা replica এর, আর কোনটা আসল source এর।
০৩ এর পর যা আসছে...
স্টেজ ০৩ শেষে আপনার data layer দ্রুত, আর একটা অংশ fail করলেও চালু থাকে। কিন্তু সব write এখনো একটাই Primary তে যাচ্ছে। Traffic বাড়লে এটাও bottleneck হবে। দূরের user রা এখনো ধীর response পাচ্ছে। আর ডেটা বাড়লে query ধীর হয়ে যাচ্ছে। স্টেজ ০৪ এ আমরা Sharding দিয়ে write scale করবো, CDN দিয়ে content user এর কাছে নিয়ে যাবো, আর Database Index দিয়ে query দ্রুত করবো।