مدل سازی ابعادی (بخش دوم - dimensionها) Dimensional Modeling

1400/08/17

بعد (dimension) موجودیتی است که موضوعات کسب و کاری را برای سنجه های (factهای) مورد استفاد سازمان وضع می نماید. ابعاد (dimensions) سوالات چه کسی، چه چیزی، کجا و چرای مدل ابعادی را پاسخ می دهند و ویژگی های مشابه در یک دسته بندی یا ناحیه موضوعی را مشخص می کنند. نمونه هایی از ابعاد عبارتند از محصول، جغرافیا، مشتریان، کارمندان و زمان. در حالیکه factها از نوع عددی هستند، dimensionها ماهیت توصیفی دارند (گرچه برخی از توصیفات مانند قیمت محصول، ممکن است عددی باشند). ایجاد بعد، factها را قادر می سازد ویژگی ها را در یک مکان ذخیره کنند بجای اینکه آنها بصورت تکراری در سطرهای جداول fact قرار گیرند.
ابعاد از طریق کلید خارجی جداول fact به جداول dimension مرتبط می شوند. اینکار یکی از سطوح نرمال سازی است که افزونگی اطلاعات را رفع می نماید.
یکی دیگر از مزایای dimensionها این است که علاوه بر صرفه جویی در فضای ذخیره سازی و کاهش پهنای باند برای انتقال مکرر ویژگی‌ها، این امکان را فراهم می کنند که تغییر ویژگی‌ها نیاز به تغییر factها نداشته باشد. dimensionها پایگاه داده را از اضافه بار افزونگی داده ها حفظ می کنند. 
از نگاه کسب و کار، هدف اصلی کاربرد dimensionها، استفاده از ویژگی های آنها جهت فیلتر کردن و تحلیل داده ها بر اساس سنجه ها می باشد. در شکل زیر، بعد محصول ( DimProduct) با ویژگی های نام، وزن، اندازه، رنگ و قیمت نشان داده شده است. وقتی بعد محصول با جدول fact فروش مرتبط می شود، یک تحلیلگر می تواند فروش بر اساس ویژگی های خاص را بررسی نماید، مانند تحلیل فروش بر اساس رنگ یا اندازه.
 

برای مفید بودن ویژگی های dimensionها در تحلیل ها این مشخصات باید لحاظ شوند:
• توصیفی بودن، تا تحلیلگران و طراحان نرم افزارهای BI بتوانند آنها را درک کنند.
• کامل بودن، بدون اینکه مقادیری را از دست بدهند.
• منحصر به فرد بودن، تا بصورت منحصر به فرد قابل شناسایی باشند.
• معتبر بودن، تا داده ها برای کسب و کار مفید باشند.

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

شکل زیر بعد جغرافیایی DimGeography با ویژگی های سلسله مراتبی را تعریف می کند. بالاترین سطح این سلسله مراتب، کشور یا ناحیه (CountryRegionCode) است که به استان یا ایالت (StateProvinceCode)، شهر و در نهایت کد پستی تقسیم می شود.
 

این ساختار ممکن است برای کشورهای مختلف نیاز به اصلاح داشته باشد. این مثال استفاده از سلسله مراتب در BI را نشان می دهد که با آن می توان فروش در سطح کشور، شهر و در نهایت کد پستی را بررسی کرد. اینکار امکان تعملیات تجمیعی (aggregate) روی داده ها فراهم می کند. مثلا با دستور SQL "Group By" می توان داده ها را بر اساس یک ویژگی خاص گروه بندی و از عملیات تجمیعی روی سنجه ها استفاده کرد.

کلیدهای جداول Dimension 
مفهوم کلید در ساخت dimensionها این است که هر ردیف در جدول dimension منحصر به فرد است. در جدول dimension، کلید اصلی (primary key) یک فیلد تکی است که کلیدهای خارجی  جداول fact از آن برای ارتباط استفاده می کنند.
شکل زیر دو بعد DimProduct و DimGeography را نشان می دهد که بترتیب دارای فیلدهای تکی ProductKey و GeographyKey بعنوان کلید اصلی هستند.
 

