You are not allowed to perform this action

معماری سیستم‌های کلان‌داده

Architecture of Big-Data Systems

مقطع: تحصیلات تکمیلی گرایش: علم داده
نوع درس: نظری تعداد واحد: ۳
پیش‌نیاز: – هم‌نیاز: –

هدف کلی

هدف این درس، آشنا کردن دانشجویان کارشناسی ارشد و دکترا با مفاهیم و مسائل مطرح در طراحی و ساخت سامانه‌های بزرگ مبتنی بر داده هستند. عموم این سامانه‌ها با حجم بزرگی از داده‌ها سر و کار دارند که انواع مختلفی دارند. در این درس نحوه حل مسائل و چالش‌های مختلفی که در این سامانه‌ّ‌ها اتفاق می‌افتند آموزش داده می‌شوند.

سرفصل‌ها

  1. سیستم‌های قابل اطمینان، مقیاس‌پذیر و قابلیت نگهداری
  2. مدل‌های داده و زبان‌های پرس و جو مانند NoSQL و …
  3. ذخیره‌سازی و بازیابی به کمک انواع ساختارهای داده
  4. کدگذاری (به کمک XML، JSON و …) و تکامل در جریان داده‌ها
  5. تکثیر: رهبران و پیروان، تأخیر تکثیر، تکثیر با چند رهبر، تکثیر بدون رهبر
  6. تقسیم‌بندی: ارتباط با تکثیر، داده‌های کلید-مقدار، نمایه‌سازی‌های ثانویه، و …
  7. تراکنش‌ها: سطوح ضعیف ایزوله‌سازی و قابلیت سریال‌سازی (اجرای سریال واقعی، ۲PL، SSI)
  8. مشکلات سامانه‌های توزیع‌شده، ثبات و اجماع: ضمانت‌های ثبات، خطی‌سازی سیستم‌ها، ضمانت سفارش و …
  9. پردازش دسته‌ای و جریانی
  10. سایر مباحث مهم مانند CI/CD و DevOps

ارزیابی پیشنهادی

  • آزمون: آزمون‌های میان‌نیم‌سال و پایان‌نیم‌سال (۴۰ درصد نمره)
  • تمرین و پروژه: سه تمرین تئوری و یک پروژه عملی که در طول نیم‌سال تحویل داده می‌شوند (۴۰ درصد نمره).
  • گزارش پژوهشی: موضوع پژوهش قبل از آزمون پایان‌نیم‌سال تعیین می‌شود. دانشجو کار پژوهش را با کمک استاد درس آغاز کرده و پس از انجام کار، نتیجه پژوهش را در قالب گزارش ارائه می‌دهد (۲۰ درصد نمره).

منابع پیشنهادی

  1. M. Kleppmann. Designing data-intensive applications: The big ideas behind reliable, scalable, and maintainable systems. O'Reilly, 2017.