بخش های از فصل ششم 

پردازش‌های استخراج، تغییر شکل و بارگذاری (ETL)

 

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

استخراج:

در طول فرآیند استخراج داده‌ها شناسایی شده و از چندین منبع داده‌ای مختلف استخراج می‌شوند.

تغییر شکل دادن:

بعد از استخراج داده‌ها از منابع تغییر شکل داده‌ها انجام می‌شود، به عنوان مثال:

اگر داده را از یک جدول غیر رابطه‌ای استخراج نیاز است تا تغییر شکل انجام داده و سپس داده‌ها در انبار داده رابطه‌ای درج شود.

بارگذاری:

بارگذاری عملیاتی است که داده را در انبار داده هدف قرار می‌دهد. قبل از بارگذاری تغییر شکل داده‌ها بصورت فیزیکی انجام شده است. پردازش‌های انتقال داده‌ها از مخازن داده منبع یا یک محیط واسط (Stage) پردازش‌های بارگذاری می‌گویند. انتقال غالباً یک بخش ساده‌ از پردازش‌های ETL محسوب می‌شود.

 

 

پردازش‌های ETL: فعالیت‌ها، اهمیت و هزینه

  • فعالیت‌های ETL: شامل مجموعه‌ای از فعالیت‌های زیر را است:
  • استخراج داده از سیستم‌های منبع
  • تغییر شکل و پاکسازی داده‌ها
  • ایندکس‌گذاری داده
  • خلاصه‌سازی داده‌ها
  • بارگذای داده در انبار داده
  • دنبال کردن تغییرات اتفاق افتاده در داده‌های منبع که نیاز به انتقال به انبار داده دارند.
  • نگهداری اطلاعات پایه (Matadata)
  • ساختاربندی مجدد کیلدها
  • به روزرسانی انبار داده با داده‌های به روز شده

اهمیت:

انجام فعالیت‌های مربوط پردازش‌های ETL در انبار داده هستند بسیار حیاتی هستند، این پردازش‌ها:

برای کاربران کسب و کار مربوط و مفید هستند وکیفیت بالایی دارند.

هزینه

  • تولید پردازش‌های ETL یکی از بزرگترین فعالیت‌ها برای ایجاد انبار داده است. که می‌توانند پیچیده و زمان‌بر باشد در برخی موارد، می‌تواند بیش از نیمی از زمان پیاده‌سازی انبار داده را به خود اختصاص می‌دهند.

 

 

داده‌های عملیاتی

  • پلت فرم‌های سیستم‌ عملیاتی
  • سیستم‌های مبتنی بر فایل
  • سیستم‌های پایگاه داده مانند DB2، Oraele و …

داده‌های عملیاتی

داده‌های عملیاتی ممکن است از منابع مختلف وارد انبار داده شوند.

 

داده‌های آرشیو شده:

  • شامل داده‌های تاریخچه‌ای هستند.
  • برای تحلیل در طول دوره زمانی مفید است.
  • برای اولین باری که داده‌های بارگذاری شوند مفید است.
  • ممکن است برای تغییر شکل دادن مفید باشد.

داده‌های آرشیو شده در تحلیل‌هایی که براساس دوره‌های زمانی طولانی است نیاز است استفاده می‌شود.

داده‌های آرشیو شده برای پیاده‌سازی اولیه انبار داده و برای اولین بارگذاری شده یک منبع مهم داده‌ای مهم است.

باید به این نکته دقت کنید کهچقدر از داده‌های تاریخچه‌ای در دسترس شما هستند؟ این داده‌ها چقدر تأثیرگذار هستند و چه مقدار از این داده‌ها نیاز است که تغییر شکل داده شوند.

 

مکانیزم‌های دنبال کردن تغییرات(CDC) ‌در اوراکل

  • استخراج تدریجی
  • بررسی همه درج‌ها، اصلاح‌ها و حذف‌های انجام شده در منابع داده‌ای
  • امکان نگهداری داده‌های تغییر یافته در جداول جداگانه
  • تغییرات داده‌ای می‌تواند بر مبنای مدل انتشار و اشتراکی است.
  • امکان دنبال کردن تغییرات داده بصورت همگام و ناهمگام.

یک ملاحظه مهم برای استخراج داده به روش استخراج تدریجی CDC‌ نامیده می‌شود. در انبار داده استخراج داده‌های تغییر یافته از سیستم‌های عملیاتی هر شب انجام شود. انبار داده نیاز دارد فقط داده‌‌هایی که از آخرین استخراج تغییر کرده‌اند را (یعنی داده‌های که در 24 ساعت گذشته تغییر پیدا کرده است).

پیاده‌سازی این مکانیزم وقتی امکان‌پذیر است که تغییرات داده قابل تشخیص باشد تا فقط داده‌هایی که بعد از آخرین استخراج تغییرپیدا کرده‌اند استخراج شود. پردازش‌های استخراج همانند پردازش‌های به‌روزرسانی می‌توانند مؤثرتر باشند وقتی حجم داده استخراج شده کم است. برخلاف آن، برای چندین سیستم منابع داده‌ای تشخیص دادن داده‌هایی که اخیراً تغییر کرده‌اند ممکن است دشوار یا برای عملیات‌های سیستم‌های منبع غیر ممکن باشد. CDC معمولاً بیشترین چالش‌ برای استخراج داده‌ها است.

