دست به کد

سیستم توصیه‌گر بلادرنگ با استفاده از ابزارهای مدرن مهندسی داده

این پروژه یکی از پروژه‌های پایانی دانشجویان دوره «مبانی مهندسی داده» در مدرسه مهندسی داده سپهرام است. در این پروژه، آقای امیر جلوگیر یک سیستم توصیه‌گر کاملاً عملیاتی، طراحی و پیاده‌سازی نموده است که توانمندی‌های فناوری‌های مدرن حوزه مهندسی داده را به صورت خلاصه و مفید به نمایش می‌گذارد.

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

🎯فناوری‌های به کار رفته

پروژه با استفاده از مدرن‌ترین ابزارهای حوزه مهندسی داده توسعه یافته است:

🔰 پردازش جریان : Apache Spark Structured Streaming 4.0

🔰صف پیام- Message Broker: ردپاندا (جایگزین کافکا)

🔰مدیریت گردش کار – Workflow Orchestration : Apache Airflow 3.0

🔰ذخیره‌سازی داده:

✔️ پستگرس برای داده‌های عملیاتی و اصلی کسب و کار

✔️کلیک‌هوس برای تحلیل‌های سریع داده‌های تاریخی

✔️الستیک سرچ برای ثبت رویدادها و قابلیت مشاهده‌پذیری (Observability)

🔰لایه ارائه سرویس – Serving Layer : FastAPI

🔰زیرساخت : Docker & Docker Compose

💡 ویژگی‌های کلیدی پروژه

✔️معماری دو-مسیره ارائه سرویس: طراحی‌ای هوشمند که در آن FastAPI پیشنهادهای لحظه‌ای را از PostgreSQL و داده‌های تحلیلی (مانند محصولات پرفروش) را از ClickHouse دریافت نموده و به کاربر نهایی ارائه می‌دهد.

✔️اتوماسیون با ایرفلو: تمامی فرآیندهای نگهداری و مدیریت داده‌ها، شامل تجمیع‌های روزانه و نظارت بر سلامت سیستم، توسط DAGهای Airflow به صورت خودکار مدیریت می‌شوند.

✔️قابلیت مشاهده‌پذیری کامل: با ارسال همزمان رویدادها به Elasticsearch، امکان عیب‌یابی و مشاهده وضعیت سیستم در داشبوردهای نظارتی مانند کیبانا فراهم شده است.

🎥 ویدئوی توضیح پروژه

برای درک بهتر جریان داده و معماری سیستم، ویدئوی ۸ دقیقه‌ای توضیحات که توسط آقای جلوگیر تهیه شده را در این پست از کانال تلگرامی مدرسه مهندسی داده سپهرام مشاهده نمایید. در این ویدئو به تشریح کامل گردش کار، تعامل کامپوننت‌ها و نتایج پروژه پرداخته شده است.

💻کد منبع پروژه

کدهای این پروژه به صورت کاملاً مستند و حرفه‌ای در گیت‌هاب منتشر شده و می‌تواند منبع مناسبی برای یادگیری علاقه‌مندان به مهندسی داده و سیستم‌های توصیه‌گر باشد.

مشاهده ریپازیتوری: https://github.com/AmirJlr/RealTimeRecSys

از تلاش و پشتکار آقای امیر جلوگیر در خلق این اثر ارزشمند سپاسگزاری می‌نماییم. همچنین از تیم آموزشی مدرسه سپهرام که بستر پیشرفت دانشجویان را فراهم می‌کنند، قدردانی می‌کنیم.

 

مجتبی بنائی

دانشجوی دکترای نرم‌افزار دانشگاه تهران (yun.ir/smbanaie)، مدرس دانشگاه و فعال در حوزه توسعه نرم‌افزار و مهندسی داده که تمرکز کاری خود را در چند سال اخیر بر روی مطالعه و تحقیق در حوزه کلان‌داده و زیرساخت‌های پردازش داده و تولید محتوای تخصصی و کاربردی به زبان فارسی و انتشار آنها در سایت مهندسی داده گذاشته است. مدیریت پروژه‌های نرم‌افزاری و طراحی سامانه‌های مقیاس‌پذیر اطلاعاتی از دیگر فعالیتهای صورت گرفته ایشان در چند سال گذشته است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش جفنگ استفاده می‌کند. درباره چگونگی پردازش داده‌های دیدگاه خود بیشتر بدانید.

دکمه بازگشت به بالا