ETL فرایندی است که دادهها را از سیستمهای مختلف منبع داده استخراج میکند، سپس آنها را تغییر میدهد (مانند اعمال محاسبات، الحاق ها و غیره) و در نهایت دادهها را در سیستم انبار دادهها (Data Warehouse) جهت استفاده دانشمندان داده بارگذاری میکند. روند کامل این فرایند را ETL مینامند که مخفف سه کلمه استخراج (Extract)، تبدیل (Transform) و بارگذاری (Load) است.
این باور کاملا دور از ذهن است اگر فکر کنید ایجاد یک انبار داده صرفاً استخراج اطلاعات از چندین منبع و بارگیری در پایگاه داده یک انبار داده است. این نوع تفکر به طور کامل به دور از حقیقت بوده و اصل ماجرا به یک فرآیند پیچیده ETL نیاز دارد. این روند به ورودیهای فعال ذینفعان مختلف از جمله توسعهدهندگان، تحلیلگران، آزمایشگران، مدیران ارشد نیاز دارد و از نظر فنی بسیار چالش برانگیز است.
برای اینکه این روند ارزش خود را به عنوان ابزاری برای تصمیم گیرندگان حفظ کند، در سیستم انبار داده، باید همواره با تغییرات مکرر کسب و کار پیش برود. به بیان دیگر ETL فعالیت تکراری (روزانه، هفتگی، ماهانه) یک سیستم انبار داده است و باید چابک، خودکار و مستند باشد.
چرا به ETL نیاز دارید؟
دلایل زیادی برای پذیرش ETL در سازمان وجود دارد:
- این مهم به شرکتها کمک میکند تا دادههای خود را برای تصمیمگیری مهم در مورد کسب و کار تجزیه و تحلیل کنند
- پایگاه دادههای معاملاتی نمیتوانند به سوالات پیچیده کسب و کار پاسخ دهند اما آنها توسط ETL پاسخ داده میشوند
- انبار داده یک مخزن مشترک داده را فراهم میکند
- ETL روشی را برای انتقال دادهها از منابع مختلف به انبار داده فراهم میکند
- با تغییر منابع داده، انبار داده نیز به طور خودکار به روز میشود
- سیستم ETL به خوبی طراحی شده و برای موفقیت مستند یک پروژه در انبار داده بسیار ضروری است
- تأیید قوانین تغییر داده، تجمیع و محاسبات را مجاز میکند
- فرآیند ETL امکان مقایسه نمونه دادهها بین منبع و سیستم هدف را فراهم میکند
- فرآیند ETL می تواند تحولات پیچیدهای را انجام دهد و به منطقه اضافی برای ذخیره دادهها نیاز دارد
- ETL به مهاجرت دادهها به انبار داده کمک میکند. به قالبها و انواع مختلف تبدیل میشود تا به یک سیستم سازگار پایبند باشد
- این روند یک فرایند از پیش تعیین شده برای دستیابی و دستکاری دادههای منبع به پایگاه داده هدف است
- ETL زمینه تاریخی عمیقی برای کسب و کار فراهم میکند
- به بهبود بهرهوری کمک میکند زیرا بدون نیاز به مهارتهای فنی کدگذاری و استفاده مجدد کار میکند
فرآیند ETL در انبارهای داده
ETL یک فرآیند ۳ مرحلهای است.
مرحله اول: استخراج
در این مرحله، دادهها از سیستم منبع به منطقه مرحلهبندی استخراج میشوند. در صورت وجود تغییراتی در منطقه مرحلهبندی، تغییرات انجام میشوند تا عملکرد سیستم منبع تخریب نشود. همچنین، اگر دادههای خراب مستقیماً از منبع در پایگاه داده انبار داده کپی شود، بازگشت مجدد آنها یک چالش خواهد بود. منطقه صحنهسازی، فرصتی برای اعتبارسنجی دادههای استخراج شده قبل از انتقال به انبار داده میدهد.
انبار دادهها نیاز به تلفیق سیستمهایی دارند که متفاوت هستند. مانند:
DBMS، سخت افزار، سیستم عامل و پروتکلهای ارتباطی. این منابع میتوانند شامل برنامههای قدیمی مانند Mainframes، برنامههای سفارشی، دستگاههای نقطه تماس مانند ATM، سوئیچهای تماس، پروندههای متنی، صفحات گسترده، ERP، دادههای فروشندگان و شرکای دیگر نیز باشند.
از این رو قبل از استخراج و بارگیری فیزیکی دادهها، به یک نقشه داده منطقی نیاز است. این نقشه داده رابطه بین منابع و دادههای هدف را توصیف میکند.
سه روش استخراج داده:
- استخراج کامل
- استخراج جزئی: بدون اطلاع رسانی و به روزرسانی
- استخراج جزئی: با اطلاع رسانی و به روز رسانی
صرف نظر از روش استفاده شده، استخراج نباید بر عملکرد و زمان پاسخ سیستمهای منبع تأثیر بگذارد. این سیستمهای منبع و پایگاه تولید مستقیم دادهها هستند. تاثیر منفی آن میتواند کاهش سرعت یا قفل شدن برنامه و تاخیر در نتیجه کار شرکت باشد.
برای جلوگیری از عملکرد نادرست، برخی از اعتبار سنجیها را در حین استخراج انجام دهید. به عنوان مثال:
- سوابق را با دادههای منبع ارتباط دهید
- اطمینان حاصل کنید که هیچ اطلاعات هرزنامه / ناخواسته بارگیری نشده است
- نوع داده را حتما بررسی کنید
- انواع دادههای تکراری / قطعه قطعه شده را حذف کنید
- بررسی کنید که آیا همه کلیدها در جای خود قرار دارند یا نه
مرحله دوم: تبدیل
دادههای استخراج شده از سرور منبع، خام هستند و به شکل اصلی قابل استفاده نیست. بنابراین باید تمیز، نقشه برداری و تغییر شکل یابد. در واقع، این مرحله کلیدی است که در آن فرآیند اصلی، ارزش افزوده و دادهها را تغییر میدهد به طوری که میتوان گزارشهای هوش تجاری (Business Intelligence) ایجاد میشوند.
در این مرحله، شما مجموعهای از توابع را روی دادههای استخراج شده اعمال میکنید. دادههایی که به هیچگونه تغییر و تحولی احتیاج ندارند، حرکت مستقیم یا عبور از دادهها نامیده میشوند.
در مرحله تحول، میتوانید عملیات سفارشی را روی دادهها انجام دهید. به عنوان مثال، اگر کاربر درآمد مجموع فروش خود را در بانک اطلاعاتی بخواهد. یا اگر نام و نام خانوادگی در جدول در ستونهای مختلف باشد. قبل از بارگیری میتوان آنها را بهم پیوست.
برخی از مشکلات یکپارچگی دادهها عبارتند از:
- هجیهای مختلف همان شخص مانند جون، جان و …
- چندین روش برای نشان دادن نام شرکت مانند Google، Google Inc وجود دارد
- استفاده از نامهای مختلف مانند کِلیولند، کلِولند.
- ممکن است موردی ایجاد شود که شمارههای مختلف حساب توسط برنامههای مختلف برای همان مشتری ایجاد میشود
- در برخی از دادهها، پروندههای مورد نیاز خالی هستند
- محصول نامعتبر جمع آوری شده در پایانه فروش (POS) به عنوان ورود دستی میتواند منجر به اشتباه شود
اعتبارسنجیهای مورد نظر در این مرحله
_ فیلتر کرده و فقط ستونهای خاصی را برای بارگیری انتخاب کنید
_ استفاده از قوانین و جداول جستجو برای استاندارد سازی دادهها
_ کاراکتر تنظیم، تبدیل و کدگذاری شود
_ تبدیل واحدهای اندازهگیری مانند تبدیل زمان تاریخ، تبدیل ارز، تبدیل عددی و غیره
_ بررسی اعتبار آستانه داده به عنوان مثال، سن نمیتواند بیش از دو رقم باشد
_ اعتبار سنجی جریان داده از منطقه مرحلهبندی به جداول میانی
_ قسمتهای مورد نیاز نباید خالی بمانند.
_ تمیز کردن (به عنوان مثال، نگاشت NULL به ۰ یا جنسیت مرد به “M” و زن به “F” و غیره)
_ یک ستون را به چند برابر تقسیم کنید و چندین ستون را در یک ستون ادغام کنید
_ جابجایی ردیفها و ستونها
_ برای ادغام دادهها از جستجوها استفاده کنید
_ با استفاده از اعتبار سنجی پیچیده دادهها (به عنوان مثال، اگر دو ستون اول یک ردیف خالی باشد، پردازش ردیف به طور خودکار رد میشود)
مرحله سوم: بارگذاری
مجموعه
هوش تجاری
- به روز رسانی حاکمیت داده در سازمان: از کجا شروع کنیم
- کارشناس پایگاه داده کیست و چه وظایفی دارد؟
- بررسی تفاوتهای میان داده، اطلاعات و دانش در یک نگاه
- وقتی از هوش تجاری صحبت میکنیم، از چه حرف میزنیم؟
- تبدیل داده به اطلاعات با هوش تجاری
- تجزیه و تحلیل داده (Data Analytics) چیست و چگونه انجام میشود؟
- کلان داده (Big Data) چیست؟
- تجزیه و تحلیل کلان داده (Big Data) چیست و چگونه انجام میشود؟
- مقایسه مفاهیم تحلیل داده، علوم داده و کلان داده (Big Data)
- طراحی پایگاه داده چیست و چگونه انجام میشود؟
- حاکمیت داده (Data Governance) چیست و چه اهمیتی دارد؟
- هوش تجاری (BI) چیست و چه تفاوتی با آنالیز تجاری (BA) دارد؟
- آنچه باید درباره هوش تجاری بدانیم
- هوش تجاری (BI) چطور میتواند به کسب و کار شما کمک کند؟
- معرفی ۵ کتاب برتر درباره هوش تجاری
- ۷ کلید برای یک استراتژی موفقیت آمیز در زمینه هوش تجاری
- ۹ راه عدم موفقیت هوش تجاری
- تجسم داده (Data Visualization) چیست و چرا اهمیت دارد؟
- تمیزسازی داده (Data cleaning) به چه معناست و چه اهمیتی دارد؟
- ۱۰ تکنیک اساسی تجسم داده در ایجاد گزارشهای هوش تجاری
- معرفی ۱۳ روش متداول تجسم دادهها
- تفاوت داشبورد و گزارش چیست؟
- ۱۰ اصل طراحی داشبورد هوش تجاری
- ۱۳ مثال عملی از تحلیل داده با هوش تجاری
- کاربرد هوش تجاری در صنایع مختلف
- معرفی نرم افزارهای مختلف هوش تجاری
- چگونه نرمافزار مناسب هوش تجاری را انتخاب کنیم؟
- پاور بی آی (Power BI) چیست و در هوش تجاری چه کاربردی دارد؟
- راهنمای کامل پاور بی آی (Power BI)
- ویژگیهای نرم افزار Power BI
- تفاوت پاور بی آی و اکسل
- معرفی انواع نمودارها در نرم افزار پاور بی آی (Power BI)
- راهنمای کامل معماری نرم افزار پاور بی آی (Power BI)
- راهنمای انتخاب ابزار مناسب بین پاور بی آی و اکسل
- آموزش توابع زبان DAX در هوش تجاری با پاور بی آی (Power BI)
- معرفی نرمافزار Tableau، کاربردها و محصولات آن
- هر آنچه که لازم است درباره نرمافزار QlikView بدانید
- تفاوت زبان M و DAX در نرم افزار Power BI
- مقایسه ابزار Power BI و Tableau در هوش تجاری
- آموزش Power BI Report Server
- آموزش نصب و راه اندازی Power BI Report Server
- AIOps چیست و چه ساختاری دارد؟
- مسیر شغلی در هوش تجاری
- مهندسی داده چیست؟
- تحلیلگر داده (Data Analyst) کیست و چه کاری انجام میدهد؟
- تحلیلگر هوش تجاری کیست و چگونه میتوان به یک تحلیلگر هوش تجاری تبدیل شد؟
- ۸ مهارت مهم که هر تحلیلگر داده برای موفقیت به آنها نیاز دارد
- معرفی مهمترین مدارک و گواهینامههای مورد نیاز تحلیلگر داده
- آیا داشتن مدرک SQL ضروری است؟ معرفی انواع و اهمیت مدرک SQL
- مهمترین تکنیکهای هوش تجاری
- پیاده سازی هوش تجاری در سازمانها
- نقشه راه پیاده سازی موفق استراتژی هوش تجاری در سازمان
- معرفی ۵ کاربرد ارزشمند هوش تجاری در سازمانها
- داده کاوی چیست و چه تکنیکهایی دارد؟
- همهچیز درباره علم داده و نحوه استفاده از آن
- معرفی معتبرترین مدارک و گواهینامههای علم داده
- معرفی برترین ابزار برای دادهکاوی
- دانشمند داده کیست و چه نقشی در کسب و کار دارد؟
- معرفی برترین زبانهای برنامهنویسی علم داده
- آسان ترین زبان برنامهنویسی برای یادگیری کدام است؟
- تفاوتهای اصلی در نقشهای مهندس داده و دانشمند داده
- زبان برنامهنویسی پایتون چیست و چرا باید آن را یاد بگیرید؟
- یادگیری ماشین چیست؟
- SSRS چیست و چه کاربردی در مدیریت دادهها دارد؟
- SSAS چیست و چه کاربردهایی دارد؟
- بهترین زبانها برای یادگیری ماشین (Machine Learning) کدام هستند؟
- نقشها و مسئولیتهای کلیدی در یک تیم هوش تجاری چیست؟
- تفاوت زبان پایتون (Python) و R در چیست؟
- کاربرد KPI در داشبوردهای هوش تجاری
- زبان برنامه نویسی R چیست؟
- بررسی تفاوتهای میان دادهکاوی و یادگیری ماشین در علم داده
- مروری بر نحوه یادگیری زبان R
- چگونه میتوان یک داشبورد فروش ایجاد کرد؟
- معرفی برترین ابزارهای علم داده
- پایگاه داده چیست و چه اجزایی دارد؟
- انبار داده چیست؟
- مفاهیم، معماری و اجزای انبار داده
- دانشمند داده چه تفاوتی با تحلیلگر داده دارد؟
- فرایند ETL در ایجاد انبار داده چیست؟
- مدلسازی داده چیست؟
- دریاچه داده (Data Lake) چیست و چه ساختاری دارد؟
- بهترین شیوههای طراحی پایگاه داده (Database design)
- نرمالسازی داده چیست و چگونه انجام میشود؟
- سیستمهای پشتیبانی تصمیمگیری چیست و چه کاربردهایی دارد؟
- بازار داده (Data Mart) چیست و چه تفاوتی با انبار داده دارد؟
- تحلیلهای پیشبینی کننده چیست و چگونه انجام میشود؟
- علم تصمیمگیری چیست و چگونه میتوانیم تصمیمات دادهمحور بگیریم؟
- تصمیمگیری مبتنی بر داده چیست و چه تاثیری در موفقیت کسب و کار دارد؟
- کاربرد تحلیل داده در بانکداری و شرکتهای خدمات مالی
- معماری اطلاعات (IA) چیست و چطور میتوان از آن استفاده کرد؟
- کلان داده (Big Data) و بررسی تأثیرات آن بر تجارت الکترونیک
- بانکداری باز (Open Banking) چیست و چه اصولی دارد؟