دست به کد

معرفی یکی از پروژه‌های عملی دوره مهندسی داده سپهرام

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

امروز خوشحالیم یکی از پروژه‌های ارزشمند خروجی دوره مبانی مهندسی داده را معرفی کنیم؛ پروژه‌ای که توسط محمد ابراهیمی عزیز توسعه داده شده و در ریپوی زیر قابل مشاهده است:

🔗 https://github.com/MohamadDesign/basic_dataengineer

🔍 این پروژه چیست و چه کاری انجام می‌دهد؟

این ریپو یک نمونه‌ی کاملاً عملی از ساخت یک پایپ‌لاین داده کامل از مبدا داده‌ها تا بصری‌سازی و گزارشات (End-to-End Data Pipeline) است که مخاطب دوره را با مفاهیم بنیادین مهندسی داده به‌صورت کاربردی آشنا می‌کند. هنرجو در این پروژه تجربه می‌کند که داده چگونه تولید، منتقل، پردازش و در نهایت تحلیل می‌شود؛ فرآیندی که در مهندسی داده واقعی هر روز اتفاق می‌افتد.

🏗 معماری پروژه و جریان داده

معماری این پروژه به شکلی ساده اما کاملاً کاربردی طراحی شده است و با استفاده از Docker Compose اجرا می‌شود تا علاقه‌مندان بتوانند با کمترین پیچیدگی، یک معماری واقعی مهندسی داده را بالا بیاورند.

جریان داده در این پروژه به شکل زیر است:

۱) تولید داده کاربران
  • داده‌های تصادفی شامل نام، کشور و زمان ثبت‌نام تولید می‌شوند.
  • این داده‌ها ابتدا در PostgreSQL ذخیره می‌شوند.
  • این مرحله معمولاً از طریق یک DAG در Apache Airflow یا یک اسکریپت پایتون مدیریت می‌شود.
۲) انتقال داده به Kafka
  • یک DAG دیگر در Airflow داده‌ها را از Postgres خوانده و به یک Topic در Apache Kafka ارسال می‌کند.
  • کافکا در این معماری نقش Message Broker را ایفا می‌کند و امکان انتقال صفی و استریمی داده‌ها را فراهم می‌سازد.
۳) پردازش و ذخیره‌سازی نهایی
  • داده‌ها از Kafka توسط یک ابزار پردازشی مثل Logstash خوانده می‌شوند.
  • پس از اعمال پردازش‌های لازم (فیلتر، پاک‌سازی، تبدیل ساختار)، داده‌ها به Elasticsearch ارسال می‌شوند.
۴) بصری‌سازی و تحلیل
  • داده‌های ذخیره‌شده در Elasticsearch در Kibana ویژوالایز می‌شوند.
  • داشبوردهایی مانند توزیع کاربران، روند ثبت‌نام، و تحلیل‌های زمانی در این بخش قابل ساخت هستند.

در یک نگاه کلی، هنرجو با چرخه واقعی یک Data Pipeline شامل Extract → Transform → Load → Analyze آشنا می‌شود؛ چرخه‌ای که هسته‌ی اصلی مهندسی داده در صنعت است.

✨ سخن پایانی

دیدن چنین پروژه‌هایی از سمت هنرجویان، برای ما در سپهرام بسیار ارزشمند است؛ چون نشان می‌دهد مسیر آموزش دقیقاً با نیازهای روز صنعت مهندسی داده همسو شده و خروجی‌ها به مهارت واقعی منجر شده‌اند.

برای محمد ابراهیمی عزیز آرزوی موفقیت داریم و امیدواریم این پروژه‌ها الهام‌بخش قدم‌های بعدی علاقه‌مندان به دنیای داده باشد. 🚀

ویدئوی زیر توضیحات محمد ابراهیمی راجع به این پروژه و نحوه کار آن است :‌

 

مجتبی بنائی

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

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

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

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