Data warehouse

ETL (Extract, Transform, Load)

ETL چیست؟

ETL فرایندی است که داده ها را از منابع مختلف اطلاعاتی استخراج می کند ، سپس بعد از انجام تغییراتی در آنها (مانند پاکسازی، طبقه بندی،خلاصه سازی، تجمیع و غیره) طی فرایند بارگذاری داده ها را به انبار داده منتقل می کند. ETL مخفف Extract، Transform و Load.

وسوسه انگیز است که فکر کنید ETL ایجاد یک انبار داده صرفاً استخراج داده ها از چندین منبع و بارگذاری در پایگاه داده یک انبار داده است. این به دور از حقیقت است و به یک روند پیچیده نیاز دارد. فرایند ETL به ورودی های فعال از طرف ذینفعان مختلف از جمله توسعه دهندگان ، تحلیلگران ، آزمایش کنندگان ، مدیران ارشد نیاز دارد و از نظر فنی پیچیده و چالش برانگیز است.

سیستم انبار داده  برای حفظ ارزش خود به عنوان ابزاری برای تصمیم گیرندگان ، باید با تغییر در كسب و كار تغییر یابد. ETL یک فعالیت مکرر (روزانه ، هفتگی ، ماهانه) یک سیستم انبار داده است و باید چابک ، خودکار باشد.

در این  مقاله موضوعات زیر را می آموزیم:

  •  ETL چیست؟
  •  چرا به ETL احتیاج دارید؟
  •  فرآیند ETL در انبارهای داده
  •  مرحله 1) استخراج  Extract
  •  مرحله 2) تبدیل   Transform
  •  مرحله 3) بارگذاری  Load 
  •  ابزار ETL
  •  بهترین روشهای ETL
  • چرا به ETL احتیاج دارید؟

دلایل زیادی برای استفاده از ETL در سازمان وجود دارد:

  • به شرکتها کمک می کند تا با تجزیه و تحلیل داده های کسب وکار، در تصمیم گیری های مهم و استراتژیک خود اثرگذار باشند.
  • بانکهای اطلاعاتی تراکنشی نمی توانند به سؤالات پیچیده کسب وکار که توسط ETL پاسخ داده می شود پاسخ دهند.
  • یک انبار داده یک مخزن گسترده از تمامی داده ها را ارائه می دهد
  • ETL روشی را برای انتقال داده ها از منابع مختلف به انبار داده فراهم می کند.
  • با تغییر منابع داده ، انبار داده به طور خودکار بروزرسانی می شود.
  • برای موفقیت یک پروژه داده انبار  نیاز است که سیستم ETL به خوبی طراحی شده مستند سازی شود.
  • ETL به ما این امکان را می دهد که بتوانیم تبدیل ، تجمیع و محاسبات لازم را به صورت پارامتریک و انعطاف پذیر طراحی کنیم.
  • فرآیند ETL امکان  مقایسه داده های نمونه بین منابع داده ای مبدا  و سیستم هدف (انبار داده) را فراهم می کند.
  • فرآیند ETL می تواند تبدیلات پیچیده ای را انجام دهد و به همین دلیل به فضای اضافی برای ذخیره داده نیاز دارد.
  • ETL برای انتقال اطلاعات به انبار داده ،تبدیل های مختلف ساختاری و فرمتی روی داده ها انجام می دهد.
  • ETL یک فرایند از پیش تعریف شده برای دسترسی و دستکاری داده های منبع به پایگاه داده هدف است.
  • ETL امکان نگهداشت تاریحچه داده های در کسب و کار را فراهم می کند.
  • به بهبود بهره وری کمک می کند زیرا بدون نیاز به مهارت های فنی امکان استفاده مجدد را فراهم می کند.

فرآیند ETL در انبارهای داده

ETL یک فرایند 3 مرحله ای است

فرایند ETL

مرحله 1) استخراج

در این مرحله ، داده ها از سیستم منبع به ناحیه میانی  استخراج می شوند. تبدیلات در صورت وجود در ناحیه میانی  انجام می شود به گونه ای که عملکرد سیستم منبع مختل نشود. همچنین ، اگر داده های خراب شده مستقیماً از مبدأ در پایگاه داده انبار داده کپی شوند ، برگشت دوباره یک چالش خواهد بود. ناحیه میانی  فرصتی برای اعتبارسنجی داده های استخراج شده قبل از انتقال به انبار داده می دهد.

