ETL نوعی ادغام و یکپارچه سازی دیتا است که به سه مرحله (استخراج، تبدیل و بارگذاری) برای ترکیب داده های مختلف از چندین منبع استفاده می شود. اغلب برای ساخت انبار داده ( Data Warehouse ) استفاده می شود. در طی این فرآیند، دیتا از سیستم مبدأ گرفته می شود (استخراج شدن)، به قالبی قابل تجزیه و تحلیل تبدیل می شود (تبدیل شدن) و سپس در انبار داده یا سیستم دیگری ذخیره می شود (بارگیری شدن). در واقع ETL مخفف Extract – Load – Transform می باشد که یک رویکرد جایگزین اما مرتبط برای فرستادن پروسه ها به پایگاه داده با عملکردی بهتر طراحی شده است.
تاریخچه ETL
ETL در دهه ۷۰ میلادی وقتی سازمان ها شروع به استفاده از چندین مخزن داده ( Data Repository ) یا پایگاه داده ( Database ) برای ذخیره انواع مختلف اطلاعات تجاری کردند، محبوبیت پیدا کرد. نیاز به ادغام دیتایی که در این پایگاه ها پخش شده بود به سرعت رشد کرد. ETL به یک روش استاندارد برای گرفتن داده از منابع مختلف و تبدیل آن ها قبل از بارگذاری آن ها در منبع یا مقصد مورد نظر تبدیل شد.
در اواخر دهه ۸۰ و اوایل دهه ۹۰، انبار های داده ( Data Warehouse ) بالاخره وارد صحنه شدند. انبارهای داده، نوع خاصی از پایگاه داده می باشند که دسترسی یک پارچه به دیتای چندین سیستم را مانند سیستم اصلی، مینی کامپیوتر، کامپیوتر های شخصی و صفحات گسترده (spreadsheet) فراهم می کنند. ما سازمان های مختلف اغلب از ابزارهای مختلف ETL برای استفاده از انبار های داده مختلف انتخاب می کنند. همراه با ادغام ها و مالکیت ها، بسیاری از سازمان ها با چندین راه حل مختلف، فرآیند هایی که یکپارچه نبودند را پایان دادند.
با گذر زمان، تعداد قالب های دیتا، منابع و سیستم ها بسیار گسترش یافتند. استخراج، تبدیل و بارگذاری اکنون فقط یکی از چندین روشی است که سازمان ها برای جمع آوری، وارد کردن و پردازش به دیتا هایشان استفاده می کنند. ETL و ELT (در ELT داده ها ابتدا استخراج می شود و بعد از آن بارگذاری می شوند و در نهایت تغییر شکل پیدا می کنند.این فرآیند، برای داده های بزرگ و ساختار نیافته بیشتر قابل استفاده است) هر دو بخش مهمی از استراتژی گسترده ادغام و یکپارچه سازی دیتای یک سازمان هستند.
دلیل اهمیت ETL
مشاغل سالیان زیادی است که به روند ETL متکی بوده اند تا دیدگاه تلفیقی از داده های مبتنی بر تصمیم گیری بهتر در زمینه کسب و کار خود بدست آورند. امروزه، این روش ادغام و یکپارچه سازی داده از چندین سیستم و منابع هنوز جزو اصلی، ابزار های ادغام و یکپارچه سازی دیتای یک سازمان می باشد.
هنگامی که از انبار داده های سازمانی (داده ها در حالت استراحت) استفاده می شود، ETL زمینه تاریخی عمیقی برای تجارت فراهم می کند.
- ETL با ارائه یک دیدگاه تلفیقی، تجزیه و تحلیل و ساختن گزارش مربوط به دیتا، کار را برای کاربران تجاری آسان تر می کند.
- ETL می تواند بهره وری متخصصان دیتا را بهبود بخشد، زیرا فرآیند های انتقال داده را بدون نیاز به مهارت های فنی برای نوشتن کد، کد گذاری و استفاده مجدد می کند.
- ETL برای پشتیبانی از الزامات ادغام و یکپارچه سازی دیتای نو ظهور برای مواردی مانند جریان داده (Streaming Data)، به مرور زمان پیشرفت کرده است.
- سازمان ها برای گردآوری دیتا، حفظ دقت و حسابرسی که معمولاً برای حفظ و ذخیره سازی اطلاعات، گزارش دهی و تجزیه و تحلیل مورد نیاز است، به ETL و ELT نیاز دارند.
دنیای امروزی با ETL
با سرعت داده های امروزی، می توان از طریق تجزیه و تحلیل جریان داده ها به صورت لحظه ای، آن ها را ذخیره و تحلیل کرد. این روش فرصتی را برای اقدام های فوری، بر اساس آن چه که در هر لحظه از زمان اتفاق می افتد را، فراهم می کند. اما دیدگاه تاریخی ارائه شده توسط ETL، داده ها را به طور کامل بررسی می کند. سازمان ها به نوبه خود، به مرور زمان درک کاملی از کسب و کار پیدا می کنند. در نتیجه این دو رویکرد، باید با هم کار کنند.
موفق ترین سازمان ها، استراتژی دقیق و روشنی را در اختیار خواهند داشت که ادغام و یکپارچه سازی داده ها را به عنوان زیر بنای اصلی خود برای متمایز بودن با رقیبان خود می دانند.
ETL چگونه استفاده می شود
ابزار های اصلی ETL و ELT هم زمان با سایر ابزار های ادغام و یکپارچه سازی دیتا و سایر جنبه های مختلف مدیریت داده ( Data Management ) مانند کیفیت داده ها ( Data Quality )، حاکمیت داده ها ( Data Governance )، مصور سازی و فرا داده ها ( Metadata ) کار می کنند. امروزه معروف ترین استفاده های آن شامل موارد زیر است:
ETL و کاربرد های سنتی آن
ETL یک روش اثبات شده است که بسیاری از سازمان ها هر روزه به آن اعتماد می کنند؛ مانند خرده فروشانی که باید اطلاعات فروش خود را به طور منظم ببینند، یا ارائه دهندگان خدمات بهداشتی که به دنبال روشی برای گرفتن دید کلی از وضعیت خود هستند. ETL می تواند داده های تراکنشی را از یک انبار داده یا ذخیره داده دیگری ترکیب و سطح بندی کند تا برای بازرگانان آماده و قابل درک باشد. ETL همچنین برای انتقال داده ها از سیستم های قدیمی به سیستم های مدرن با قالب های مختلف نیز استفاده می شود. این قابلیت اغلب برای تلفیق داده ها از ادغام مشاغل و جمع آوری و پیوند داده ها از تامین کنندگان یا شرکای خارجی استفاده می شود.
ETL با کلان داده ( Big Data ) و تحولات و همگام سازی ها
هر کسی که بیشترین داده را داشته باشد، همیشه برنده است! اگر چه این لزوما درست نیست، اما دسترسی آسان به دامنه گسترده ای از داده ها می تواند به کسب و کار ها مزیت رقابتی بیشتری ببخشد. امروزه، اکثریت مشاغل نیاز به دسترسی به انواع مختلف کلان داده از طریق ویدئو ها، رسانه های اجتماعی، گزارش های سرور، IoT (اینترنت اشیاء)، داده های مکانی و داده های open یا جمع سپاری و … دارند. متخصصین ETL برای پشتیبانی از این نیاز های در حال ظهور و منابع داده جدید، اغلب تغییرات جدیدی را به ابزار های خود اضافه می کنند. برای این همگام سازی ها به طیف گسترده ای از منابع دیتا دسترسی داده می شود و ابزار های ادغام و یکپارچه سازی دیتا با این همگام سازی ها تعامل دارند تا داده ها را به طور کار آمد استخراج و سپس بارگیری کنند.
ETL برای Hadoop (ابزاری برای تجزیه و تحلیل داده ها) و موارد دیگر
ETL برای پشتیبانی خیلی از مسائل بیشتری نسبت به فقط “ادغام از انبار های داده سنتی” تکامل یافته است. ابزار های پیشرفته ETL می توانند داده های ساختار یافته و یا بدون ساختار را در Hadoop بارگیری و سپس تبدیل کنند. این ابزار ها چندین فایل را به طور موازی از Hadoop می خوانند و برای خود Hadoop نیز باز نویسی می کنند و چگونگی ترکیب داده ها در یک فرآیند تبدیل مشترک را ساده می کنند. برخی از راه حل ها شامل کتابخانه های تبدیل ETL از پیش ساخته شده برای داده های تراکنشی و تعامل پذیر است که در Hadoop اجرا می شوند. ETL همچنین از ادغام در سیستم های تراکنشی، داده های ذخیره شده عملیاتی، پلتفرم های هوش تجاری، مراکز مدیریت داده اصلی (MDM) و cloud (فضای ابری) نیز پشتیبانی می کند.
ETL و دسترسی به داده های سلف سرویس
آماده سازی داده های سلف سرویس یک روند سریع در حال رشد است که قدرت “دستیابی، ترکیب و تبدیل داده ها” را به مدیران کسب و کار یا افراد غیر فنی در زمینه دیتا را می دهد. از نظر ماهیت موقت، این رویکرد در واقع چابکی سازمان را افزایش می دهد و واحد IT را از زیر بار تهیه اطلاعات در قالب های مختلف برای مدیران خلاص می کند. زمان کمتری برای تهیه اطلاعات و زمان بیشتری برای خلق بینش صرف می شود. در نتیجه، تحلیلگران کسب و کار و متخصصین IT می توانند هرکدام بهره وری خود را بهبود بخشیده و سازمان ها می توانند میزان استفاده از داده ها را برای تصمیم گیری بهتر افزایش دهند.
ETL و کیفیت داده ها ( Data Quality )
ETL و سایر ابزار های نرم افزاری ادغام و یکپارچه سازی دیتا که برای مرتب سازی، هویت سازی و چک کردن داده ها استفاده می شوند، از قابل اعتماد بودنِ داده ها اطمینان پیدا می کنند. ابزار های ETL با ابزار های کیفیت داده ادغام می شوند و متخصصین ETL ابزار های مرتبطی را در راه حل های خود مانند ابزار هایی که برای ساخت نقشه راه داده ها ( Data Mapping ) و سطربندی داده ها ( Data Lineage ) استفاده می شوند، ترکیب می کنند.
ETL و فرا داده ( Metadata )
فرا داده به ما کمک می کند تا سطربندی داده ها (این که از کجا می آیند) و تأثیر آن ها بر سایر داده های قابل استناد ( Data Asset ) در سازمان را بفهمیم. از آن جا که معماری داده ها پیچیده تر می شوند، پیگیری نحوه استفاده و ارتباط عناصر مختلف داده در سازمان شما مهم است. به عنوان مثال، اگر نام حساب Twitter را به پایگاه داده مشتری خود اضافه کنید، شما باید بدانید که چه چیز هایی تحت تأثیر قرار خواهند گرفت؛ که میتواند شامل مشاغل مرتبط به ETL، اپلیکیشن ها و یا گزارش ها باشد.
ETL به شکل خیلی نزدیکی با تعدادی دیگر از توابع، فرآیند ها و تکنیک های ادغام و یکپارچه سازی دیتا در ارتباط است. درک این موارد دید واضح تری از نحوه کار ETL فراهم می کند.
SQL | زبان کوئری ساختار یافته متداول ترین روش دسترسی و تبدیل داده ها در یک پایگاه داده است. |
تبدیل، قوانین تجاری و سازگاری ها | بعد از استخراج دیتا، ETL برای تبدیل دیتا به فرمت جدید از قوانین تجاری استفاده می کند. سپس دیتای تبدیل شده در هدف بارگذاری می شود. |
Data mapping | نقشه برداری داده ها بخشی از فرآیند تبدیل است. نقشه برداری دستورالعمل های مفصلی را در مورد نحوه بدست آوردن داده های مورد نیاز برای پردازش به اپلیکیشن ارائه می دهد. همچنین توصیف می کند که کدام یک از فیلد های مبدا به کدام قسمت مقصد، ترسیم می شود. به عنوان مثال، ویژگی سوم از فعالیت داده های وب سایت ممکن است نام کاربری باشد، ویژگی چهارم ممکن است زمان وقوع آن فعالیت باشد و پنجمی ممکن است همان محصولی باشد که کاربر روی آن کلیک کرده است. یک برنامه کاربردی یا فرآیند ETL، با استفاده از این داده ها باید همان فیلد ها یا ویژگی ها را از سیستم منبع (به عنوان مثال، فید اکتیو فعالیت وب سایت) در قالب مورد نیاز سیستم مقصد ترسیم کند. اگر سیستم مقصد یک سیستم مدیریت ارتباط با مشتری باشد، ممکن است ابتدا نام کاربر و سپس زمان فرآیند پنجم را ذخیره کند. گاهی ممکن است محصول انتخابی را به هیچ وجه ذخیره نکند. در این حالت، ممکن است در بین زمان خواندن داده ها از منبع و نوشتن آن ها در هدف، تحولی برای قالب بندی دیتا در قالب مورد انتظار (و به ترتیب صحیح) اتفاق بیفتد. |
اسکریپت ها | ETL روشی است برای خودکار کردن اسکریپت ها (مجموعه ای از دستورالعمل ها) که برای انتقال و تبدیل داده ها در پشت صحنه اجرا می شوند. قبل از ETL، اسکریپت ها به صورت جداگانه با C یا COBOL برای انتقال داده ها بین سیستم های خاص نوشته می شدند. این منجر به چندین پایگاه داده می شود که اسکریپت های زیادی را اجرا می کنند. ابزار های اولیه ETL به عنوان یک فرایند دسته ای در سیستم های اصلی اجرا می شدند. ETL بعداً به سیستم عامل های UNIX و PC مهاجرت کرد. امروزه سازمان ها هنوز هم از اسکریپت ها و هم از روش های انتقال داده پروگرم شده استفاده می کنند. |
ETL در مقابل ELT | اوایل فقط ETL وجود داشت اما بعد ها سازمان ها، روش الکترونیکی ELT را اضافه کردند. ELT داده ها را از یک سیستم منبع استخراج می کند، آن ها را در یک سیستم مقصد بارگذاری می کند و سپس از قدرت پردازش سیستم منبع برای انجام تحولات استفاده می کند. این سرعت پردازش داده ها را سرعت می بخشد زیرا این پروسه در مکانی انجام می شود که به اصطلاح می توان گفت که “دیتا در آن زندگی می کنند”. |
Data quality | قبل از یکپارچه سازی داده ها، اغلب در ابتدا یک منطقه مرحله سازی ایجاد می شود که در آن می توان داده ها را پاک کرد، مقادیر داده را استاندارد کرد ( شبیه Misterو Mr. یا Matt و Matthew)، آدرس ها را تأیید کرد و نسخه های تکراری را حذف کرد. بسیاری از راه حل ها همچنان مستقل هستند، اما روش های کیفیت داده اکنون می توانند به عنوان یکی از تحولات معرفی شده در فرآیند ادغام داده ها اجرا شوند. |
برنامه ریزی و پردازش | ابزار ها و فن آوری های ETL می توانند برنامه ریزی دسته ای یا قابلیت های real-time را ارائه دهند. آن ها همچنین می توانند داده ها را با حجم زیاد در سرور پردازش کنند، یا می توانند پردازش را تا سطح پایگاه داده کاهش دهند. این روش پردازش در یک پایگاه داده بر خلاف یک موتور تخصصی، از تکثیر داده جلوگیری می کند و از نیاز به استفاده از ظرفیت اضافی در بستر پایگاه داده جلوگیری می کند. |
پردازش دسته ای (Batch processing) | ETL معمولاً به فرآیند دسته ای انتقال حجم عظیمی از داده ها بین دو سیستم در طی آنچه که به آن ” batch window” گفته می شود، اشاره دارد. در این بازه زمانی مشخص – مثلا بین ظهر تا ۱ بعد از ظهر فرض کنید – همزمان با همگام سازی داده ها، هیچ عملی برای سیستم مبدا یا هدف نمی تواند رخ دهد. بیشتر بانک ها برای حل معاملات انجام شده در طول روز، یک فرایند دسته ای شبانه انجام می دهند. |
خدمات وب | سرویس های وب روشی مبتنی بر اینترنت برای ارائه داده یا عملکرد به برنامه های مختلف در زمان تقریباً real-time است. این روش، فرآیند ادغام داده ها را ساده می سازد و می تواند با سرعت بیشتری، ارزش بیشتری را از داده ها تحویل بگیرد. به عنوان مثال، یک مشتری را تصور کنید که با مرکز تماس شما تماس می گیرد؛ شما می توانید به سادگی با انتقال یک شماره تلفن به یک وب سرویس که داده ها را از چندین منبع یا مرکز MDM استخراج می کند، وب سرویسی ایجاد کنید که مشخصات مشتری را به صورت کامل در کثری از ثانیه بر میگرداند. با دانش غنی تر از مشتری، نماینده خدمات مشتری می تواند تصمیمات بهتری درباره نحوه تعامل با مشتریان خود بگیرد. |
مدیریت داده های کارشناسی ارشد (Master Data Management) | MDM فرآیند جمع آوری داده ها برای ایجاد یک نمای واحد از داده ها در چندین منبع است. این شامل هر دو قابلیت ETL و یکپارچه سازی داده ها برای ترکیب داده ها با هم و ایجاد “golden record” یا “best record” است. |
مصور سازی دیتا (Data virtualization) | مصور سازی در واقع یک روش چابک برای تلفیق داده ها با یکدیگر برای ایجاد نمایی مصور از داده ها بدون انتقال آن ها است. مجازی سازی داده ها با ETL متفاوت است، زیرا حتی اگر نقشه برداری و پیوستن داده ها همچنان رخ دهد، دیگر نیازی به جدول مرحله بندی فیزیکی برای ذخیره نتایج وجود ندارد. به این دلیل که این نما اغلب در حافظه ذخیره می شود و برای بهبود عملکرد به حافظه پنهان می رود. برخی از راه حل های مصور سازی داده ها، مانندSAS Federation Server، توابع پنهان سازی داده ها، تصادفی سازی و hash کردن را برای محافظت از داده های حساس از نقش ها یا گروه های خاص ارائه می دهند. SAS همچنین کیفیت داده های مورد تقاضا را هنگام تولید نما فراهم می کند. |
پردازش جریان رویداد و ETL | هنگامی که سرعت داده ها به میلیون ها رویداد در ثانیه افزایش پیدا کند، می توان از پردازش جریان رویداد برای نظارت بر جریان داده ها، پردازش جریان داده ها و کمک به تصمیم گیری به موقع تر استفاده کرد. |
2 پاسخ
ممنون میشم اگر درمورد Hadoop هم مقاله بذارید.
روزتون بخیر، در روزهای آتی در مورد Hadoop هم مقاله ای منتشر می کنیم.