در اوراکل قابلیت CDC از نسخه‌های قدیمی اوراکل در پایگاه داده وجود دارد که درانبار داده نیز استفاده می‌شده است. در CDC که در اوراکل وجود دارد تغییراتی که بر روی جداول اعمال شده است در اشیاء جدیدی همنام با نام جدول ذخیره می‌شود و برای برنامه‌های کاربردی قابل مشاهده و استفاده می‌باشد.

 

 

مکانیزم دنبال کردن تغییرات داده در اوراکل

مدل انتشار و اشتراکی

سیستم CDC بر مبنای مدل انتشار و اشتراکی است. CDC توسط پکیج‌های PL/SQL پیاده‌سازی می‌شود را برای انجام دادن فعالیت‌های انتشار و اشتراکی ارائه داده است.

منتشر کننده (معمولاً، DBA)ها برای هر تعداد جدول تغییرات داده را دنبال کرده و آنها را منتشر می‌کنند.

منتشر کننده تشخیص می‌دهد که کدام جدول منبع انبار داده تغییر پیدا کرده و برای دنبال کردن تغییرات آن جذاب است. برای هر جدول منبع که در سیستم OLTP تغییر پیدا کرده است تغییرات دنبال می‌شود هر منتشر کننده جداولی موقت در سیستم ‌Sdagin ایجاد می‌کند.

وقتی عملیات‌های DML انجام می‌شود، منتشر کننده تغییرات را پیدا کرده و در جداول مربوطه قرار می‌دهد و استفاده باز دستورات Grant و Nevove مجوز دسترسی به جداول مربوطه اعطاء می‌شود.

 

 

نکته: یک جدول منبع یک جدول پایگاه داده است که از سیستم منبع (پایگاه داده عملیاتی) می‌آید و شامل داده‌هایی که به انبار داده منتقل می‌شود.

در CDC توسط پکیج‌های PL/SQL ارائه می‌شود، پکیج‌هایی مانند DBMS LOGMNR_CDC _SUBSCRBE برای انجام داده فعالیت‌های انتشار و اشتراک استفاده می‌شوند.

در زیر به مزایای استفاده از مکانیزم‌های CDC اشاره شده است.

  • با استفاده از CDC می‌توان در زمانی که تغییر بر روی جداول مبدأ اتفاق افتاده است.
  • با استفاده از CDC نیازی به استفاده از فایل نیست و داده‌ها مستقیماً در جداول رابطه‌ای قرار داده می‌شوند.
  • استفاده از فعالیت‌های انتشار و اشتراک با استفاده از پکیج‌های CDC اوراکل ساده هستند.

 

شکست‌های احتمالی پردازش‌های ETL

در شرایط ذیل ممکن است که پردازش ETL منجر به شکست شود:

  • یک فایل منبع از دست برود.
  • سیستم منبع خراب باشد.
  • فضاهای کافی وجود نداشته باشد.
  • ساختار منبع تغییر پیدا می‌کند.
  • طراحی مناسبی برای ETL انجام نشده باشد.
  • داده‌ها بصورت کامل صحت‌سنجی نشده باشند.

انجام پردازش‌های ETL‌ برای انبار داده حیاتی هستند، و باید موفق باشند.

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

  • روال‌های استخراج ممکن است شامل نام و محل منبع داده باشد از دست رفتن یک فایل ممکن است باعث شکست استخراج شود. بنابراین باید مطمئن باشید که خطاهای استخراج را مدیریت کرده‌اید.
  • اگر در یک سیستم یا دیسک در طول پردازش‌های استخراج مشکلی بوجود بیاید کل پردازش‌ می‌تواند شکست بخورد.
  • عدم داشتن فضا برای داده‌های موقت، کمبود فضا برای نگهداری اطلاعات در ناحیه میانی (Staging) و انجام عملیات‌های مرتب‌سازی می‌تواند باعث شکست ETL ‌شود.
  • هر گونه تغییر روی سیستم‌های منبع که در اطلاعات پایه (Metadata) ثبت نشده باشد می‌تواند باعث شکست ETL شود.

 

کیفیت ETLها

  • ETLها باید قابل تست باشند.
  • ETL ها باید مستند شده باشند.
  • ETL ها باید بررسی شده و بروز شده باشند.
  • روش جمع‌آوری اطلاعات پایه (ETL (Matadata ها باید یکسان شده باشند.

هر شکست در پردازش‌های ETLها بر روی کیفیت داده‌ها تأثیر می‌گذارد. داده نادرست منجر به تهیه خروجی‌ها و تحلیل‌های نادرست می‌شود.

که منجر به تصمیمات اشتباه در کسب و کار می‌شود. کیفیت پایین داده‌ها باعث این می‌شود که به سیستم اعتماد نشود.

تست کردن پردازش‌ها:

شما باید تکنیک‌های پردازش‌های ETL را آزمایش کنید تا مطمئین شوید که داده‌ها می‌توانند با وجود محدودیت‌های پنجره بارگذاری (Load window) و توانایی‌های شبکه منتقل شوند.

مستند کردن پردازش‌ها:

همواره باید روشهای‌ بارگذاری داده در انبار داده را را مستند کنید تا مطمئین شوید که رفتار پردازش‌ها درست است.

داده به سرعت در حال افزایش هستند و مقیاس‌های بارگذاری و ریزدانگی داده‌ها نیاز به بازبینی منظم دارند به این نکته دقت کنید که ریزدانگی بر روی کیفیت داده تأثیر می‌گذارد.