L مخفف Extract Transform and Load است که به معنای استخراج، پالایش و بارگذاری اطلاعات میباشد. از ETL در زمان ساخت انبار دادهها (Data Warehouse) استفاده میشود. فرایندی که به موجب آن اطلاعات از یک یا چند منبع مختلف جمع آوری، پالایش و در نهایت در انبار داده بارگذاری میشود.
نمیتوان ETL و Data Warehouse را از یکدیگر جدا کرد. در واقع با انجام ETL، تحلیل و طراحی انجام گرفته برای Warehouse به ثمر میرسد. در این مقاله به تشریح مراحل و ابزارهای ETL میپردازیم.
Extract:
منظور استخراج داده از یک یا چند منبع مختلف است. پس از آنکه تحلیل و طراحی مدل Warehouse به پایان رسید، نوبت به بارگذاری دادهها در آن میرسد. اما بارگذاری دادهها تابع قوانین خاصی هستند و باید به آنها توجه شود. ابتدا باید منابعی که قرار است اطلاعات آنها را در Warehouse داشته باشیم شناسایی کنیم و پس از آن دادهها را در یک محیط واسط قرار دهیم. این عملیات میتواند توسط یکی از ابزارهای ETL و یا Stored Procedureها، Functionها و کوئریها انجام گیرد.
منظور از محیط واسط یک بانک اطلاعاتی است که میان انبار دادهها و منابع داده قرار گیرد. دلیل استفاده از محیط واسط این است که معمولا دادههای منبع نیاز به پالایش دارند که اولا این پالایش نباید در منبع دادهها انجام گیرد و دوما اطلاعاتی که در Warehouse بارگذاری میشوند باید به صورت پالایش شده باشد. باید در زمان استخراج، دادهها را از منابع مختلف جمع آوری و در یک محیط واسط قرار دهیم.
Transform:
منظور پالایش دادههای استخراج شده است. پالایش دادهها بسیار مهم است چرا که بعد از پالایش دادهها باید آنها را در انبار داده بارگذاری کرد. برای این کار از یک محیط واسط که کم و بیش شبیه انبار داده است استفاده میشود. پالایش دادهها شامل موارد زیر است.
- بررسی کیفیت دادهها (Verify data quality): کیفیت دادهها به وسیله پرسشهایی از قبیل سوالات زیر مورد بررسی قرار میگیرند:
- آیا دادهها کامل هستند (مواردی مورد نیازمان را پوشش میدهند)؟
- دادهها صحیح هستند یا اشتباهاتی دارند؟ اگر اشتباه هستند علت اشتباهات چیست؟
- آیا ارزشهای گم شده در داده وجود دارد؟ اگر اینگونه است آنها چگونه نمایش داده میشود؟ عموماً در کجا اتفاق افتاده است؟
- پاکسازی دادهها (Clean data): بالا بردن کیفیت دادهها نیازمند انتخاب تکنیک آنالیز میباشد. این انتخاب شامل پاک کردن زیر مجموعهای از دادههای نامناسب و درج پیشفرضهای مناسب میباشد.
- شکل دادن دادهها (Construct data): این قسمت شامل عملیات ویژهای مانند تولید خصوصیتهای مشتق شده، تولید رکوردهای جدید و کامل یا مقادیر تبدیل شده از خصوصیات موجود میباشد.
- ادغام دادهها (Integrate data): روشهایی وجود دارد که به وسیله آن اطلاعات از چند جدول ترکیب شده و رکوردهای جدید یا مقادیری جدیدی ایجاد میشود.
- قالب بندی دادهها (Format data): منظور از قالب بندی دادهها، تغییر و تبدیل قواعد اولیه داده موردنیاز ابزار مدل سازی میباشد.
بیشتر بدانید: تفاوت انبار داده و پایگاه داده چیست؟
Load:
آخرین کاری که در ETL انجام میگیرد بارگذاری دادههای استخراج و پالایش شده از منابع مختلف در انبار دادهها است. معمولا در زمان بارگذاری در انبار داده تغییرات خاصی روی دادهها انجام نمیگیرد و آنها بدون هیچ تغییری از محیط واسط در انبار دادهها بارگذاری میشوند.
یکی از بهترین و قویترین ابزارها برای عملیات ETL، ابزار SSIS است که استفاده از آن سرعت و دقت در عملیات را بالا میبرد.