شش مسئولیت مهندسان داده

شش مسئولیت مهندسان داده

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۰۲ آذر ۱۴۰۰
آخرین بروزرسانی: ۲۱ مهر ۱۴۰۱
زمان مطالعه: 12 دقیقه
۰
(۰)

مقدمه

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

مسئولیت‌های مهندس داده

۱- انتقال داده بین سیستم

این آیتم مسئولیت اصلی یک مهندس داده است که شامل موارد زیر می‌ شود:

  • استخراج: استخراج داده از منابع مختلف که منابع می ‌تواند شامل یک API خارجی، فضای ذخیره‌ سازی ابری، پایگاه داده‌ ها، فایل‌ های ثابت و غیره باشد.
  • تبدیل: این مرحله شامل تبدیل داده ‌های خام به داده‌ ها ساخت ‌یافته برای فهم راحت‌ تر است. برخی از تبدیل ‌های رایج شامل نگاشت، فیلتر کردن، غنی سازی، تغییر ساختار داده‌ ها (Denormalize کردن داده‌ ها) و تجمیع داده می ‌باشد.
  • بارگذاری: در این مرحله داده‌ ها در سیستم مقصد بارگذاری می ‌شوند. سیستم مقصد می ‌تواند شامل یک سیستم ذخیره‌ سازی ابری، انبار داده و یا پایگاه داده کش و غیره باشد.

۲- مدیریت انبار داده

اغلب داده‌ های شرکت در انبار داده قرار می ‌گیرند. مسئولیت‌ های یک مهندس داده در زمینه مدیریت انبار داده عبارت ‌اند از:

  • مدل ‌سازی داده ‌های انبار: داده‌ ها را برای کوئری‌ های تحلیلی مدل‌ سازی می ‌کند که معمولاً شامل کوئری‌ های تجمیعی روی جداول بزرگ می‌ شود. مدل ‌سازی داده ‌های انبار شامل اعمال پارتیشن‌ های مناسب، مدیریت جداول واقعیت مرکزی (Fact) و جداول چند بعدی (Dimension) و غیره است.
  • کارایی انبار داده: اطمینان از سرعت اجرای کوئری ‌ها و اینکه انبار داده در صورت نیاز قابلیت مقیاس‌ پذیری را دارا باشد.
  • کیفیت داده: تضمین کیفیت داده در انبار داده.

۳- زمان بندی، اجرا و نظارت بر خطوط پردازش داده

مهندسان داده مسئول زمان‌بندی خطوط پردازش ETL و اطمینان و نظارت بر اجرای آنها هستند تا بدون هیچ مشکلی انجام شوند.

  • برنامه‌ریزی خطوط پردازش داده برای اجرا در یک زمان ‌بندی تعیین شده و یا در پاسخ به تعدادی رویداد.
  • اجرای خطوط پردازش داده و اطمینان از اینکه آنها می ‌توانند مقیاس ‌پذیر باشند، مجوزهای مناسب را دارا باشند و غیره.
  • نظارت بر خطوط پردازش داده برای شکست ‌ها، بن‌ بست‌ ها و تسک‌ های طولانی مدت.
  • مدیریت متا دیتا (ابر داده) از قبیل زمان اجرا، زمان یک سیکل کامل، دلایل شکست و غیره.

۴- ارائه داده به کاربران نهایی

هنگامی که داده‌ ها در انبار داده در دسترس است، زمان آن فرا رسیده که داده‌ ها به کاربر نهایی ارائه شود. کاربران نهایی می ‌تواند شامل تحلیلگرها، اپلیکیشن ‌ها، مشتریان خارجی و غیره است. بسته به کاربر نهایی باید راه اندازی شود.
ابزار بصری‌ سازی (visualization) داده ‌ها یا داشبورد: ابزاری است که افراد برای تجزیه و تحلیل داده‌ ها و ایجاد نمودارهای زیبا که به راحتی قابلیت اشتراک‌گذاری دارد، استفاده می‌ کنند.
حق دسترسی برای داده ‌ها: اگر تنها یک جدول دارید، حق دسترسی‌ های مناسب را به اپلیکیشن ‌ها یا کاربران نهایی خود اعطا کنید. اگر در فضای ذخیره ‌سازی ابری است، حق دسترسی ‌های مناسب را به کاربران ابری اعطا کنید.
نقطه‌ های پایانی داده (API): تعدادی از اپلیکیشن ‌ها یا مشتریان خارجی ممکن است نیاز به دسترسی مبتنی بر API به داده‌ ها داشته باشند. در چنین مواردی، سروری برای ارسال داده از طریق نقطه پایانی API باید راه ‌اندازی شود.
تخلیه اطلاعات برای مشتریان: تعدادی از مشتریان ممکن است نیاز به تخلیه داده از سیستم شما داشته باشند. در این موارد، برای تسهیل در انجام کار باید یک خطوط پردازش داده راه ‌اندازی کنید.