Surrogate Keys
یکی از بهترین روش‌ها برای نمایش dimensionها، استفاده از کلید جانشین (surrogate keys) بعنوان کلید اصلی است مانند شکل قبل. کلید جانشین، که اغلب توسط سیستم پایگاه داده تولید می شود، عدد صحیحی است که مقدار آن  معنی خاصی ندارد. اگر حداکثر تعداد سطر‌های یک جدول بیشتر از 2.1 میلیارد باشد، از نوع داده bigint  بجای int باید استفاده شود.

دلایل ایجاد کلید جایگزین عبارتند از:
• کلیدهای اصلی dimensionها در منابع سیستمی مختلف، متناقض یا ناسازگار هستند. 
• کلیدهای اصلی در منابع سیستمی، بسته به زمان،  نام یا مقادیرشان تغییر می کند.
• سازگاری کلید اصلی در منابع سیستمی برای زمان کوتاهی میسر است و نیاز تحلیلی سازمان را برآورده نمی کند.

بهترین روش این است که از کلید اصلی در منابع سیستمی بعنوان یک کلید جایگزین استفاده گردد که کلید طبیعی (natural key) نامیده می شود.
در شکل زیر CustomerSK کلید اصلی برای بعد مشتری است و CustomerNK کلید طبیعی برای بعد مشتری و کلید اصلی برای منابع سیستمی است، ترکیب شناسه SOR_NK و CustomerNK کلید جایگزین برای منابع سیستمی می باشد. SOR_NK مقدار مجازی است که از یک منبع سیستمی انتخاب می گردد.
 

Smart Keys
سیستم های عملیاتی و تراکنشی گاهی اوقات مواردی مانند محصولات را با کلیدهای هوشمند (smart keys) تعریف می کنند که شامل رشته های حرفی عددی با طول 24 تا 40 کاراکتر هستند. رشته حرفی معمولا به چندین زیر رشته  (بخش) تقسیم می شود. زیر رشته ها معنی خاصی دارند و باعث اطلاق عنوان هوشمند به کلید می شوند.

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

Not NULL Values
کلیدهای اصلی جداول dimension که با کلیدهای خارجی جداول fact مرتبط هستند نباید بدون مقدار یا تهی (null) باشند. مقدار null در ستون ها هنگام بارگذاری (load) داده ها از منابع سیستمی، فرایند ETL را با مشکل مواجه می کنند زیرا مثلا مشتری برای یک رکورد فروش وابسته به آن، یافت نمی شود.
مقادیر تهی هم برای افراد و هم برای ابزارهای BI گیج کننده هستند. اگر یک تحلیلگر بخواهد میزان کل فروش را تحلیل نماید مقدار فروش هایی که  کلید مشتری آنها تهی است را نمی تواند بدست آورد و این وضعیت در صورت وجود کلیدهای خارجی تهی دیگر تشدید می گردد.

بهترین روش برای رفع این مشکلات عبارتند از:
• هنگامی که یکپارچگی ارجاعی بین جداول fact و dimension دچار مشکل شود، سطری در جدول dimension با مقداری خاص برای کلید آن ایجاد می شود.
• چون مقادیر کلید جانشین اعداد صحیح مثبت هستند، از اعداد صحیح منفی مثل -999 برای کلید سطرهای فوق استفاده شود.
• برای سطر هایی که باید دارای کلید جانشین از نوع حرفی باشند از یک نام استاندارد برای همه جداول dimension استفاده ‌شود، مثل «Missing»، «Unknown» یا «Invalid».
• حداقل یک سطر در هر جدول dimension تعریف می شود، اما برای شرایط خاص می توان از سطرهای بیشتر استفاده کرد.

در صورت وجود تهی در کلیدهای خارجی جدول fact، نتایج نادرستی حاصل می شود و این امر کسب و کار را در معرض ریسک قرار می دهد.

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

بطور خلاصه، dimensionها باید دارای ویژگی های زیر باشند:
• سطر های منحصر به فرد داشته باشند
• از کلیدهای جایگزین بعنوان کلید اصلی استفاده شود
• کلیدهای اصلی غیر تهی باشند
 

#Dimensional_Modeling

#Business_Intelligence

#Data_Warehouse

 

0 37
دیدگاه کاربران
0 دیدگاه
شما هم دیدگاه خود را ارسال کنید