انبار داده ها نیاز به ادغام سیستم هایی دارد که متفاوت هستند. مانند سیستم های مدیریت بانک اطلاعاتی رابطه ای ، سخت افزار ، سیستم عامل و پروتکل های ارتباطی گوناگون. این منابع می تواند شامل برنامه های قدیمی مانند Mainframes ، برنامه های سفارشی شده ، سیستم های ارتباط با دستگاه هایی مانند ATM ، سوئیچ های شبکه ، فایل های متنی ، صفحه گسترده ، ERP ، داده های فروشندگان ، شرکای دیگر باشد.

از این رو قبل از استخراج و بارگذاری فیزیکی ، نیاز به یک نقشه راه  منطقی است. این نقشه راه  رابطه بین داده هادر منابع و داده های هدف را توصیف می کند.

روش های استخراج داده:

1. استخراج کامل

2. استخراج جزئی- بدون اطلاع رسانی به روزرسانی.

3. استخراج جزئی- با اطلاع رسانی به روزرسانی

صرف نظر از روش مورد استفاده ، استخراج نباید بر عملکرد و زمان پاسخ سیستم های منبع تأثیر بگذارد. این سیستم های منبع ، پایگاه داده عملیاتی سازمان ها  هستند. هرگونه اختلال ، کندی یا قفل شدن آنها  می تواند عملیات اصلی شرکت را تحت تأثیر قرار دهد.

برخی از اعتبارسنجی ها  که در طول استخراج انجام می شوند:

• تطبیق داده های جمع آوری شده با داده های منابع اصلی.

• اطمینان حاصل کنید که هیچ داده ناخواسته بارگذاری نشده است

• بررسی نوع داده

• انواع داده های تکراری را حذف کنید

• بررسی کنید که آیا همه کلیدها در جای خود هستند یا خیر.

مرحله 2) تبدیل

داده های استخراج شده از منابع اطلاعاتی مبدا خام هستند و به شکل اصلی قابل استفاده نیستند. بنابراین باید پاکسازی ، طبقه بندی و تبدیل شوند. در حقیقت ، این یک مرحله کلیدی است که در آن فرآیند ETL ارزش افزوده  داده ها را افزایش داده  و داده ها را تغییر می دهد به گونه ای که می توان با استفاده از آنها گزارش های تحلیلی با قابلیت ایجاد بینش در BI ایجاد کرد.

در این مرحله مجموعه ای از توابع را روی داده های استخراج شده اعمال می کنید. داده هایی که نیازی به تغییر و تبدیل ندارند به عنوان انتقال مستقیم یا عبور داده ها نامیده می شوند.

در مرحله تبدیل ، می توانید عملیات سفارشی شده روی داده ها را انجام دهید. به عنوان مثال ، اگر کاربر درآمد حاصل از فروش را بخواهد که در دیتابیس موجود نباشد. یا اگر نام و نام خانوادگی در یک جدول در ستونهای مختلف باشد. قبل از بارگذاری می توانید آنها تولید کنید.

تبدیل داده

در زیر به برخی از مشکلات یکپارچگی داده ها اشاره می کنیم:

1. نوشتار مختلف یک عنوان مانند نام یک شخص مثلJon, John و غیره.

2. روش های مختلفی برای بیان نام شرکتها مانند Google ، Google Inc. وجود دارد.

3. استفاده از اسامی مختلف مانند Cleaveland ، Cleveland.

4- ممکن است یک مورد وجود داشته باشد که شماره های حساب های مختلف توسط برنامه های مختلف برای یک مشتری مشابه ایجاد می شود.

5- در برخی جداول برخی از ستون ها خالی باقی مانده باشد.

6. نام یک محصول نامعتبر که در POS به صورت دستی وارد می شود می تواند منجر به اشتباه شود.

