یکی از رایجترین مفاهیمی که در علمداده وجود دارد مهندس داده یا Data Engineer است. در ادامه سری مقالات تخصصی مجله اینترنتی دیدگاه، در این مقاله خواهیم گفت که مهندس داده کیست و چگونه مهندس داده شویم.
مهندس داده (Data Engineer) کیست؟
کاری که مهندسان داده انجام میدهند کاملا فنی است. آنها مسئول طراحی و نگهداری از معماری سیستمهای داده هستند. کاری که شامل موارد مختلفی است: از زیرساختهای تحلیلی گرفته تا انبارهای داده. مهندسان داده باید درک قوی و دقیقی از زبانهای متعارف اسکریپت نویسی داشته باشند. همچنین از آنها انتظار میرود با اتکا به سیستمهای در حال ارتقای علم تحلیل، از کیفیت دادهها اطمینان حاصل کنند و از دادههایی که روز به روز بر کمیت آنها افزوده میشود، مراقبت کنند.
یکی دیگر از مسئولیتهای مهندسان داده، طراحی مراحل و فرایندهای مربوط به مدلسازی داده، داده کاوی، صحتسنجی و مالکیت (Acquisition) دادههاست. پیشبینی میشود تقاضا برای استخدام مهندسان خبره داده بهسرعت افزایش پیدا کند. در دنیای مدرن، کسبوکارها و سازمانها برای ذخیره کردن داده و دسترسی به آن، به معماری داده قدرتمندی نیاز دارند. نیاز به مهندسان داده زمانی احساس میشود که سازمان به قدری رشد میکند که به استفاده از علم داده نیاز دارد. به همین دلیل است که اخیراً تقاضا برای استخدام مهندسان داده، بسیار بیشتر شده است.
برخی از سازمانها گمان میکنند که میتوانند در حین کار و در میان انجام پروژه، مهارتها و تجارب موردنیاز خود را در زمینهٔ مهندسی داده، ارتقا دهند. به گفتهٔ کوین سَفورد (Kevin Safford)،مدیر ارشد در شرکت «آمبل»، این سازمانها معمولاً اشتباه میکنند:
«اگر شما تجربهٔ عملی و واقعی خاصی در رابطه با ساختن جریان داده (Data Pipeline)، سیستم مدیریت داده، علم تحلیل و کلیه کدنویسی های مورد نیاز آن ندارید، به مشکل برمیخورید. اینها دادهها را برای شما دسترسپذیر میکنند و تضمینکنندهٔ درستی داده و تحلیل شما هستند، اما اگر شما چنین تجربه و تخصصی را که بهسختی به دست میآید، نداشته باشید، چهبسا گمان کنید که میتوان اینها در طول کار حل کرد. من افراد بسیاری را دیدهام که چنین تصوری دارند. این افراد تقریباً همیشه در اشتباهاند و تقریباً همیشه همین اشتباه را تکرار میکنند.»
مقایسهٔ مهندس داده و متخصص داده
مهارتها و مسئولیتهای متخصصان داده و مهندسان داده معمولاً همپوشانی دارند؛ بااینوجود، این دو حرفه به سرعت در حال جداشدن از یکدیگر هستند و نقشهای هریک از دیگری متمایز است. تمرکز متخصصان داده بیشتر روی تبدیل کلان داده به هوش کسب و کار است؛ در حالی که مهندسان داده، بیشتر روی پیافکندن معماری و زیرساخت داده، بهمنظور تولید داده (Data Generation) متمرکز هستند. برای ساختن محیط و زیرساختی که متخصصان داده بتوانند در آن کار کنند، به مهندس داده نیاز است.
تمرکز متخصص داده بیشتر روی کار با زیرساخت است تا ایجاد و نگهداری آن. همچنین، متخصصان داده وظیفه دارند با در اختیار داشتن دادهٔ خام، آن را به اطلاعات مفید، قابلدرک و قابلاجرا تبدیل کنند. آنها با کلانداده کار میکنند در حالی که مهندسان داده با زیرساختها و بنیانهای دادهای سروکار دارند.
بنیانهای داده
بنیان داده (Data Foundations) برای پشتیبانی از تمام انواع گزارشدهیها و تحلیلها استفاده میشود. هدفِ مهندس داده، فراهمکردن دادههای قابلاطمینان، یکپارچه و بهروز برای پشتیبانی از گزارشدهی و تحلیل است. بنیان قوی دادهای، مزایای فوقالعادهای در اختیار سازمانها قرار میدهد و سبب بهینهتر شدن فعالیتها و تصمیمگیریهای سازمان میشود. برخی از این مزایا از این قرارند:
- ارتقا ارتباطات و همکاریهای سازمانی
- امکان استفاده چندمنظوره از داده
- ایجاد نسخههای جدا برای سوابق نگهداری شده
- ایجاد درک مشترک از اطلاعات در سرتاسر سازمان
سازمانهای مدرن بدون پیاده سازی یک بنیان دادهای کارا و مطمئن، خود را در معرض ریسکهای امنیتی قرار میدهند و به رشد ناکارآمدی در سازمان کمک میکنند. بنیان دادهای ضعیف برای یک پرسش، چندین پاسخ ارائه میکند و منجر به تصمیمات غیرهوشمندانه میشود.
مهارتهای مهندسی کلانداده
مهندسان داده، باید درک خوبی از مدیریت پایگاه داده داشته باشند که این کار به دانش عمیقی از زبان پرسوجوی ساختاریافته (SQL) نیاز دارد. آنها زیرساخت، ابزار، چهارچوبهای کاری و سرویسها را میسازند. بعضی افراد عقیده دارند که مهندسی داده بیشتر به مهندسی نرمافزار و توسعه برنامهها شباهت پیدا کرده تا با علم داده.
برخی مهارتهای دیگر که برای مهندسی داده مفید هستند، ازاینقرارند:
- تجربهٔ کار با Apache Hadoop, Hive, MapReduce و Hbase.
- یادگیری ماشین (ML) عمدتاً موردتوجه متخصصان داده است، اما درک بخشی از آن برای مهندسی داده نیز مهم است. یادگیری ماشین با کلانداده ارتباط زیادی دارد. (یادگیری ماشین پردازش کلانداده را ساده و مؤثر کرده است و بسیاری از فنون کار با کلانداده و فهم آن حاصل یادگیری ماشین است.)
- دانش برنامهنویسی قطعاً برای یک مهندس داده مزیت بهحساب میآید. آشنایی با زبانهای C/C++ ، جاوا، پایتون، پرل (Perl)، گولنگ (Golang) و یا زبانهای دیگر، میتواند بسیار مفید باشد. داشتن درک خوبی از لینوکس، یونیکس (UNIX) و سولاریس (Solaris) هم بسیار سودمند است چون این سیستمها به کارکرد سیستمعامل و سختافزار دسترسی روت (root access) دارند.
- تجربه کار با فرایند ای.تی.ال (ETL) (مخفف استخراج، تبدیل، بارگذاری) برای این حرفه ضروری است. ETL فرایند انبارسازی داده است که از آن برای بیرون آوردن داده از سیستمهای منبع و ذخیره کردن آن در انبار داده استفاده میشود. آشنایی با ابزارهای ETL مانند Segment یا Oracle Warehouse Builder، و همچنین راهحلهای ذخیرهٔ داده مانند Panoply و Redshift نیز بسیار ارزشمند است.
ای.تی.ال (استخراج، تبدیل، بارگذاری)
در دنیای پردازش، از فرایند ای.تی.ال (ETL) در ساخت پایگاه داده و انبار داده استفاده میشود. فرایند استخراج، تبدیل و بارگذاری در دههٔ 70 میلادی به محبوبیت رسید. در فرایند استخراج داده، دادهها از منابع دادهٔ همگن یا ناهمگن استخراج میشوند. در تبدیل داده، دادهها برای ذخیره شدن (و بعداً برای پژوهش و تحلیل) در ساختار یا قالب مناسبی جا میگیرند. بارگذاری داده فرایندی است که در آن، دادهٔ تبدیل شده در دیتامارت (data mart)، مخزن داده (data store) و یا انبار داده (data warehouse) بارگذاری میشود.
یک سیستم ای. تی. ال، اگر بهخوبی طراحی شده باشد، میتواند داده را از سیستمهای منبع استخراج کند و استانداردهای انسجام و کیفیت داده را تقویت کند. چنین سیستمی میتواند داده را در قالبی ارائه کند که همیشه آمادهٔ بازنمایی باشد (ready-for-presentation format) تا توسعه دهندگان قادر باشند با آن برنامههایی بسازند تا کاربر نهایی بتواند در مورد ارزش داده ها قضاوت کند.
سیستمهای ای.تی.ال به طور سنتی داده را از چندین برنامه و سختافزار کامپیوتر و تأمینکنندههای مختلف اخذ کرده و ترکیب میکنند. سیستمهای جدا که دادهٔ اصلی را در اختیار دارند، معمولاً توسط افراد مختلف کنترل و اداره میشوند. بهعنوانمثال، مدیر سیستم حسابداری میتواند دادههای حقوق و دستمزد را با دادههای فروش و خرید، ترکیب کند.
انبار داده
از انبار داده (Data Warehouses) برای ذخیره کردن، گزارشدهی و تحلیل داده استفاده میشود و وجود آن برای توسعهٔ هوش کسبوکار ضروری است. انبارهای داده برای ذخیرهسازی متمرکز دادههای یکپارچهای استفاده میشوند که از یک یا چند منبع به دست آمدهاند. انبارها، دادههای فعلی و قدیمی که از آنها برای ارتقا گزارشهای تحلیلی (analytical reports) استفاده میشود را ذخیره میکنند.
بدون انبارهای داده (و یا همتاهای ساختاری بهروز شدهٔ آنها که دریاچههای داده هستند)، پردازش کلانداده و هر فعالیت دیگری که مربوط به علم داده باشد، به طرز عجیبی پرهزینه و مقیاسناپذیر (unscalable) خواهد بود. بدون انبار دادهای که هوشمندانه طراحی شده باشد، تحلیلگرها بعد از هر بار جستجو و تحقیق، برای یک پرسش واحد به چندین نتیجهٔ مختلف میرسند. در صورت فقدان انبار داده ممکن است تحلیلگرها مستقیما به سراغ پایگاه دادههای عملیاتی سازمان بروند که ممکن است منجر به از دسترس خارج شدن پایگاه داده یا تاخیر آن در پاسخ به درخواست عملیاتی سازمان شود.
تبدیلشدن به مهندس داده
مهندس داده معمولاً مدرک فناوری اطلاعات یا علوم کامپیوتر و گواهینامههای شرکت در دورههای آموزشی مختلف را از پیش گرفته است. معمولاً دانشکدههای مهندسی داده به دلیل نیازهای شخصیسازی شده متفاوت محیطهای کاری، نگرش بسیار منعطفتری نسبت به آموزش و تحصیلات دارند.
مدرک تحصیلی و دورههای آموزشی ویژه، بسیار مهم هستند، اما بهتنهایی کافی نیستند. داشتن گواهینامههای دیگر هم بسیار ارزشمند است. تعدادی از گواهینامههای مفید مهندسی داده شامل موارد زیر است:
- گواهینامه مهندسی دادهٔ سی.سی.پی (CCP) (گواهینامه مهندس دادهٔ رسمی از شرکت نرمافزاری کلودرا Cloudera): این گواهینامه نشان میدهد که فرد تجربهٔ کار با ابزارهای ای.تی.ال و علم تحلیل را دارا میباشد.
- گواهینامهٔ گوگل: این گواهینامه تأیید میکند که فرد با مهارتهای ابتدایی مهندسی داده آشنا است.
- گواهینامه رسمی مهندس داده از شرکت آیبیام IBM (برای کلانداده): این گواهینامه تأیید میکند که فرد تجربهٔ کار با برنامههای کلانداده را دارا میباشد.
گواهینامههای ثانویهٔ دیگری هم وجود دارند. مثلاً گواهینامهٔ ام.سی.اس.ای (MCSE) (گواهینامهٔ رسمی کارشناس حل مشکل از مایکروسافت) که طیف وسیعی از حوزههای مختلف را در برمیگیرد و خود شامل گواهینامههای فرعی برای حوزههای بهخصوصی میشود، مانند «ام. سی.اس.ای (MCSE) در زمینهٔ مدیریت و تحلیل داده»، «ام. سی.اس.ای (MCSA) در زمینهٔ گزارشدهی هوشمندی کسب و کار» و «ام. سی.اس.ای (MCSA) در زمینهٔ پلتفرم ابری مایکروسافت». علاوه بر اینها، رویدادهایی که در صنعت داده اتفاق میافتد، میتوانند منبع بسیار عالیای برای تمرین و آموزش باشند و فرصت ارزشمندی برای تعامل و تبادل اطلاعات با دیگران مهیا کنند. همچنین، دورههای آنلاین آموزشهای سودمندی برای موقعیتهای مخصوص ارائه میدهد و بیشتر آنها در دسترس هستند.
منبع | Dataversity |
دیدگاه شما