۴ - پردازش داده در مقیاس
دوره پیش نیاز: معماری دادههای توزیعشده
درباره دوره
معرفی دوره
چگونه شرکتهایی نظیر نتفلیکس، اوبر و آمازون میلیونها رویداد در ثانیه (کلیکها، تراکنشها و موقعیتهای جغرافیایی) را هم به صورت بلادرنگ برای تشخیص آنی ناهنجاریها و هم به صورت دستهای برای تحلیلهای کلان پردازش میکنند؟ پاسخ در درک عمیق تفکیک و پیوند دو دنیای پردازش دستهای (Batch Processing) و پردازش جریانی (Stream Processing) نهفته است.
در این دوره بر اساس بخش سوم کتاب مرجع Designing Data-Intensive Applications اثر مارتین کلپمن، به بالاترین سطح معماری سیستمهای داده صعود میکنید. از کالبدشکافی فلسفه تغییرناپذیری ورودیها در یونیکس و مپردیوس تا موتورهای جریان داده مدرن (Spark و Flink)، بروکرهای لاگمحور (Kafka)، تکنیک جذب دادههای تغییریافته (Change Data Capture - CDC)، محاسبات پنجرهبندی زمانی، پیوندهای جریانی و اصل بنیادین تجزیه پایگاه دادهها (Unbundling Databases)، کل مباحث را با سناریوهای ملموس و چالشهای تعاملی پلتفرم دیپ یار فرا خواهید گرفت.
سرفصلهای دوره:
- فصل ۱ — فلسفه پردازش دستهای و موتورهای جریان داده: از پایپهای یونیکس تا MapReduce و موتورهای گراف محاسباتی مدرن نظیر Spark و Flink.
- فصل ۲ — جریان رویدادها، پیامرسانی و تکنیک CDC: بروکرهای مبتنی بر لاگ، اصل تغییرناپذیری و Event Sourcing، و حذف Dual-Writes با Debezium و Kafka.
- فصل ۳ — پنجرهبندی جریانی و پیوندهای دادهای: پنجرههای Tumbling/Sliding/Session، زمان رویداد در برابر زمان پردازش، واترمارکها و پیوندهای سهگانه جریانی.
- فصل ۴ — تجزیه پایگاه دادهها و صحت انتها به انتها: همگامسازی بدون Down-time پایگاههای داده ناهمگن، معماری کاپا (Kappa)، و تضمین Exactly-Once.
- فصل ۵ — پروژه نهایی و ارزیابی جامع: طراحی گامبهگام پلتفرم بلادرنگ تشخیص تقلب و تحلیلهای مالی کلان با ۴ گیت تصمیم معماری + آزمون جامع پایانی.
اهداف و دستاوردهای یادگیری:
- تمایز فلسفی و فنی میان پردازش دادههای کراندار (Batch) و بیکران (Stream) و تحلیل تریدآفهای تاخیر در برابر توان پردازشی
- پیادهسازی تکنیک جذب دادههای تغییریافته (CDC) برای حذف قطعی باگهای Dual-Writes و همگامسازی نماهای اشتقاقی
- به کارگیری تکنیکهای پنجرهبندی زمانی (Tumbling, Sliding, Session Windows)، مدیریت واترمارکها و حل مسئله پیامهای دیرهنگام
- پیادهسازی الگوهای پیوند جریانی (Stream-Stream, Stream-Table, Table-Table Joins) و کنترل وضعیتهای پردازشی با Checkpoint
- طراحی معماری بر پایه اصل «تجزیه پایگاه دادهها» (Unbundling Databases) و گذر از معماری لامبدا به کاپا
- تضمین پردازش دقیقاً یکبار (Exactly-Once Semantics) و صحت انتها به انتها (End-to-End Correctness) در خطوط لوله رویدادمحور
منابع دوره
کتابهایی که این دوره بر اساس آنها طراحی شده است.
سرفصلها و درسها
ساختار دوره را فصل به فصل مرور کن و هر ویدیو را پخش کن.