etl چیست؟ با فرآیند یکپارچه سازی دادهها آشنا شویم
معمولا در همه سازمانها حجم زیادی از دادههای غیر قابل دسترس وجود دارد که به دلیل حبس شدن در سیستمهای قدیمی، یا مورد استفاده قرار نمیگیرند و یا به ندرت استفاده میشوند.
فرآیند etl ، این دادهها را به جریان میاندازد و با استخراج آنها از منابع مختلف، اطلاعات را سازماندهی و در یک انبار داده ذخیره میکند. همراه ما باشید تا بیشتر توضیح دهیم که etl چیست و چه کاربردی دارد.
etl چیست؟
ETL، مخفف 3 کلمه Extract (استخراج)، Transform (تبدیل) و Load (بارگذاری) و به معنی نوعی فرآیند یکپارچه سازی داده است که بر اساس 3 فرآیند (استخراج، تبدیل و بارگذاری) انجام میشود و برای ترکیب دادهها از منابع مختلف استفاده میکند. در طی این فرآیند، دادهها و اطلاعات از یک سیستم منبع گرفته میشوند، به یک فرم قابل تجزیه و تحلیل تبدیل و در یک انبار داده یا سیستمهای دیگر ذخیره میشوند.
حتما به خاطر دارید که در مطالب گذشته راجع به هوش تجاری صحبت کردهایم. در واقع، سیستم ETL، روند به جریان انداختن دادهها با استخراج آنها از منابع دادهای مختلف، پاکسازی و تبدیل اطلاعات به فرمت مورد نیاز و در نهایت ایجاد ساختار مناسب برای پیاده سازی هوش تجاری است. این فرآیند خودکار، به صورت روزانه، هفتگی یا ماهانه تکرار میشود.
فرآیند etl در انبار داده
اکنون میدانیم etl چیست، اما همان طور که اشاره کردیم، etl یک فرآیند 3 مرحلهای است:
مرحله1
Extraction
در نخستین مرحله، دادهها از منابع مختلف استخراج و در Staging Area ذخیره میشوند. به این ترتیب، عملکرد منابع اصلی داده در حین تبدیل، تحت تاثیر قرار نمیگیرد. علاوه بر این، اطلاعات زائد و ناکارآمد نیز به طور مستقیم به انبار داده منتقل نمیشود. این مرحله به شما فرصت میدهد تا ضمن اعتبار سنجی دادهها، از صحت آنها مطمئن شوید. به خاطر داشته باشید که دادههای استخراج شده از منابع مختلف باید در انبار داده یکپارچه شوند.
مطلب انبار داده چیست و چه کاربردی دارد را بخوانید تا به طور کامل با این مفهوم آشنا شوید.
در این مرحله، دادهها از منابع مختلف مانند csv، Oracle ، SQL Server، صفحات وب، CRM، ERP و همچنین اطلاعات فروشنده، شرکای تجاری و سایر منابع دادهای، در یک انبار داده واحد، جمع آوری میشوند. قبل از استخراج و بارگذاری فیزیکی دادهها، به یک نقشه منطقی (Logical Data Map) جهت توصیف روابط بین دادهها، مقصد آنها و منابع مختلف دادهای نیاز خواهید داشت. اکنون دادههای غیر ضروری و تکراری، شناسایی و حذف میشوند. علاوه بر این، نوع داده (Data Type) نیز در این مرحله مورد بررسی و اصلاح قرار میگیرد.
3 روش استخراج داده عبارت است از:
- استخراج کامل
- استخراج جزئی: بدون اطلاع رسانی و به روز رسانی
- استخراج جزئی: با اطلاع رسانی و به روز رسانی
صرف نظر از روشی که انتخاب کردهاید، فرآیند استخراج، نباید بر عملکرد و زمان پاسخ سیستمهای منبع تاثیر بگذارد. از آنجا که این سیستمهای منبع، پایگاه تولید مستقیم دادهها هستند، تاثیر منفی آنها میتواند کاهش سرعت، قفل شدن برنامه و تاخیر در فعالیتها را به دنبال داشته باشد.
برای جلوگیری از عملکرد نادرست، بهتر است برخی اعتبار سنجیها را در زمان استخراج انجام دهید. مثلا میتوانید:
- نوع داده را بررسی کنید
- دادههای تکراری و تکه تکه شده را حذف کنید
- بین سوابق و دادههای منبع ارتباط ایجاد کنید و…
- مطمئن شوید که هیچ کدام از اطلاعات غیر ضروری را ناخواسته بارگیری نکردهاید و…
مرحله2
Transformation
دادههای به دست آمده در مرحله قبل، به صورت خام هستند و قابلیت تحلیل و استفاده ندارند. بنابراین باید پاکسازی شده و به فرمت مورد نیاز تبدیل شوند. این مرحله کلید فرآیند etl به شمار میرود که طی آن دادههای خام برای تحلیل و ساخت گزارشهای تحلیلی و پیاده سازی سیستم هوش تجاری، به دادههای ارزشمند و قابل استفاده تبدیل میشوند.
در این مرحله، ممکن است به علت اشتباه کاربر، دادههای یکسان با نوشتار متفاوت و یا نامهای متفاوت در پایگاه داده درج شده باشد (مانند: مدرک لیسانس/ مدرک کارشناسی). این موارد باید شناسایی، استاندارد سازی و یکسان سازی شوند.
همچنین، لازم است ستونهای مورد نیاز برای بارگذاری مشخص شوند و از بارگذاری ستونهای غیر ضروری مانند شماره تماس، ایمیل و به طور کلی ویژگیهایی که تاثیری در تحلیل ندارند، پرهیز کرد.
در این مرحله، برای استاندارد سازی مقادیر باید از قوانین و جداول کمکی استفاده کنید. تبدیل واحدها به یکدیگر نیز در این مرحله صورت میگیرد. به طور مثال، ممکن است در جایی میزان فروش را با وحد دلار ثبت کرده باشید و در جای دیگر با واحد ریال. در این صورت لازم است استاندارد سازی و یکسان سازی انجام شود.
علاوه بر این، نیاز به ادغام یا جدا سازی ستونها و بررسی صحت و اعتبار دادهها هم در اینجا انجام میشود. مثلا کد ملی نباید بیشتر یا کمتر از 10 رقم باشد.
مرحله3
Loading
آخرین مرحله در فرآیند etl ، بارگذاری دادهها در انبار داده است. از آنجا که حجم زیادی از دادهها، باید در مدت کوتاهی در یک انبار داده بارگذاری شوند، توجه به بهینه سازی عملکرد بسیار ضروری است.
همچنین احتمال دارد فرآیند بارگذاری دادهها در زمان اجرا، با شکست وربرو شده و متوقف شود. اینجا لازم است اقدامات لازم جهت جلوگیری از عدم یکپارچگی، تکرار یا از بین رفتن دادهها انجام شود. پس باید استراتژیهای لازم برای مواجه شدن با این اتفاقات به خوبی برنامه ریزی شده باشد.
همچنین ممکن است فرآیند بارگذاری داده در حین اجرا با شکست مواجه شده و متوقف شود. عمل ریکاوری باید دقیقا از نقطه توقف صورت پذیرد و اعمال لازم جهت جلوگیری از عدم یکپارچگی و تکرار یا از بین رفتن داده ها صورت پذیرد. در این مرحله باید استراتژی های لازم برای مواجهه با این گونه اتفاقات برای برنامه ریزی شود.
ارتباط آسان، مکانیزه و کم هزینه با پورتال سازمانی راهبران
Loading به 2 دسته تقسیم میشود:
- Full Load
در این روش بارگذاری، کلیه دادهها از انبار داده حذف میشود و مجددا عمل بارگذاری از اول انجام میشود. این روش معمولا برای بارگذاری اولیه جداول انبار داده مورد استفاده قرار میگیرد.
- Incremental Load
در این نوع بارگذاری، تنها تغییرات اعمال شده در پایگاه داده به انبار داده انتقال پیدا میکند. به بیان دیگر، وقتی فرآیند etl اجرا میشود، دادههای جدید و تغییر یافته Etl در انبار داده وارد میشود.
ابزارهای etl چیست؟
اما etl از چه ابزارهایی استفاده میکند؟ همان طور که گفتیم، ابزار etl ، فرآیند استخراج، تبدیل و بارگذاری را به صورت خودکار درمیآورند. همچنین، دادهها را از منابع داده یا پایگاههای داده چندگانه یکپارچه سازی میکنند. ممکن است این ابزارها دارای پروفایل داده، امکان پاکسازی داده و قابلیت نوشتن فرا داده باشد. به خاطر داشته باشید که یک ابزار باید امن، آسان برای استفاده و نگهداری و با تمام راه حلهای موجود در سازمان هماهنگ و سازگار باشد.
برای etl و ساخت انبار داده، ابزارهای زیادی وجود دارد. در ادامه به تعدادی از مهمترین این ابزارها اشاره میکنیم:
- Informatica – PowerCenter
- IBM – Infosphere Information Server
- Oracle Data Integrator(ODI)
- Microsoft – SQL Server Integration Services (SSIS)
- Talend – Talend Open Studio for Data Integration
- Pentaho Data Integration
- SAS – Data Integration Studio
- SAP – BusinessObjects Data Integrator
با نرم افزار BPMS راهبران، فرآیندهای خود را سریع و دقیق، در یک ساختار منسجم و یکپارچه پیاده کنید.
فرآیند etl چگونه کار میکند؟
تا اینجا دانستیم etl چیست و چه ابزارهایی دارد، در این بخش راجع به نحوه عملکرد این سیستم صحبت میکنیم.
etl با مفاهیمی مانند توابع، فرآیندها و تکنیکهای یکپارچه سازی اطلاعات در ارتباط است. بررسی و درک این مفاهیم، به شما کمک میکند نسبت به نحوه عملکرد etl ، دید واضحتری پیدا کنید.
ایجاد ETL با پردازش دستهای
در این مدل، پردازش و انتقال، به صورت دستهای از منابع پایگاه داده به منابع انبار داده صورت میگیرد. برای ساخت etl با روش پردازش هستهای، باید به ترتیب زیر عمل کنید:
مجموعهای از دادههای مرجع را ایجاد کنید. این دادهها، مجموعهای از مقادیر مجاز را تعریف میکند و ممکن است اطلاعات شما را نیز شامل شود.
استخراج از منابع دادهای
در مرحله بعد باید سعی کنید استخراج دادهها را به صورت درست انجام دهید. استخراج کامل و درست، دادهها را به یک فرمت واحد تبدیل میکند، به این ترتیب میتوانید مطمئن باشید که عملیات پردازش کاملا استاندارد است. بیشتر سیستمهای etl ترکیب دادهها از منابع دادهای مختلف هستند که هر کدام منابع، سازماندهی و فرمت خاص خود را دارند. این موارد شامل: پایگاه دادههای رابطهای، پایگاه دادههای غیر رابطهای، XML، CSV، JSON و… است.
اعتبار سنجی دادهها
سنجش اعتبار دادهها به صورت خودکار انجام میشود و مشخص میکند آیا دادههای استخراج شده از منابع دادهای مختلف، مقادیر مورد انتظار را دارند یا خیر.
تبدیل دادهها
مواردی مانند: حذف اطلاعات غلط و اضافی، اعمال قوانین کسب و کار، بررسی یکپارچگی دادهها و… در این مرحله انجام میشود.
نمایش دادهها در پایگاه داده
در مرحله بعد، دادهها باید به یک پایگاه اطلاعاتی متصل شده و در معرض نمایش قرار گیرند. در این صورت اگر چیزی اشتباه باشد، برگشت به عقب (roll back) راحتتر است. سپس اطلاعات، به انبار دادههای هدف منتقل میشوند.
انتشار دادهها در انبار داده
حالا باید دادهها را در جداول هدف بارگذاری کنید. بعضی از انبارهای داده، هر زمان که etl یک دسته جدید بارگذاری کند، اطلاعات موجود را به صورت روزانه، هفتگی یا ماهانه، بازنویسی میکند. در موارد دیگر، etl میتواند دادههای جدید را بدون تغییر مجدد و تنها با نشانه گذاری بر روی آنها، اضافه کند.
اگر برای انجام این کار دقت کافی نداشته باشید، انبار داده به علت کمبود فضای دیسک و محدودیتهای عملکرد، منفجر خواهد شد.
چرا etl مهم است؟
اما اهمیت etl چیست، در ادامه دلایل اهمیت etl را بیان میکنیم:
- مدتهاست کسب و کارها برای به دست آوردن یک دیدگاه تلفیقی از دادهها و گرفتن تصمیمات تجاری بهتر، به فرآیند etl تکیه کردهاند.
- هنگامی که سیستم etl با یک انبار داده سازمانی مورد استفاده قرار گیرد، زمینه تاریخی عمیقی برای کسب و کارها فراهم میکند.
- etl با ارائه یک نمای تلفیقی، تجزیه و تحلیل و گزارش دادههای مرتبط با ابتکارات خود را برای کاربران تجاری آسانتر میکند.
- فرآیند etl ، بهره وری متخصصان داده را بهبود میبخشد. به این صورت که فرآیندهایی که دادهها را بدون نیاز به مهارتهای فنی برای نوشتن کد منتقل میکنند، کدگذاری کرده و مجددا مورد استفاده قرار میدهد.
- سیستم etl ، در طول زمان جهت پشتیبانی از الزامات یکپارچه سازی در حال ظهور، برای مواردی مانند جریان داده، تکامل پیدا کرده است.
- سازمانها به etl نیاز دارند تا بتوانند دادهها را با دقت لازم جمع آوری کنند و حسابرسیهایی که برای انبار کردن دادهها، گزارش دهی و تجزیه و تحلیل آنها مورد نیاز است، فراهم کنند.
هدف etl چیست؟
اکنون میدانیم etl چیست و چرا مهم است، اما راجع به هدف آن، باید بگوییم این فرآیند، به کسب و کارها امکان میدهد تا دادهها را از چندین پایگاه داده در یک مخزن واحد با دادهها و اطلاعاتی که به درستی قالب بندی شدهاند و برای تجزیه و تحلیل مناسب هستند، ادغام کنند. این مخزن داده یکپارچه، برای تجزیه و تحلیل و پردازشهای اضافی، دسترسیهای لازم را فراهم میکند. علاوه بر این، به شما تضمین میدهد که همه دادههای سازمانی، سازگار، هماهنگ و به روز هستند.
و در انتها…
همان طور که گفتیم، سیستم etl به سازمانها کمک میکند تا تمامی دادههای خود را در یک انبار داده واحد جمع آوری کرده و بر اساس تحلیل آنها تصمیم گیری کنند. در واقع، از آنجا که تحلیل و تصمیم گیری، بدون استفاده از تمامی دادههای موجود در سازمان، به نتایج مطلوبی نمیرسد، دادههای گرفتار در سیستمهای قدیمی یا بی استفاده نیز با فرآیند etl به جریان افتاده و وارد فرآیند تحلیل میشوند.