مهندسی داده چیست؟
# معرفی
حدس مقدار داده ای که هر روز تولید می شود-از تلفن هوشمند، تماس های تصویری، گرفته تا ماشین ظرفشویی متصل به Wi-Fi، آسان است.
تخمین زده می شود که جهان تا سال 2025 مقدار 200 زتابایت داده ایجاد کرده و ذخیره می کند. در حالی که ذخیره این داده ها خود یک چالش است، استخراج ارزش از این مقدار داده بطور قابل توجهی پیچیده تر است.
شما احتمالاً با واژه "داده های بزرگ(Big data)" آشنا هستید - و مقیاس این بازار به طور مداوم در حال افزایش است. بازار بزرگ تجزیه و تحلیل داده ها قرار است تا سال 2023 به 103 میلیارد دلار برسد، و کیفیت داده های ضعیف سالانه 3.1 تریلیون دلار برای اقتصاد آمریکا هزینه دارد. شرکت های Fortune 1000 می توانند بیش از 65 میلیون دلار درآمد خالص اضافی به دست آورند، تنها با افزایش 10 درصدی دسترسی به داده های خود.
این بدان معناست که مهم است که شرکت ها بتوانند از اطلاعات خود برای آگاهی بهتر از تصمیمات تجاری، حفاظت از شرکت و مشتریان خود و توسعه تجارت خود استفاده کنند. به منظور انجام این کار، مشاغل باید افرادی را با مهارت های خاص متناسب با حاکمیت و استراتژی داده ها، مانند مهندسان داده، دانشمندان داده و مهندسان یادگیری ماشین به کار گیرند.
این راهنمای جامع کلیه اصول مهندسی داده شامل نقش ها، وظایف و مسئولیت های مشترک را پوشش می دهد. همچنین با درک بهتر اهمیت مهندسی داده ها آشنا خواهید شد و خواهید آموخت که چگونه می توانید از داده های خود بیشتر استفاده کنید.
مقاله پیشنهادی: دسترسی پذیری چیست؟
# مهندسی داده چیست؟
در مورد افزودن ارزش به داده ها، موارد زیادی وجود دارد که باید در نظر بگیرید - چه در داخل و چه خارج از شرکت شما.
شرکت شما به احتمال زیاد داده ها را از سیستم ها یا محصولات داخلی تولید می کند، با برنامه ها و فروشندگان شخص ثالث ادغام می شود و باید داده ها را در قالب خاصی برای کاربران مختلف (داخلی و خارجی) و موارد استفاده ارائه دهد.
داده هایی که از کسب و کار شما تولید و جمع آوری می شود، به احتمال زیاد دارای الزامات انطباق مانند SOC2 یا اطلاعات تشخیص هویت شخصی (PII) است که از نظر قانونی باید از آنها محافظت کنید. در این صورت، امنیت اولویت اصلی اطلاعات شما می شود که چالش های فنی اضافی را برای داده ها در حال حمل و نقل و در حالت استراحت ایجاد می کند. ما همچنان در مورد اخبار بزرگ اطلاعات در اخبار می شنویم، که اگر برای شما اتفاق بیفتد، می تواند کسب و کار شما و شهرت آن را فلج کند.
داده های شما نه تنها باید ایمن باشند، بلکه باید برای کاربران نهایی شما در دسترس باشند، مطابق با الزامات تجاری شما، و دارای صداقت (دقت و ثبات) باشند. اگر داده های شما امن اما غیرقابل استفاده است، نمی تواند به شرکت شما ارزش افزوده دهد. استراتژی حاکمیت داده جنبه های زیادی دارد که به مهارت های تخصصی نیاز دارد.
اینجاست که مهندسی داده وارد عمل می شود.
مقاله پیشنهادی: مهندس نرم افزار چه می کند؟
+ نقش یک مهندس داده چیست؟
یک مهندس داده مانند یک چاقوی ارتش سوئیس در فضای داده است. وظایف زیادی وجود دارد که مهندسان داده می توانند انجام دهند، که معمولاً یک یا چند بخش مهم مهندسی داده را از بالا منعکس می کند.
نقش یک مهندس داده بسته به نیازهای خاص سازمان شما متفاوت است.
وظیفه یک مهندس داده ذخیره، استخراج، تبدیل، بارگذاری، تجمیع و اعتبار داده ها است. این شامل موارد زیر است:
- ایجاد خطوط لوله داده و ذخیره کارآمد داده ها برای ابزارهایی که نیاز به پرس و جو از داده ها دارند.
- تجزیه و تحلیل داده ها، اطمینان از پایبندی آن به قوانین و مقررات حاکمیت داده ها.
- آشنایی با مزایا و معایب ذخیره داده ها و گزینه های پرس و جو.
به عنوان مثال، ممکن است یک شرکت از خدمات وب آمازون (AWS) به عنوان ارائه دهنده ابر استفاده کند، و شما می خواهید داده ها را از سیستم های مختلف ذخیره و جستجو کنید. بهترین گزینه بسته به ساختار یافته یا بدون ساختار (یا حتی نیمه ساختار یافته)، عادی یا غیرطبیعی بودن، و اینکه آیا شما به داده های ردیف یا قالب ستونی نیاز دارید، متفاوت است.
آیا اطلاعات شما به شکل key/value است؟ آیا روابط پیچیده ای بین داده ها وجود دارد؟ آیا داده ها نیاز به پردازش یا پیوستن به مجموعه داده های دیگر دارند؟
همه این تصمیمات بر نحوه جذب، پردازش، تنظیم و ذخیره داده توسط یک مهندس داده تأثیر می گذارد.
+ یک مهندس داده چگونه ارزش اضافه میکند؟
به جای توصیف انتزاعی، یک سناریو را در نظر بگیرید: مدیرعامل می خواهد بداند کسب و کار شما با خرید عمده مواد و توزیع آنها در مکان های مختلف شما چقدر می تواند پول شما را پس انداز کند.
شما باید بتوانید نحوه بازپرداخت هرگونه مواد بلااستفاده به واحدهای تجاری مختلف را تعیین کنید.
این امر به احتمال زیاد شما را ملزم به گرفتن اطلاعات از سیستم ERP، سیستم زنجیره تأمین، فروشندگان بالقوه شخص ثالث و داده های مربوط به ساختار تجاری داخلی خود می کند. در سال های گذشته، برخی از شرکت ها سعی کرده اند این گزارش را در Excel ایجاد کنند، زیرا چندین تحلیلگر و مهندس تجاری در استخراج و دستکاری داده ها مشارکت داشته اند.
مهندسان داده به یک سازمان اجازه می دهند تا داده ها را از منابع مختلف به طور موثر و مفید جمع آوری کند، به طور کلی این داده ها را در یک دریاچه داده یا در چندین موضوع کافکا ذخیره کند. پس از جمع آوری داده ها از هر سیستم، یک مهندس داده می تواند نحوه پیوستن بهینه به مجموعه داده ها را تعیین کند.
با استفاده از آن، مهندسان داده می توانند خطوط لوله داده را ایجاد کنند تا داده ها از سیستم های منبع خارج شوند. نتیجه این خط لوله داده در یک مکان جداگانه ذخیره می شود - عموماً در قالب بسیار در دسترس برای پرس و جو از ابزارهای مختلف اطلاعات تجاری.
مهندسان داده همچنین مسئول اطمینان از این هستند که این خطوط داده دارای ورودی و خروجی صحیح هستند. این اغلب شامل ادغام داده ها یا خطوط لوله اضافی داده ها برای اعتبارسنجی در برابر سیستم های منبع است. مهندسان داده همچنین باید با استفاده از ابزارهای مختلف نظارت و شیوه های مهندسی قابلیت اطمینان سایت (SRE) اطمینان حاصل کنند که خطوط داده به طور مداوم جریان داشته و اطلاعات را به روز نگه می دارد.
در یک عبارت، مهندسان داده با خودکارسازی و بهینه سازی سیستم های پیچیده، ارزش را اضافه می کنند و داده ها را به یک دارایی تجاری قابل دسترس و قابل استفاده تبدیل می کنند.
مقاله پیشنهادی: کدام زبان back-end را انتخاب کنیم؟
# حاکمیت داده چیست؟
استراتژی حاکمیت داده ها برای موفقیت سازمان شما و داده های آن ضروری است. این یک موضوع بسیار پیچیده است. حاکمیت داده ها بر اساس موارد زیر ساختار یافته است:
برای اینکه داده های شما در عین به حداقل رساندن ریسک و هزینه برای شرکت شما ارزش ایجاد کند، باید پاسخ چند سوال را داشته باشید:
- چه کسی به داده های من دسترسی دارد؟
- چگونه حسابرسی کرده و دسترسی را تأمین کنم؟
- چگونه داده ها به صورت فیزیکی در یک سیستم و در سراسر سیستم ها ذخیره می شوند؟
- استانداردها و شیوه های رمزنگاری داده ها توسط شرکت من رعایت می شود؟
- چگونه می توان تأیید کرد که داده های گزارشات مختلف از کجا آمده است؟
- چگونه می توان صحت گزارشی را که از آن تصمیم تجاری مهمی می گیرم تأیید کنم؟
- کاربران چگونه اطلاعات را در سیستم های من پیدا می کنند؟
اینها سوالات بسیار پیچیده ای هستند که به طور کلی دارای پاسخهای پیچیده هستند و نیاز به دانش از حوزه های مختلف تجاری و فناوری دارند:
- کسب و کار شما باید نحوه ارزش افزوده داده ها به سازمان را مشخص کند.
- کارکنان امنیتی شما باید معیارهای رمزگذاری و مدیریت دسترسی را تعیین کنند.
- مهندسین داده شما باید بتوانند داده ها را به هم پیوند دهند و برای مصرف کنندگان نهایی به داده های اصلی تسلط داشته باشند.
- همه اینها باید توسط اعضای چند کاره سازمان شما اداره و اجرا شود.
# حاکمیت داده چه فرقی با مهندسی داده دارد؟
حاکمیت داده ها بیشتر بر مدیریت داده ها متمرکز است و مهندسی داده ها بر اجرای داده ها متمرکز است. در حالی که مهندسان داده بخشی از استراتژی کلی حاکمیت داده ها هستند، حکمرانی داده ها بسیار بیشتر از جمع آوری و نظارت داده ها را شامل می شود. بعید است که سازمان شما بدون استفاده از مهندسین داده برای پیاده سازی آن، از شیوه مدیریت موثر داده ها استفاده کند.
به عنوان مثال ، بیایید نگاهی به برخی از سوالات خود در بالا داشته باشیم و مهندسان داده و نحوه انجام هر وظیفه را در ذهن داشته باشیم.
مقاله پیشنهادی: چرا زبانهای برنامه نویسی نامهای عجیبی دارند؟
+ چه کسی به دادههای من دسترسی دارد؟
در یک شیوه حاکمیت داده ها، قوانین و مقررات تعیین می کند که چه کسی باید به اطلاعات خاصی در سازمان شما دسترسی داشته باشد.
اگر یک شرکت حمل و نقل هستید، ممکن است لازم باشد داده هایی را که تأمین کنندگان و مشتریان می توانند در هر زمان مشاهده کنند، جدا کنید یا اطمینان حاصل کنید که تأمین کنندگان مختلف نمی توانند اطلاعات مربوط به سایر تامین کنندگان را ببینند. این نیاز به طبقه بندی داده ها، برچسب زدن و محدودیت های دسترسی دارد.
اگر در حال جمع آوری داده ها از سیستم های مختلف هستید، یک مهندس داده مسئول اعمال قوانین طبقه بندی و برچسب گذاری پس از جمع آوری است. این ممکن است شامل افزودن نقاط داده اضافی به داده های جمع آوری شده یا ذخیره داده ها به طور جداگانه بر روی دیسک باشد. سپس، هنگامی که داده ها تجمیع یا تبدیل می شوند، نتیجه نهایی باید شامل همین اطلاعات باشد. هنگام ایجاد محدودیت های دسترسی به داده ها، مهندس داده همچنین باید سیاست های مورد نیاز را اعمال کند.
+ چگونه می توانم حسابرسی کرده و دسترسی را تأمین کنم؟
برای مطابقت با قوانین متعدد مورد نیاز مشاغل، باید توانایی ردیابی افرادی که به داده های شما دسترسی دارند و تغییرات آن دسترسی را داشته باشید. این شامل اطلاع رسانی مصرف کنندگان از داده های شما در مورد تغییرات داده ها نیز می شود. اگر مصرف کننده مجموعه ای از داده ها هستید و بدون اطلاع شما تغییر می کند، احتمالاً سیستم ها خراب می شوند. این بدان معناست که می توان ردیابی کرد که چه کسی است و چه کسی باید از داده ها استفاده کند.
در حالی که شیوه های حاکمیت داده ها تعیین می کند که این قوانین چگونه باید باشند، این وظیفه مهندسان داده است که این قوانین را به کار گیرند. این می تواند به معنی تنظیم قوانین IAM در AWS یا Microsoft Azure باشد تا اطمینان حاصل شود که نقش های خاص فقط قادر به خواندن داده ها از منابع و سیستم های مختلف هستند. سپس وظیفه تیم امنیتی است که تأیید کند که کاربران فقط به نقش های مناسب دسترسی دارند.
+ چگونه داده ها به صورت فیزیکی در یک سیستم و در سراسر سیستم ذخیره می شوند؟
مهندسان داده مسئول ذخیره داده های جمع آوری شده و تغییر یافته در مکان های مختلف بسته به نیازهای تجاری هستند. هر مجموعه ابزار و مکان روشهای متفاوتی برای ذخیره و دسترسی به داده ها خواهد داشت و مهندس داده باید محدودیت ها، مزایا و موارد مورد استفاده برای هر مکان و مجموعه داده ها را در نظر بگیرد.
فرض کنید کسب و کار شما روزانه یک میلیون رکورد برای یک منبع داده خاص دریافت می کند. اگر این را روی دیسک ذخیره می کنید، نمی توانید به سادگی به یک فایل منفرد اضافه کنید (مانند این که در بزرگترین انبار جهان به دنبال یک سوزن باشید!) اگر شما در حال ایجاد گزارش یا ارائه کاربران نهایی هستید. با داشتن اطلاعات خاصی، هرگز نمی توانید آن را پیدا کنید.
مهندسان داده می توانند:
- بدانند که این داده ها باید در فایلها و دایرکتوریهای مختلف درون سیستم فایل شما تقسیم بندی شوند تا دادهها جدا شوند.
- ارزیابی داده ها و نحوه بارگیری و مصرف آنها برای تعیین روش مناسب برای تقسیم داده ها.
- تعیین نحوه به روزرسانی قطعات خاص داده با اعمال تغییرات در منبع داده.
حاکمیت داده ها و قوانین پیرامون آن ممکن است دسترسی داده ها به آن پارتیشن ها را تعیین کند و معیارهای عملکرد مورد نیاز برای آن داده ها را داشته باشد. با این حال، اعضای تیم مدیریت داده ها مهارت لازم را برای تعیین این نقش های دسترسی یا تعیین آن معیارها ندارند.
دوره پیشنهادی: دوره آموزش الگوریتمنویسی در پایتون
# علم داده چیست؟
اگر سعی می کردید از مجموعه داده های مختلف ارزش پیدا کنید، از کجا شروع می کردید؟
به عنوان مثال: اگر اطلاعاتی در مورد مشتریان و سفارشات آنها دارید، ممکن است سعی کنید بفهمید چه اقلام اضافی را می توانید بر اساس سایر سفارشات مشتری به آنها بفروشید. اگر بتوانید مشتریان و خریدهای آنها را مرتبط کنید، به احتمال زیاد می توانید سفارشات بعدی را افزایش دهید.
اگر تعداد کمی مشتری و سفارش دارید، این ممکن است ساده باشد. شما می توانید از تحلیلگران تجاری استفاده کنید که در شرکت شما متخصص هستند و سالها با مشتریان خود کار کرده اند تا احتمالاً خواسته های مشتریان را استنباط کنند.
اما اگر میلیون ها مشتری و میلیون ها معامله داشته باشید چه؟ اگر فروشندگان خارجی اطلاعات بیشتری در مورد مشتریان خود در اختیار شما قرار می دادند، چه می شد؟ اگر داده های شما بدون ساختار باشند و به راحتی نتوان آنها را با مجموعه داده های دیگر شما پیوست؟ از کجا می دانید که اطلاعات خاصی در واقع با هم ارتباط دارند و به جای احساسات، بر اساس داده ها تصمیم گیری می کنند؟
اینجاست که علم داده وارد تصویر می شود. دانشمندان داده وظیفه دارند از روش ها، فرایندها، الگوریتم ها و سیستم های علمی برای استخراج بینش ارزشمند تجاری از داده های ساختار یافته و بدون ساختار استفاده کنند.
+ مدل سازی داده چیست؟
برای درک نتایج کار یک دانشمند داده ، باید درک کنیم که مدل داده چیست.
مدل سازی داده ها فرایندی است که طی آن داده ها تعریف، تجزیه و تحلیل و ساختار می یابند تا خروجی معناداری تولید شود. این به طور کلی به معنای بلعیدن داده ها از منابع مختلف، ساختار دادن آنها به موجودیت ها و روابط مختلف، انجام محاسبات در برابر داده ها و تأیید خروجی است.
هدف از مدل سازی داده ها نشان دادن یا محاسبه ارتباط بین نقاط داده و ساختارها است.
با بازگشت به مثال مشتریان و معاملات، مدل داده به ما نشان می دهد که چگونه مشتریان و معاملات مختلف با یکدیگر ارتباط دارند، بنابراین می توانیم تجزیه و تحلیل آماری را در مورد میزان نزدیکی آنها شروع کنیم. یک خروجی بالقوه از این مدل داده می تواند این باشد که مشتریانی که پوشک می خرند 80 درصد بیشتر از افرادی که از پوشک استفاده نمی کنند، ضد عفونی کننده دست نیز خریداری می کنند.
انواع مختلفی از مدلهای داده نیز وجود دارد:
- مدل فیزیکی: طرح یا چارچوبی برای نحوه ذخیره فیزیکی داده ها بر روی دیسک یا در پایگاه داده.
- مدل مفهومی: ساختارها و مفاهیم تجاری سطح بالا.
- مدل داده منطقی: انواع موجودیت ، انواع داده ها و ویژگی ها ، روابط بین موجودیت ها.
+ دانشمندان داده چگونه ارزش اضافه میکنند؟
دانشمندان داده عموما دارای ریاضیات ، آمار و زمینه های برنامه نویسی قوی هستند.
هنگام کار با Big Data، امکان تعیین ارزش به صورت دستی وجود ندارد. سوزن داخل انبار را به خاطر دارید؟ در عوض، دانشمندان داده باید به طور برنامه ای با داده ها کار کنند تا نظریه ها و مدل های آماری را تأیید کنند.
در مثال مدل داده ما ، ما توانستیم تشخیص دهیم که مشتریانی که پوشک می خرند 80 درصد بیشتر از افرادی که از پوشک استفاده نمی کنند ، ضد عفونی کننده دست نیز خریداری می کنند. در حالی که این یک نتیجه گیری ساده و منطقی است ، اغلب سازمانها روابط پیچیده تری بین داده ها و ارزش تجاری خود دارند. همچنین به احتمال زیاد سازمان شما آنقدر داده دارد که حتی نمی دانید از کجا شروع کنید.
شرکت های Fortune 1000 می توانند با افزایش 10 درصدی دسترسی به داده های خود ، بیش از 65 میلیون دلار درآمد خالص اضافی به دست آورند. به همین دلیل است که برای شرکت ها ضروری است که دانشمندان داده ها مدل های داده را ایجاد کرده و تجزیه و تحلیل داده ها را انجام دهند - که این امر برای واحدهای تجاری قابل دسترسی است. این بسیار واقع بینانه است که شرکت شما می تواند خدمات متقابل یا فروش بالاتری را به مشتریان ارائه دهد یا اینکه شرکت شما می تواند با استفاده از مدل های داده برای پیش بینی استفاده از منابع ، در هزینه خود صرفه جویی کند.
+ تجزیه و تحلیل پیشبینی چیست؟
در حالی که فروش متقابل و فروش خدمات برای اکثر مشاغل فروشنده محصول یا خدمات یک مفهوم عادی است ، تجزیه و تحلیل پیش بینی لایه ای از ارزش کسب و کار را اضافه می کند که تصور آن دشوارتر است.
فرض کنید شما یک شرکت حمل و نقل هستید و مدیرعامل شما را مأمور کرده است که سود را حداکثر کرده و هزینه های عملیاتی را به حداقل برساند. این هدف هر کسب و کاری است ، درست است؟ از کجا شروع می کنید؟
احتمالاً سعی می کنید خطوط حمل و نقل را که اغلب مورد استفاده قرار می گیرد ، شناسایی کرده و مطمئن شوید که کامیون هایی مرتباً تحویل می دهند و بدون تحمل طولانی مدت بین محموله ها بیکار می مانند. با این حال ، چگونه می توان تعیین کرد که چگونه آب و هوا بر شرایط رانندگی تأثیر می گذارد؟ در صورت ریزش پل چگونه مسیرها را بهینه می کنید؟ چگونه می دانید زمان ایده آل برای رانندگی در هر شهر بدون برخورد با حجم زیاد ترافیک چیست؟
این یک مثال عالی دیگر است که در آن یک مدل داده و دانشمندان داده ارزش زیادی به آن می افزایند. دانشمند داده وظیفه مدل سازی هر نقطه داده ای را دارد که می تواند روی خط حمل و نقل تأثیر بگذارد ، خطرات و آثار هریک را به صورت برنامه ریزی شده محاسبه می کند و نتیجه گیری را برای اطلاع کسب و کار در مورد نحوه عملکرد محاسبه می کند. با تجزیه و تحلیل پیش بینی ، به احتمال زیاد کسب و کار شما بین داده هایی که قبلاً تصور می شد بی فایده است یا بعید به نظر می رسد سناریوهای مختلف را تحت تأثیر قرار دهد ، ارتباط پیدا کند.
+ تفاوت مهندسان داده با دانشمندان داده چیست؟
برای اینکه دانشمندان داده بتوانند داده ها را به طور موثری مدل کنند ، باید شیوه های حاکمیت داده ها برای اطمینان از کیفیت و دقت داده ها وجود داشته باشد.
سپس مهندسان داده مسئول تصویب این سیاست ها و نظارت بر کیفیت و عملکرد داده ها هستند. مهندسان داده همچنین از منابع داده ای که دانشمندان داده برای ایجاد مدل داده استفاده می کنند تغذیه می کنند.
در حالی که مهندسان داده می توانند تغییرات و تجمیع وسیعی را روی داده ها انجام دهند ، باید تجزیه و تحلیل انجام شود تا نحوه پردازش داده ها مشخص شود. مهندس داده باید بداند که چگونه داده ها به هم مرتبط هستند و چگونه باید آنها را دستکاری کرد تا نتیجه دلخواه ایجاد شود. در مثالهای اساسی ، یک مهندس داده ممکن است بتواند با کسب و کار مشارکت داشته باشد تا این مورد را ترسیم کند ، اما در سیستمهای پیچیده تر تجزیه و تحلیل بیشتری از یک دانشمند داده مورد نیاز است.
در برخی موارد ، مدل داده ممکن است به الگوریتم پیچیده تری و فرایند تبدیل نیاز داشته باشد تا اینکه مهندس داده های عمومی بتواند از عهده آن برآید. ممکن است معادلات ریاضی پیچیده و تجزیه و تحلیل آماری وجود داشته باشد که باید از نمونه اولیه یا نمونه ای در مقیاس کوچک گرفته شده و تولید شود.
این زمانی است که شما نیاز به استخدام یک مهندس یادگیری ماشین دارید.
مقاله مرتبط: 9 مثال واقعی از یادگیری ماشینی
# مهندس یادگیری ماشین چیست؟
مهندسان یادگیری ماشین در تقاطع مهندسی داده و علم داده قرار دارند. این مهندسان اغلب دارای پیشینه ریاضی قوی تری نسبت به یک مهندس داده معمولی هستند ، اما نه در حدی که یک دانشمند داده انجام دهد. این مهندسان می توانند از ابزارها و چارچوب های مهندسی داده در یک اکوسیستم داده بزرگ استفاده کنند ، مدل های داده ایجاد شده توسط دانشمندان داده را بر روی آن داده ها اعمال کرده و روند استقرار این مدل ها را تولید کنند. این کار ساده ای نیست.
مهندسان یادگیری ماشین باید از نظر ریاضی و محاسباتی در ساختار داده ها و الگوریتم ها به خوبی مسلط باشند. برای تولید مدل داده ، داده ها باید وارد مدل شوند و محاسبات در محیطی با عملکرد بالا اجرا شوند. این بدان معناست که به طور بالقوه ترابایت داده های زمان واقعی را برای تصمیم گیری های تجاری مدیریت می کند.
+ مهندسان یادگیری ماشین چگونه با دانشمندان داده کار می کنند؟
هنگامی که دانشمندان داده ها برای اثبات مدل ها با داده ها کار می کنند ، این کار معمولاً در محیط هایی مانند Python یا R در داخل یک دفترچه تحلیلی مانند Jupyter انجام می شود. این نوت بوک با یک خوشه کار می کند تا پرس و جوها را به موتور مخصوص پایگاه داده بزرگ مانند Spark تبدیل کند.
در حالی که این رویکرد تجربه توسعه و زمان مورد نیاز برای به دست آوردن ارزش را به حداقل می رساند ، برای تولید نیاز به کارهای اضافی دارد. این شامل:
- بررسی کیفیت داده ها
- بهینه سازی عملکرد پرس و جو
- ایجاد یک اکوسیستم ادغام پیوسته (CI/CD) در اطراف تغییرات مدل
- ورود داده ها از منابع مختلف به مدل داده
- یادگیری ماشین و تکنیک های علم داده در سیستم های توزیع شده
در حالی که برخی از این مهارت ها با مهارت یک مهندس داده (خوردن داده ها ، بررسی کیفیت داده ها و غیره) همپوشانی دارد ، مسئولیت ها و مهارت های مورد نیاز به طور قابل توجهی بر روی چند حوزه مهندسی داده متمرکز شده است.
# مهارتهای یک مهندس داده موفق چیست؟
پاسخ ساده ای برای این سوال وجود ندارد - اما بیایید برخی از اصول اولیه را مرور کنیم
+ ذخیره سازی و محاسبه اطلاعات
داده ها را می توان در قالب های مختلف فایل های مختلف در سیستم فایل ها و به روش های مختلف در پایگاه داده ها و انبارهای داده ذخیره کرد. هر یک از این قالب های مختلف برای یک مورد استفاده خاص بهینه شده است و مهندسان داده مسئول درک ابزار مناسب برای کار هستند.
به عنوان مثال ، اگر داده ها را روی دیسک در دریاچه داده ذخیره می کردید ، چند گزینه رایج برای فرمت داده ها وجود دارد:
- Parquet
- Avro
- ORC
این فرمت های داده معمولاً توسط یک متاستور هدایت می شوند که محل جستجوی داده ها را جهت جستجوی داده ها دنبال می کند. بسته به نوع ابزاری که استفاده می کنید ، نحو جستجو ، الگوهای دسترسی ، عملکرد و قابلیت ها متفاوت خواهد بود. نمونه های رایج عبارتند از:
- Apache Hive
- Databricks Delta Lake
- AWS Glue Catalog
همچنین می توان داده ها را در بسترهای مبتنی بر جریان ذخیره کرد که به سیستم های بسیار توزیع شده اجازه می دهد. این اغلب معماری pub/sub است که به چندین مصرف کننده داده اجازه می دهد از ناشر داده ها به روزرسانی شوند. نمونه های رایج عبارتند از:
- Apache Kafka
- AWS Kinesis and AWS Kinesis Firehose
- RabbitMQ
هنگامی که داده ها ذخیره می شوند ، به طور کلی باید پردازش شوند تا به وضعیت مطلوب برسند. این می تواند شامل جمع آوری داده ها از منابع مختلف ، پیوستن آن داده ها به یکدیگر ، انجام تجمیع بر روی آنها و سپس قرار دادن نتیجه در مکان نهایی باشد. انواع مختلفی از محاسبات وجود دارد که معمولاً در خطوط داده استفاده می شود:
- Apache Spark
- Databricks
- AWS Glue
سپس خروجی این خطوط داده به طور کلی با استفاده از فرمت های داده و متاستورهای ذکر شده در بالا به یک دریاچه داده بازگردانده می شود. در برخی موارد ، مشتریان می خواهند این داده ها را در پایگاه داده یا انبار داده مانند Snowflake یا AWS Redshift قرار دهند. این ابزارها امکان تنظیم عملکرد بیشتر داده ها ، فعال سازی داده ها و ادغام با ابزارهای شخص ثالث را فراهم می کنند.
دوره پیشنهادی: دوره آموزش RabbitMQ
+ ابر در مقابل دانش فرضیات
بسیاری از شرکت ها دارای سیستم های داخلی هستند و در حال مهاجرت به راه حل های مبتنی بر ابر مانند خدمات وب آمازون (AWS) و Microsoft Azure هستند. این امر به مجموعه ای از مهارت ها نیاز دارد و مهندسان باید بتوانند تفاوت نحوه عملکرد این سیستم ها را درک کنند.
به طور کلی ، هنگام کار با حجم کاری داخلی ، مهندسان روی زمان اجرا و استفاده از حافظه تمرکز نمی کنند تا زمانی که همسایه بدی برای سایر فرآیندها در یک سرور یا خوشه باشند. از آنجا که شرکت هزینه سخت افزار را پرداخت می کند و نه بر اساس یک مدل مبتنی بر مصرف ، اجازه می دهد تا فرایندها کمی بیشتر از صرف زمان زیادی برای بهینه سازی عملکرد اجرا شوند.
با این حال ، هنگام کار بر روی یک پلت فرم مبتنی بر ابر ، بسیاری از راه حل ها بر اساس یک مدل مبتنی بر مصرف اجرا می شود که به مواردی مانند استفاده از حافظه ، زمان اجرا و شرایط ذخیره سازی مرتبط است. این امر می تواند هزینه های قابل توجهی را هنگام انتقال مستقیم بارهای کاری داخلی به ابر ایجاد کند.
مهندسان داده باید توانایی درک مدل های مختلف قیمت گذاری و راه حل های متناسب با آنها را داشته باشند. این به معنی درک اساسی از استراتژی های فروش ، هزینه هایی است که یک شرکت متحمل می شود و نحوه پیاده سازی راه حل ها در هر دو اکوسیستم.
+ ریاضیات
برای بسیاری از مهندسان داده ، فرآیند تبدیل داده ها به داده های مارت و مجموعه داده های انتخاب شده به سادگی پیوستن به مجموعه داده های چندگانه نیست. در بسیاری از موارد ، برای محاسبه مواردی مانند مقادیر آماری مانند میانگین ، انحراف معیار و واریانس ، نیاز به تجمیع داده های منبع وجود دارد.
ریاضیات همچنین هنگام در نظر گرفتن ساختارهای مختلف داده برای ذخیره داده ها یا الگوریتم هایی برای پردازش داده ها مهم است. درک مفاهیم عملکرد ذخیره اطلاعات در یک ساختار خاص یا انجام الگوریتم های خاص در برابر یک مجموعه داده مشخص ، بسیار مهم است.
+ کیفیت متمرکز
حتی اگر خوردن و تنظیم داده های شما 100٪ بهینه و بسیار کارآمد باشد ، مهم نیست که داده ها نادرست باشند. یک مهندس داده باید بتواند بفهمد که نتیجه نهایی باید چگونه باشد و شیوه ها و ابزارهایی که اعتبار داده ها را امکان پذیر می کند.
مهندسان داده می توانند از ابزارهایی مانند Deequ و Great Expectations استفاده کنند که چارچوبی و ابزاری برای کیفیت داده ها و تشخیص داده ها ارائه می دهند. برای اطمینان از اینکه داده ها مطابق انتظار هستند ، آزمایش ها باید بر اساس داده ها نوشته شوند و از نظر گوناگونی داده ها کنترل شوند.
# نتیجه گیری
امیدواریم با این مقاله به درک بهتری از آنچه مهندس داده انجام می دهد و چگونه می توانند به سازمان شما در تصمیم گیری بهتر با داده ها کمک کنند رسیده باشید.