You are not allowed to perform this action
معماری سیستمهای کلانداده
Architecture of Big-Data Systems
مقطع: تحصیلات تکمیلی | گرایش: علم داده |
نوع درس: نظری | تعداد واحد: ۳ |
پیشنیاز: – | همنیاز: – |
هدف کلی
هدف این درس، آشنا کردن دانشجویان کارشناسی ارشد و دکترا با مفاهیم و مسائل مطرح در طراحی و ساخت سامانههای بزرگ مبتنی بر داده هستند. عموم این سامانهها با حجم بزرگی از دادهها سر و کار دارند که انواع مختلفی دارند. در این درس نحوه حل مسائل و چالشهای مختلفی که در این سامانهّها اتفاق میافتند آموزش داده میشوند.
سرفصلها
- سیستمهای قابل اطمینان، مقیاسپذیر و قابلیت نگهداری
- مدلهای داده و زبانهای پرس و جو مانند NoSQL و …
- ذخیرهسازی و بازیابی به کمک انواع ساختارهای داده
- کدگذاری (به کمک XML، JSON و …) و تکامل در جریان دادهها
- تکثیر: رهبران و پیروان، تأخیر تکثیر، تکثیر با چند رهبر، تکثیر بدون رهبر
- تقسیمبندی: ارتباط با تکثیر، دادههای کلید-مقدار، نمایهسازیهای ثانویه، و …
- تراکنشها: سطوح ضعیف ایزولهسازی و قابلیت سریالسازی (اجرای سریال واقعی، ۲PL، SSI)
- مشکلات سامانههای توزیعشده، ثبات و اجماع: ضمانتهای ثبات، خطیسازی سیستمها، ضمانت سفارش و …
- پردازش دستهای و جریانی
- سایر مباحث مهم مانند CI/CD و DevOps
ارزیابی پیشنهادی
- آزمون: آزمونهای میاننیمسال و پایاننیمسال (۴۰ درصد نمره)
- تمرین و پروژه: سه تمرین تئوری و یک پروژه عملی که در طول نیمسال تحویل داده میشوند (۴۰ درصد نمره).
- گزارش پژوهشی: موضوع پژوهش قبل از آزمون پایاننیمسال تعیین میشود. دانشجو کار پژوهش را با کمک استاد درس آغاز کرده و پس از انجام کار، نتیجه پژوهش را در قالب گزارش ارائه میدهد (۲۰ درصد نمره).
منابع پیشنهادی
- M. Kleppmann. Designing data-intensive applications: The big ideas behind reliable, scalable, and maintainable systems. O'Reilly, 2017.