بر اساس کتاب 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