اعتبارسنجی ها در این مرحله انجام می شود

  • فیلتر – فقط ستون های خاصی برای بارگذاری انتخاب کنید.
  • استفاده از قوانین و جداول جستجو برای استانداردسازی داده ها.
  • کاراکتر تنظیم تبدیل و رمزگذاری را تنظیم کنید.
  • تبدیل واحدهای اندازه گیری مانند تبدیل تاریخ ، تبدیل ارز ، تبدیل عددی و غیره.
  • بررسی اعتبار سنجی آستانه داده ها. به عنوان مثال ، سن نمی تواند بیش از دو رقم باشد.
  • اعتبارسنجی جریان داده ها در ناحیه میانی.
  • فیلد ها موردنیاز نباید خالی بمانند.
  • تمیز کردن (به عنوان مثال ، نگاشت NULL به 0 یا جنسیت آقا به “M” و خانم به “F” و غیره).
  • تقسیم یک ستون به چند ستون. آدرس به کشور،استان،شهر .
  • ادغام چندین ستون و ایجاد یک ستون.نام و نام خانوادگی به نام کامل.
  • جابجایی ردیف ها و ستون ها ، Pivot,Unpivot.
  • از lookup برای خلاصه سازی داده ها استفاده کنید.
  • استفاده از اعتبارسنجی هایپیچیده تر (به عنوان مثال ، اگر دو ستون اول در یک ردیف خالی باشد ، به طور خودکار ردیف را از پردازش حذف شود)

مرحله 3) بارگذاری

بارگذاری داده ها در پایگاه داده هدف یا همان مخزن داده ، آخرین مرحله از فرایند ETL است. در یک انبار داده معمولی ، حجم عظیمی از داده ها باید در یک دوره نسبتاً کوتاه (مثلا شب ) بارگذاری شوند. از این رو فرآیند بارگذاری باید  برای  کار با سرعت و عملکرد  بالا  بهینه شود.

در صورت خرابی بارگذاری ، مکانیزم های بازیابی باید پیکربندی شوند که از نقطه خرابی بدون از بین رفتن تمامیت داده مجدداً شروع به کار کنند. مدیر انبار داده باید به موضوعاتی از قبیل  از اجرای مجدد فرایند ، لغو بارگذاری وعملکرد آن نظارت کند.

انواع بارگذاری:

 بارگذاری اولیه – جمع آوری تمام جداول داده انبار

 بارگذاری افزایشی – اعمال تغییرات جاری در صورت نیاز به صورت دوره ای.

 بروزرسانی کامل – پاک کردن کامل داده های یک یا چند جدول و بارگذاری مجدد داده ها در آنها

تأیید بارگذاری

 اطمینان حاصل کنید که داده های فیلد های کلیدی از بین رفته یا خالی نباشد.

 تست داده های بارگذاری شده  بر اساس جداول هدف.

 بررسی صحت مقادیر ترکیبی و اندازههای محاسبه شده

 بررسی داده ها در جدول ابعاد Dim و همچنین جداول اطلاعات تاریخی.

 صحت سنجی گزارشات BI بر اساس داده های بار گذاری شده در جداول Dim ,Fact.

ابزارهای ETL

بسیاری از ابزارهای ذخیره سازی داده در بازار موجود است. در اینجا ، برجسته ترین موارد زیر ذکر شده است:

SQL Server Integration Service (SSIS):

SSIS یک پکیج کامل از یک ابزار ETL در اختیارمان قرار می دهد که می تواند به منابع داده ای مختلف متصل شده و داده ها را از آنها دریافت کند،همچنین می تواند تبدیلات مختلفی حتی تبدیلات فازی را روی داده ها اعمال و در پایان قابلیت بارگذاری داده در انباره داده ایجاد شده در سیستم های مختلفی مانند SQL Server, Oracle, MySQL, و غیره را داراست

MarkLogic:

MarkLogic یک راه حل ذخیره سازی داده ها است که با استفاده از مجموعه ای از ویژگی های سازمانی ، ادغام داده ها را آسان تر و سریع تر می کند. این ابزار می تواند روی انواع مختلف داده ها مانند اسناد ، روابط و متا دیتا  پرس و جو  ها را اجرا کند.

اوراکل:

اوراکل پایگاه داده پیشرو در صنعت است. و طیف گسترده ای از راهکار های انبار داده را هم به صورت محلی و هم به صورت راهکار ابری ارائه می دهد.

 Amazon RedShift:

Amazon Redshift ابزار انبار داده است. این یک ابزار ساده و مقرون به صرفه برای تجزیه و تحلیل انواع داده ها با استفاده از SQL استاندارد و ابزارهای موجود است.

خلاصه:

• ETL مخفف Extract ، Transform و Load است.

• ETL روشی را برای انتقال داده ها از منابع مختلف به انبار داده فراهم می کند.

• در مرحله اول استخراج ، داده ها از سیستم منبع به ناحیه میانی استخراج می شوند.

• در مرحله تبدیل ، داده های استخراج شده از منبع پاکسازی و تبدیل می شوند.

• بارگذاری داده ها در انبار داده هدف آخرین مرحله از روند ETL است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن