۱ - مبانی طراحی سیستمهای دادهمحور
بر اساس کتاب Designing Data-Intensive
درباره دوره
معرفی دوره
چرا برخی سیستمهای نرمافزاری سالها با پایداری بالا و بدون افت عملکرد کار میکنند، در حالی که سیستمهای دیگر با رشد کاربران و حجم دادهها فرو میریزند؟ پاسخ در درک عمیق تریدآفهای معماری (Architectural Trade-offs) نهفته است. در دنیای نرمافزارهای مدرن، چالش اصلی دیگر محدودیت پردازشی CPU نیست؛ بلکه حجم، تنوع و سرعت تغییرات دادهها تعیینکننده موفقیت یا شکست یک سیستم است.
در این دوره بر اساس بینشهای کتاب مرجع Designing Data-Intensive Applications اثر مارتین کلپمن، از سطح صفر با سه ستون بنیادین سیستمهای داده (پایایی، مقیاسپذیری و نگهپذیری) آغاز میکنید، مدلهای مختلف داده را مقایسه و ارزیابی میکنید، موتورهای ذخیرهسازی را کالبدشکافی میکنید و در نهایت یاد میگیرید چگونه اسکیمای سیستمهای زنده را بدون خرابی تکامل دهید.
سرفصلهای دوره:
- فصل ۱ — مبانی پایایی و ارزیابی کارایی: تعریف فنی پایایی، مقیاسپذیری و نگهپذیری؛ اندازهگیری کارایی واقعی با صدکها و تشخیص تأخیر دُم.
- فصل ۲ — مدلهای داده و انتخاب مدل مناسب: مقایسه تحلیلی مدلهای رابطهای، سندمحور و گرافمحور و تصمیمگیری مبتنی بر سناریو.
- فصل ۳ — کالبدشکافی موتورهای ذخیرهسازی: ساختارهای LSM-Tree و B-Tree، تفاوت OLTP و OLAP و نقش ذخیرهسازی ستونی.
- فصل ۴ — سریالسازی و تکامل سازگار اسکیما: فرمتهای باینری (Protobuf، Thrift، Avro) و استراتژیهای تغییر اسکیما بدون Downtime.
- فصل ۵ — پروژه نهایی و ارزیابی جامع: طراحی معماری داده برای یک سناریو واقعی و آزمون یکپارچه تمام مفاهیم دوره.
اهداف و دستاوردهای یادگیری:
- ارزیابی تریدآفهای سهگانه پایایی (Reliability)، مقیاسپذیری (Scalability) و نگهپذیری (Maintainability) در تصمیمات معماری سیستمهای داده
- اندازهگیری و تفسیر کارایی واقعی سیستم با صدکها (Percentiles) و تشخیص علل تأخیر دُم (Tail Latency)
- انتخاب مدل داده مناسب (رابطهای، سندمحور، گرافمحور) بر اساس الگوی دسترسی و ماهیت روابط دادهها
- کالبدشکافی و مقایسه موتورهای ذخیرهسازی LSM-Tree و B-Tree و تشخیص کاربرد هریک بر اساس بار کاری
- تمایز سیستمهای تراکنشی (OLTP) از تحلیلی (OLAP) و درک نقش ذخیرهسازی ستونی در انبارههای داده
- طراحی استراتژی تکامل سازگار اسکیما (Forward/Backward Compatibility) برای سیستمهای زنده و بدون Downtime
منابع دوره
کتابهایی که این دوره بر اساس آنها طراحی شده است.
سرفصلها و درسها
ساختار دوره را فصل به فصل مرور کن و هر ویدیو را پخش کن.