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

داده‌های ناهمگون

  • عدم وجود کلید یکتا
  • تفاوت در نامگذاری فیلدها و کدگذاری داده‌ها
  • داده‌های توصیفی متفاوت در سیستم‌های مختلف

دلایل وجود داده‌های ناهمگون

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

داده‌های ناهمگون و اینکه می‌تواند به اشکال مختلف در داده‌های منبع وجود داشته باشد:

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

 

روال‌های تغییر شکل داده

  • تمیز کاری داده
  • تشخیص ناهمگونی‌ داده‌ها
  • اضافه کردن المان‌ها
  • ترکیب کردن داده‌ها
  • یکپارچه کردن داده‌ها
  • تغییر شکل دادن داده قبل از بارگذاری

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

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

  • تمیزکاری داده‌ها
  • اضافه کردن المان‌های زمان به داده‌ها در صورت عدم وجود.
  • ترجمه کردن فرمت داده‌های به فرمت‌های با معنی برای انبار داده
  • ترکیب کردن رکوردها یا سطرها با هم.
  • تجمیع داده‌ها و فرمت‌بندی آنها برای بارگذاری در انبار داده

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

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

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

 

مشکل وجود فایل‌های چندگانه

  • مشکل: پیچیدگی به دلیل وجود منابع چندگانه فایل‌ها
  • راه‌حل: ‌شروع ساده، مانند شکل نشان داده شده در دیاگرام فوق

در شرایطی منبع اطلاعات یک فایل باشد و در شرایطی مجموعه‌ای از فایل‌ها که باید تجمیع شوند که باعث افزایش پیچیدگی می‌شود.

به عنوان مثال اگر داده را از دو منبع تجمیع می‌کنید تنها یک نقطه برای حل مشکلات تداخل در داده‌ها وجود دارد برای تجمیع فایل‌ها از 3 منبع 3 نقطه تداخل وجود دارد و ….

راه‌حل

این یک مشکل پیچیده است که نیاز به استفاده از ابزارها یا مکانیزم‌هایی جهت مستند کردن تغییرات دارد.

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

 

مشکل مقادیری که در تغییر شکل‌ها از دست می‌روند

راه‌حل:

  • صرف نظر کردن از آنها
  • منتظر ماندن
  • برچسب‌گذاری رکوردها
  • استخراج داده‌ها در زمان مناسب

مشکل از دست رفتن داده‌های  Null.

وجود مقادیر Null مقادیر پیش فرض همیشه یک مشکل است وقتی که Null اجازه درج کردن داشته باشد ممکن است معتبر باشد و در غیر این صورت مقادیر، Nullها وارد شده مقادیر از دست رفته شناخته می‌شوند.

راه‌حل

باید بررسی کنید که آیا مقدار Null معتبر است یا اینکه باید یکی از راه‌های زیر را انتخاب کنید:

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

 

مشکل محدودیت‌های یکپارچگی(عدم ارتباط داده‌ها با هم)

راه‌حل

  • استفاده از دستورات SQL
  • محدویت‌های داده‌ای (Constraints)

اگر در برنامه‌های OLTP از (Constraint) های محدویت‌ سطح برنامه یا پایگاه داده کمتر استفاده شده‌ باشد، ارتباط مابین رکوردهای فرزند و والد می‌توانند وجود نداشته باشند و رکوردهای بی هویت برای رفع این مشکل وجود داشته باشد.

باید ارتباط مابین داده‌های ایجاد شده در داخل سیستم‌های موجود را درک کنید، بزرگترین مشکلی که در با آن مواجه هستید این است که ارتباط مابین داده‌ها آنها معمولاً مستند نشده‌اند و باید از کاربران و تکنیکهای که بتواند برای تحلیل و مستندسازی منابع داده‌ای به شما کمک کند بهره ببرید.

برای تشخیص داده‌های بی‌هویت می‌توانید از تکنیکهای SQL یا محدودیت‌های پایگاه داده استفاده کنید.

 

مشکل وجود آدرس‌ها و نام‌های متفاوت

  • به شکل فیلدهای یکتا

  • به شکل فیلدهای چندگانه

یکی از مهم‌ترین بخش‌هایی که برای کیفیت داده‌ها باید بر روی آن متمرکز شوند، این است که چطور اطلاعات مربوط به عناوین و آدرس نگهداری می‌شوند، و چطور باید آنها را تغییر شکل دهیم. اطلاعات نام و آدرس چون یک استاندارد و یک قانون را دنبال نمی‌کند در فرمت‌های مختلف نگهداری می‌شود، برخی از ناپایداری‌هایی که ممکن است وجود داشته باشد شامل موارد زیر است:

  • عدم وجود کلید یکتا
  • وجود داده نامشخص (NULL)
  • آدرس‌های و عناوین متفاوت

 

