برای درک مهندسی دادهها در امروز و آینده، باید به سیر تکامل این حوزه نگاهی بیندازیم. این مقاله از این سری مقالات یک درس تاریخی نیست، بلکه با نگاه به گذشته، میتوانیم درک بهتری از جایگاه فعلی مهندسی دادهها و مسیر پیشروی آن پیدا کنیم. یک الگوی مشترک در این مسیر همواره تکرار شده است، برای درک بهتز تحول مهندسی داده بهتر است اول مقاله ی مهندسی داده چیست؟ را مطلاعه کنید.
- تاریخ تکرار نمیشود، ولی دوباره اتفاقی مشابه با آن رخ می دهد.
تحول مهندسی داده در روزهای اولیه: 1980 تا 2000، از انبار دادهها تا وب
ظهور مهندس دادهها به طور غیررسمی به انبار دادهها (Data Warehousing) برمیگردد که ریشههای آن به دهه 1970 باز میگردد. در دهه 1980، انبار دادههای تجاری شکل گرفت و در سال 1989، بیل اینمن اصطلاح «انبار داده» را رسماً معرفی کرد. مهندسان IBM با توسعه پایگاهدادههای رابطهای و زبان SQL، این فناوری را گسترش دادند و شرکت اوراکل آن را در سطح وسیعتری معرفی کرد. با گسترش سیستمهای دادهای اولیه، کسبوکارها به ابزارها و خط لولههای داده (Data Pipelines) اختصاصی برای گزارشگیری و هوش تجاری (BI) نیاز داشتند.
انبار دادهها اولین دوران تحلیلهای مقیاسپذیر را به ارمغان آوردند و بانکهای دادهای که از پردازش موازی گسترده (MPP) استفاده میکردند، حجم عظیمی از دادهها را پردازش میکردند. نقشهایی مانند مهندس BI، توسعهدهنده ETL و مهندس انبار داده به نیازهای مختلف انبار داده پاسخ میدادند. مهندسی انبار داده و BI پیشدرآمدی بر مهندسی دادههای امروزی بود و همچنان نقش مهمی در این حوزه ایفا میکند.
با ظهور اینترنت در دهه 1990، شرکتهای جدیدی مانند AOL،Yahoo و Amazon شروع به فعالیت کردند. رشد شدید در برنامههای وب و سیستمهای پشتیبانی آنها باعث شد تا بسیاری از ابزارها و زیرساختها گران و پیچیده باشند. بسیاری از فروشندگان زیرساختهای این سیستمها قادر به پیشبینی مقیاس عظیم دادههایی که برنامههای وب تولید خواهند کرد، نبودند.
دهه 2000: تولد مهندسی داده معاصر
در اوایل دهه 2000، پس از سقوط حباب dot-com در اواخر دهه 1990، برخی از شرکتها مانند Yahoo،Google و Amazon رشد زیادی کردند. این شرکتها به طور اولیه از پایگاهدادههای رابطهای سنتی و انبار دادههای دهه 1990 استفاده میکردند، اما با رشد دادهها، این سیستمها به مرز خود رسیدند. بنابراین نیاز به رویکردهای جدیدی برای مقابله با رشد دادهها و مقیاسپذیری به وجود آمد.
در همین زمان، سختافزارهای عمومی مانند سرورها،RAM و دیسکها ارزان و فراگیر شدند و چندین نوآوری، محاسبات و ذخیرهسازی توزیعشده را در مقیاس وسیع ممکن ساخت. این نوآوریها شروع به تجزیه و تقسیم خدمات سنتی و یکپارچه کردند و دوران «دادههای کلان» آغاز شد.
در سال 2003، گوگل مقالهای در مورد فایل سیستم گوگل منتشر کرد و در سال 2004 مقالهای در مورد MapReduce به عنوان یک الگوی پردازش داده فوق مقیاسپذیر منتشر کرد. این مقالات نقطه عطفی در توسعه فناوریهای داده بودند و ریشههای فرهنگی مهندسی دادهها را شکل دادند.
این مقالات باعث شدند مهندسان Yahoo پروژه Apache Hadoop را در سال 2006 آغاز کنند. Hadoop به سرعت در دنیای مهندسان نرمافزار و شرکتهای مختلف رشد کرد. همزمان با این تحولات، Amazon نیز برای برآورده ساختن نیازهای دادهای خود، سرویسهای محاسباتی مقیاسپذیر مانند Amazon EC2 و Amazon S3 را راهاندازی کرد. این تحولات به رشد AWS و ایجاد ابر عمومی (Public Cloud) کمک کرد که به تحولی عظیم در نحوه توسعه و استقرار نرمافزارها و برنامههای دادهای انجامید.
دهه 2000 و 2010: تحول مهندسی داده در سطح داده های کلان
ابزارهای داده کلان متنباز به سرعت بالغ شدند و از سیلیکون ولی به شرکتهای سراسر جهان گسترش یافتند. برای اولین بار، هر شرکتی میتوانست از همان ابزارهای پیشرفتهای استفاده کند که شرکتهای بزرگ تکنولوژی از آن بهره میبردند. این دوران با انتقال از محاسبات دستهای به استریمینگ رویدادی همراه بود که دادههای «لحظهای» و «در زمان واقعی» را به وجود آورد.
مهندسان از ابزارهای مختلفی مانند Hadoop، Apache Pig، Apache Hive، Apache Spark و ... برای پردازش دادههای بزرگ استفاده میکردند. این تغییرات موجب شد تا مهندسان دادهها به مهندسان دادههای کلان تبدیل شوند. آنها به منظور استفاده موثر از این ابزارها باید در توسعه نرمافزار و مدیریت زیرساختهای سطح پایین مهارت داشتند. به عبارت دیگر، آنها مسئول نگهداری خوشههای عظیم سختافزاری بودند که دادهها را به مقیاس بزرگ انتقال میدادند.
با این حال، دادههای کلان به دلیل محبوبیت زیاد و استفادههای غیرضروری در برخی از شرکتها به یک مفهوم شکستخورده تبدیل شدند. این اتفاق به دلیل پیچیدگیهای زیاد ابزارها و نگهداری آنها رخ داد. بنابراین، محققان و توسعهدهندگان به دنبال سادهسازی و کاهش هزینههای نگهداری این ابزارها بودند. به این ترتیب، اصطلاح «دادههای کلان» دیگر مفهومی نداشت و به جای آن، مهندسی دادهها به طور کلی مطرح شد.
تحول مهندسی داده در دهه 2020: مهندسی برای چرخه حیات دادهها
در دهه 2020، نقش مهندسی دادهها به سرعت در حال تکامل است. ابزارها و تکنیکها به شدت توسعه یافته و به سمت استفاده از ابزارهای مدیریتی و انتزاعی میروند. این تحول منجر به ظهور مفهومی جدید به نام «مهندس چرخه حیات دادههاَ» یا Data Engineering Life Cycle شده است. در این رویکرد، مهندسین داده دیگر به جزئیات فنی پیچیده سیستمهای قدیمی توجه ندارند و بیشتر بر جنبههای بالاتری در نظام ارزشی داده مانند Security، Architecture، Orchestration و مدیریت چرخه حیات داده تمرکز میکنند.
ابزارها و روندهای جدید در دهه 2020 به مهندسان داده این امکان را میدهند تا بدون نگرانیهای روزمره در مورد نگهداری زیرساختها، به بهبود کیفیت دادهها، مدیریت حریم خصوصی و انطباق با مقررات مانند CCPA و GDPR بپردازند.
مهندسی دادهها از روزهای ابتدایی خود تا امروز مسیر طولانی و پیچیدهای را طی کرده است. از انبار دادهها و پردازشهای موازی گرفته تا ظهور دادههای کلان و ابر عمومی، این حوزه همواره در حال تحول بوده است. اکنون، با ابزارهای پیشرفته و مدیریت سادهتر، مهندسان داده قادر به تمرکز بر مسائل مهمتری چون مدیریت دادهها و حریم خصوصی هستند. این تحول در مهندسی دادهها، راه را برای پیشرفتهای بیشتر در آینده هموار میکند. حال که با تحول مهندسی داده در طول تاریخ آشنا شدید، می توانید از دیگر مقالات سایت Evolearn | ایوولرن دیدن کنید.