۵- استراتژی داده برای شرکت

مهندسان داده موظف به ارائه استراتژی داده به شرکت هستند که شامل موارد زیر است:

  • تصمیم‌ گیری در مورد اینکه چه داده ‌هایی جمع ‌آوری شود، چگونه داده‌ها جمع‌آوری شود و به طور ایمن ذخیره گردد.
  • معماری داده در حال تکامل برای نیازهای داده سفارشی.
  • آموزش به کاربران نهایی در مورد نحوه استفاده موثر از داده‌ها.
  • تصمیم‌گیری در مورد اینکه چه داده‌ هایی با مشتریان خارجی به اشتراک گذاشته شود.

۶- استقرار مدل های ML برای تولید

دانشمندان و تحلیلگران داده مدل های پیچیده ای را توسعه می دهند که از نزدیک عملکرد یک فرآیند تجاری خاص را مدل می کند. وقتی زمان استقرار این مدل ها فرا می رسد، معمولاً مهندسان داده آنها را برای استفاده در یک محیط تولید بهینه می کنند.
بهینه‌ سازی آموزش و استنتاج: راه اندازی خطوط پردازش یادگیری دسته‌ای یا آنلاین. اطمینان از اندازه مناسب مدل.
راه اندازی سیستم نظارت: راه اندازی سیستم‌ های نظارت و ثبت گزارش برای مدل ML.

نتیجه‌گیری

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

منابع

https://www.startdataengineering.com/post/n-job-reponsibilities-of-a-data-engineer/

چه رتبه ای می‌دهید؟

میانگین ۰ / ۵. از مجموع ۰

اولین نفر باش

title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
273 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
دیدگاه کاربران

    • سلام
      ۶. مدل های ML را برای تولید مستقر کنید
      دانشمندان و تحلیلگران داده مدل های پیچیده ای را توسعه می دهند که از نزدیک عملکرد یک فرآیند تجاری خاص را مدل می کند. وقتی زمان استقرار این مدل ها فرا می رسد، مهندسان داده معمولاً کسانی هستند که آنها را برای استفاده در یک محیط تولید بهینه می کنند.

      بهینه سازی آموزش و استنتاج: راه اندازی خط لوله یادگیری دسته ای/آنلاین. اطمینان از اندازه مناسب مدل
      راه اندازی نظارت: راه اندازی سیستم های نظارت و ثبت گزارش برای مدل ML.
      چارچوب های رایج: هسته Seldom، AWS MLOps

    • Machine learning algorithm deployment. Machine learning models are designed by data scientists. Data engineers are responsible for deploying those into production environments. This entails providing the model with data stored in a warehouse or coming directly from sources, configuring data attributes, managing computing resources, setting up monitoring tools, etc.

    • به نظر دوره مناسبی، جهت آنالیز داده ها برای مدیران بانکهای اطلاعاتی و آنالیزرها می باشد

    • همه این اقدامات صورت میگیره تا نهایتا در گام ششم این داده ها تبدیل به اطلاعات و دانشی بشه که براحتی از ابتدا از داده های خام قابل مشاهده نبوده تا بتوانند به تصمیم گیری های بهتر افزایش راندمان و کشف الگوها میان داده ها منجر شود. و لازم در این گام از الگوریتم های یادگیری ماشین برای کشف این دانش نهفته در داده ها استفاده بشه.

    • استقرار مدلهای ماشین لرنینگ

    • استقرار مدل های یادگیری ماشین برای تولید

    • Deploy ML models to production
      استقرار مدل های ML برای تولید

    • Deploy ML models to production
      استقرار مدل های ML برای تولید

    • آماده سازی داده برای اعمال الگوریتم های یادگیری و طراحی الگوریتم ها
      تفسیر روندها و الگوهای ایجاد شده

    • optimize کردن مدل های یادگیری ماشین
      از طریق :
      ۱- بهینه سازی آموزش و استنتاج: راه اندازی pipeline های یادگیری دسته ای/آنلاین و اطمینان از اندازه مناسب مدل
      ۲- راه اندازی سیستم های نظارت و ثبت گزارش برای مدل ML.
      framework های رایج: Seldon، AWS MLOps