تکنیکهای تغییر شکل: ترکیب داده‌ها

  • معمولاً تراکنش‌های عملیاتی یک به یک به انبار داده متصل نمی‌شوند.
  • معمولاً داده‌های DW‌ برای ارائه اطلاعات مناسب برای تحلیل با هم ترکیب می‌شوند.

معمولاً یک تراکنش در سیستم‌های عملیاتی یک تناظر یک به یک با رکورد انبار داده ندارد، حتی اگر داده در انبار داده در سطح تراکنش نگهداری شود.

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

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

 

تکنیکهای تغییر شکل اضافه شدن زمان

داده‌ جدول واقعیت

فرض کنید که نیاز دارید تا مجموعه بعدی رکوردها را از سیستم‌های منبع استخراج کرده و به جدول واقعیت (Fact) اضافه کنید. برای اینکار شما نیاز دارید تا تشخیص بدهید کدام رکوردها باید اضافه شود. فرض کنید داده‌ها را تا مارچ 2002 اضافه کرده‌اید. اکنون نیاز دارید تا داده‌ها را از آپریل 2002 اضافه کنید. برای اینکار باید نیاز رکوردها را بر چسب‌گذاری کنید تا در بارگذاری  بعدی فقط رکوردهایی را که منتقل نشده‌اند انبار داده منتقل شوند. ممکن است یکی از تکنیکهایی ذیل را برای چسب‌گذاری تاریخ را انتخاب کنید:

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

باید تصمیم بگیرید که پیاده‌سازی سیستم‌های بهترین تکنیکی که باید استفاده کنید کدام است.

تکنیکهای شناسایی تغییرات در جداول بعد با شناسایی تغییرات در جداول واقعیت (Fact) به هم متفاوت است و براساس شرایط باید از تکنیک مناسب استفاده شود.

 

تکنیکهای تغییر شکل: اضافه کلید به داده

در انبار داده داده‌ها از یک ساختار به ساختار دیگری منتقل می‌شود باید اطمینان حاصل کنید تا در تغییر شکل داده‌ها کلیدهای اصلی حفظ می‌شوند و می‌توانید برای ساختار انبار داده کلیدهای مختص به خود را نیز ایجاد نمائید.

 

طراحی پردازش‌های تغییر شکل

  • تحلیل:
  • اتصال فیلدهای مبدأ و مقصد و نقش‌های کسب و کار
  • شناسایی کاربرهای کلیدی اطلاعات پایه (Metadata)، متادیتا، ریزدانگی

  • گزینه‌های طراحی:
  • استفاده از ابزارها (OWB)
  • استفاده از زبان‌های برنامه‌نویسی نسل سوم
  • استفاده از زبان‌های SQL و PL/SQL
  • مشکلات طراحی:
  • کارایی
  • اندازه ناحیه میانی
  • مدیریت خطاها و حفظ یکپارچگی اطلاعات

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

 

امکانات قدرتمند اوراکل برای تغییر شکل داده‌ها

مکانیزم‌های تغییر شکل داده با استفاده از دستورات SQL:

  • Creat table as select (CTAS)
  • UPDATE
  • MERGE
  • INSERTهای چندگانه

مکانیزم‌های تغییر شکل داده

اوراکل از دستورات CTAS،Update، Merge و Insert های چندگانه برای تغییر شکل داده‌ها پشتیبانی می‌کند. دستور CTAS یک ابزار قدرتمند برای پیاده‌سازی تغییر شکل حجم زیادی از داده‌ها است سایر تکنیکهای جایگزین برای پیاده‌سازی کردن تغییر شکل داده استفاده از دستور Update است، اگر تغییر شکل داده نیاز دارد که یک درصد زیاد (یا همه) رکوردها تغییر داده شوند استفاده از CTAS مناسب‌تر در پایگاه داده اوراکل 10g قابلیت Merg وجود دارد. با استفاده از دستور Merge، می‌توانید سطرها را از یک جدول انتخاب کرده و این سطرها را در داخل جدول دیگری Insert یا Update کنید.

یکی از فعالیت‌های معمول در محیط‌های انبار داده توزیع منبع یک داده یکسان در داخل چندین جدول است که Insert های چند‌گانه این کار را انجام می‌دهد.