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

1400/08/19

سه نوع schema برای ساخت مدل ابعادی وجود دارد: شمای ستاره ای (star schema)، شمای دانه برفی (snowflake schema) و شمای چند بعدی (multidimensional schema). برای انتخاب شمای مناسب هنگام ساخت مدل ابعادی، سوالات زیر را مد نظر قرار می دهند:

• چه نوع تحلیلی برای داده ها لازم است؟ 
• نیازها و محدودیت های تحلیلی کدامند؟
• داده های مد نظر برای پرس و جو و تحلیل، چقدر سازگاری دارند؟
• ابزار BI مورد استفاده کدام است؟

شمای ستاره ای
شمای ستاره ای رایج ترین شما برای مدل ابعادی است. در این شما، یک جدول fact توسط چندین جدول dimension  احاطه شده است. شکل زیر جدول fact بنام FactInternetSales و چندین جدول dimension را نشان می دهد که مدلی برای فروش آنلاین محصولات است. جداول dimension عبارتند از:
• DimSalesTerritory – محل های فروش
• DimPromotions - تبلیغات 
• DimCurrency – واحد پولی مورد استفاده
• DimCustomer – مشتریان
• DimDate – زمان فروش
• DimProduct - محصولات
 

در این مثال تحلیلگر کسب و کار قادر است با فیلتر کردن یا گروه بندی اطلاعات بر اساس ویژگی های جداول dimension، مسائل چه کسی، چه چیزی، در کجا و در چه زمانی  و تحت چه تبلیغاتی می خرد را تحلیل نماید.
شمای ستاره تلفیقی از یک مدل کاملا نرمال شده و یک مدل غیرنرمال است. جداول fact که اکثر داده های مدل ابعادی در آنجا ذخیر می شوند، باید بشکل نرمال باشند. نرمال سازی برای حصول حداقل افزونگی، سهولت نگهداری و بهبود عملکرد پرس و جوها ضروری است. اما جداول dimension، بشکل غیرنرمال هستند. این شما، برای پرس و جو، عملکرد و تحلیل عالی است چون ابزارهای BI برای استفاده از این شما ساخته شده اند.

شمای دانه برفی
این شما، مانند شمای ستاره ای است بعلاوه اینکه ابعاد غیر نرمال در آن، دارای سلسله مراتب نرمال شده هستند.  هر سطح سلسله مراتب dimension، خود با dimension دیگری ارتباط داشته و parent آن می باشد. جدول fact کلید خارجی پایین ترین dimension در سلسله مراتب را ذخیره می کند.
شکل زیر یک شمای دانه برفی را نشان می دهد که در آن fact فروش FactInternetSales با بعد محصول، DimProduct ارتباط دارد. اگر این شما ستاره ای بود جدول fact فقط با بعد DimProduct  ارتباط داشت اما در شمای دانه برفی بعد محصول به زیربعد های سلسله مراتبی تقسیم می شود که عبارتند از :
• DimProduct که بعد اصلی و پایین ترین سطح سلسله مراتب است شامل محصول اصلی است.
• DimProductSubcategory در سطح بعدی شامل دسته بندی محصول می باشد.  
• DimProductCategory که بالاترین سطح سلسله مراتب است، لوازم جانبی محصول را شامل می شود.
 

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

شمای چندبعدی
این شما یک پایگاه داده سلسله مراتبی است که شامل ساختاری بصورت یک آرایه چند بعدی می باشد. برای کمک به درک این شما، آن را بعنوان یک جدول pivot صفحه گسترده در نظر می گیریم که یک مکعب چند بعدی است که  شامل داده های جزیی و سرجمع در سطوح مختلف آرایه است. شبیه یک مکعب روبیک بزرگ که در شکل زیر نشان داده شده است.
 

این مثال factهای فروش را با ابعاد محصول، تاریخ و جغرافیا نشان می دهد که در سطوح مکعب قرار دارند. هر سلول مکعب یک سنجه واقعی است. بسته به داده مورد نیاز، ترکیب ابعاد مختلف  استفاده می شود.
شمای ستاره ای و دانه برفی بطور سنتی در پایگاه های داده رابطه ای ذخیره می شوند، در حالیکه شمای چندبعدی در پایگاه های داده چندبعدی ذخیره می شوند، که به آنها مکعب ‌های #پردازش_تحلیلی_برخط OLAP (online analytical processing) گفته می شوند. پایگاه های داده رابطه ای از SQL و ساختار استاندارد خاصی شامل جداول، ستون ها و کلیدهای خارجی استفاده می کنند ولی ساختارپایگاه های داده چندبعدی بسیار متفاوت هستند و خاص می باشد. این پایگاه های داده، داده ها را در سطوح مختلف سلسله مراتبی ذخیره می نمایند. عملیات drill up و drill down امکان حرکت به پایین ترین سطح یا بالاترین جزئیات را فراهم می کنند.
این پایگاه های ‌داده بطور خاص برای درک آرایه‌های چند بعدی، سلسله‌مراتب، چیزهای افزودنی، نیمه افزودنی و غیرافزودنی در مکعب طراحی شده‌اند. همانطور که جداول، ستون ها، محدودیت ها و غیره برای پایگاه داده رابطه ای باید تعریف شوند، factها، dimensionها، سلسله مراتب و غیره باید در پایگاه داده چندبعدی تعریف شوند. 

مدل ستاره ای با چند جدول fact
مثال‌های مدل ابعادی، اعم از ستاره‌ای، دانه برفی یا چندبعدی، معمولاً یک جدول fact که توسط چند جدول  dimension احاطه شده را نشان می دهند. گرچه این یک تصویر محبوب است که شرح ساده ای نیاز دارد، ولی در واقعیت داده‌های یک سازمان مستلزم چندین جدول fact هستند.
نمونه هایی از این factها عبارتند از فروش، هزینه ها، موجودی، و بسیاری از رویدادهای کسب و کاری دیگر. شکل زیر دو جدول fact فروشگاه و انبار (Tbl_Fact_Store_Sales و Tbl_Fact) را نشان می دهد. در سمت راست سه جدول dimension وجود دارد که برای هر دو جدول fact بصورت اشتراکی استفاده می شوند، بعد کالا، بعد تاریخ و بعد خریدار. این ابعاد اشتراکی بعنوان ابعاد انطباق پذیر نامیده می شوند.
 

در سمت چپ ، ابعاد مشتری و فروشگاه وجود دارند که توسط جداول fact بطور مشترک استفاده نمی شوند. بعد Tbl_Dim_Customer تنها با جدول Tbl_Fact_Store_Sales و بعد Tbl_Dim_Store تنها با جدول Tbl_Fact_Store_Inventory مرتبط است.
در دنیای واقعی ممکن است صدها یا هزاران جدول dimension با ترکیبات مختلف وجود داشته باشند که توسط ترکیبات مختلفی از جداول fact به اشتراک استفاده شوند. گرچه این مدل ها پیچیده می شوند، اما کمک می کند تا مدل های داده، برای درک بهتر، بصورت ستاره مجسم شوند.
 

#Dimensional_Modeling

#Business_Intelligence

#Data_Warehouse

#Online_Analytical_Processing

#OLAP

 

 

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