"Write scale এর একমাত্র রাস্তা হলো data ভাগ করা।"
স্টেজ ০৩ শেষে আমাদের data layer fast আর resilient। Replica read distribute করছে, cache বেশিরভাগ read serve করছে। কিন্তু সব write এখনো এক primary database এ যাচ্ছে। Traffic যথেষ্ট বাড়লে এটাই হবে পরের bottleneck।
এই স্টেজে আমরা সেই শেষ বড় data layer সমস্যাটা tackle করবো। Sharding দিয়ে write capacity horizontal ভাবে বাড়াবো। CDN দিয়ে দূরের user দের কাছে data নিয়ে যাবো। Database Index দিয়ে query speed বাড়াবো। স্টেজ শেষে আপনি বুঝবেন কখন কোন tool টা দরকার, আর কখন দরকার নেই।
০১ এই স্টেজে যা শিখবো
| সেশন | শিরোনাম | এই সেশনের লক্ষ্য |
|---|---|---|
| সেশন ০৫ | Sharding - Data ভাগ করে Write Scale করা | Write bottleneck কেন তৈরি হয়, sharding এর basic idea, shard key এর critical decision, cross-shard operation এর cost, hot shard সামলানো, আর consistent hashing দিয়ে resharding কে সহনীয় করা। |
| সেশন ০৬ | CDN ও Geographic Distribution | দূরের user দের কাছে static content নিয়ে যাওয়া। CDN কীভাবে কাজ করে, কখন দরকার, আর geographic distribution এর trade-off। |
| সেশন ০৭ | Database Indexes | কেন query slow হয়, index কীভাবে সেটা fix করে, আর index এর নিজের cost কী। |
০২ স্টেজ শেষে যা যা করতে পারবেন
- Write bottleneck চিনতে পারা: কখন replica আর cache যথেষ্ট নয়।
- Sharding কী, কেন করা হয়, আর কতটা দেরিতে করা উচিত।
- Shard key বেছে নেওয়া: range-based vs hash-based, trade-off বোঝা।
- Cross-shard operation এর cost বোঝা: query, join, transaction।
- Hot shard চিনতে পারা আর runtime এ সামলানো।
- Consistent hashing কেন দরকার, কীভাবে resharding কে সহনীয় বানায়।
- CDN কখন দরকার, static vs dynamic content এর পার্থক্য।
- Database Index কীভাবে কাজ করে, কখন যোগ করবেন, কখন করবেন না।
০৩ এর পর যা আসছে...
স্টেজ ০৪ শেষে আমাদের data layer write ও read উভয় দিক থেকে scale করা, আর content global ভাবে distribute করা। পরের স্টেজে আমরা synchronous request-response এর বাইরে যাবো: Message Queue, Background Job, আর Event-Driven Architecture দিয়ে system কে decouple করবো।