بررسی Data Warehouse

بررسی انباره داده بخش هفدهم

 كاربران سيستمهاي اتخاذ تصميم مثل انبارهای داده متفاوت هستند. در اينجا خود كاربران قالب درخواست را مشخص مي‌كنند. وقتي آنها با انبارداده از طريق ابزارها ارتباط دارند پس بايد بدانند چه مي‌خواهند، چه داده‌اي براي آنها در انبارداده آماده است،چه اشيائي را بايد بدست ‌آورند. بنابر اين آنها بايد يك برگ از ساختارهاي داده ای داشته واز نحوه ارتباط بخشهای مختلف باهم به صورت زبانی آگاهی داشته باشند.

شماي STAR چگونکی تفکر كاربران نياز آنها به داده براي اخذ درخواست و تحليل آن را منعکس می کند. آنها در موارد مفهوم معيارهاي تجاری فكر مي‌كنند. جدول Fact حاوي معيارهاست. كاربران به ابعاد تجاري براي تحليل معيارها فكر مي‌كنند. جدول fact حاوي صفاتي است كه كاربران معمولا براي درخواست و تحليل استفاده مي‌كنند. وقتي شما به كاربران توضيح دهيد كه واحدهای محصول A در جدول fact ذخيره شده وبه  ارتباط اين بخش از داده‌ها با هر جدول بعد اشاره کنيد، كاربران،نحوه خواندن ارتباطات را مي‌فهمند.به همين دليل است که شمای STAR مسيرهای ارتباطی را کاملا به روش طبيعی کاربران به صورت تصويری ايجاد می کند.
سعي کنيد تا كاربر در طي شماي ارتباطي از يك سيستم OLTP براي فهم ارتباطات از نقطه ای به نقطه ديگر حرکت کند ،بايد آنها را طوری راهنمايی کرد که در يك مسير مارپيچ درطی جداول نرمال شده حركت کنند. شماي STAR به عنوان تنها برنده قطعی بخاطر سادگي تعريف شده می باشد.درنتيجه كاربران ساختارها و ارتباطات را به سادگي مي‌فهمند. 
شماي STAR مزايايي نيز پس از پياده سازي دارد. بخاطر درك كاربران از شماي STAR ،مزاياي در مرحله پياده سازی مي‌تواند به چشم  بخورد .

2- بهينه ساختن هدايت
در شماي بانک اطلاعاتی هدف از ارتباطات يا اتصالات بين موجوديت‌هاي داده چيست؟ ارتباطات براي رفتن از يك جدول به سايرين براي به دست آوردن اطلاعاتي است كه در جستجوي آن هستيم.
ارتباطات توانايي مرور در بانک اطلاعاتی را فراهم مي‌آورند. شما از جدولي به جدول ديگر با استفاده از مسير ارتباطي حرکت می كنيد. اگر مسيرهاي ارتباطي زياد و حلقوی باشند ، هدايت در طي بانک اطلاعاتی مشكل و كند مي‌شود. از طرف ديگر، اگر مسير‌هاي ارتباطي ساده هستند، هدايت شما بهينه شده ودر نتيجه سريعتر انجام مي‌شود.
يك امتياز اصلي شماي STAR آن است كه هدايت در طي بانک اطلاعاتی را فراهم مي‌كند. هر زمان كه شما نتيجه بگيريد که درخواستي پيچيده به‌نظر مي‌رسد هدايت هنوز ساده و سرراست است.
3- مناسب ترين مدل براي پردازش درخواست: 
در واقع شماي STAR يك ساختارمبتني بر درخواست است. اين به معني آن است كه شماي STAR براي پردازش درخواست مناسب ترين گزينه است برای روش شدن مطلب اجازه دهيد يك درخواست در شمای STAR که براي تحليل دستور در شكل 2-19 نشان داده را مورد بررسي قرار دهيم. 
مجموع هزينه توسعه يافته محصول A خريده شده توسط يک مشتري واقع درFrancisco San در ژانويه 2000 چقدر است؟ توجه کنيد که اين يك درخواست سه بعدي است. اگر شما براي پردازش اين درخواست مناسب ترين است پس خصوصيات اين ساختار داده چه بايد باشد؟ نتيجه نهايي - مجموع  هزينه توسعه يافته - از سطرهای جدول fact مي‌آيد. اما از كدام سطرها؟ جواب اين سطر با محصول A وناحيه San Francisco و ژانويه 2000 مرتبط است.
اجازه دهيد ببينيم پرسجوچطور پردازش خواهد شد. ابتدا سطرها جدول بعد مشتري كه منزل آنها San Francisco است را انتخاب كنيد. سپس از جدول Fact فقط آن سطرهايي را با اين سطرهاي بعدمشتري ارتباط دارند انتخاب كنيد. سپس در جدول بعد زمان آن سطرهايي را انتخاب كيند كه زمان آن ژانويه 2000 است. از مجموع نتيجه اول فقط آن سطرهايي را كه با اين سطرهاي بعدي مرتبط مي‌شوند را انتخاب كنيد.
حالا اين مجموعه نتيجه كدام از سطرهاي جدول Fact است. به سمت بعد محصول برويم. در جدول بعد محصول آن سطرهايي كه محصول آن A است را انتخاب كنيد. از مجموعه نتيجه دوم فقط آن سطرهايي را كه با سطرهاي بعد محصول انتخابي ارتباط دارند انتخاب كنيد. شمااکنون نتيجه نهايي سطرهاي جدول Fact را داريد. هزينه های به دست آمده را با هم جمع كنيد تا نتيجه‌ نهايی بدست آيد.
صرفنظر از تعداد ابعادي كه در يک درخواست سهيم هستند وصرفنظر از پيچيدگی درخواست ،هر درخواست به سادگي اول با انتخاب جداول بعد با استفاده از فيلترهاي خاص مبتنی بر پارامترهاي درخواست اجرا مي شود و سپس سطرهاي جدول Fact مورد نظر پيدا مي‌شوند. اين امکان بخاطر سادگي و سرراستی مسيرهاي Join و به خاطر آرايش خاص شماي STAR وجود دارد.مسير مارپيچ ميانی به منظور رسيدن به جدول Fact از جدول بعد نيست.
جنبه مهم ديگر درخواستهای انبار داده قابليت Drill Down و Roll up است. اجازه دهيد يك سناريو Drill Down را اجرا كنيد. اجازه دهيد بگويم ما درخواستی مي‌كنيم که در آن كل هزينه براي همه مشتريان واقع در منطقه  California را دريافت کنيمنتيجه از مجموع سطرهای جدول Fact به دست می آيد . پس ما مي‌خواهيم تا drill down کنيم ونتيجه را در بازه‌هاي ازکدپستی نگاه كنيم. اين نتيجه با ساختن يك انتخاب اضافی از سطرهاي جدول Fact به دست می آيد که کد پستی را در بازه های خاص انتخاب کرده است.  Drill Down   يك پردازش انتخاب ديگری از سطرهاي جدول Fact است. به روش مشابه Roll up پردازش بسط دادن مجموعه انتخابی از سطرهاي جدول Fact است.

شمای SNOWFLAK
Snowflake روش جداول بعد نرمال شده در شماي STAR است.  وقتي كاملا همه جداول بعد نرمال شوند، ساختار نتيجه مانند يک دانه برف ،با جدول Fact در وسط است. در ابتدا اجازه دهيد با شكل 2-19 شروع کنيم، كه يك شماي ساده Star براي فروشها در يك شركت توليدی را نشان مي‌دهد. 
جدول Fact فروشها حاوي تعداد، قسمت و ساير معيارهاي مربوطه است. پاسخ فروشنده، مشتري، توليد و زمان جداول بعد هستند. اين يك شماي كلاسيك STAR است كه براي پاسخگويی به درخواست مبتنی به ابعاد هوق به طور بهينه غير نرمال شده است .
اختيارات نرمال سازي 
فرض كنيد 500000 رديف ازبعد محصول وجود دارد. اين محصولات به 500 مارک محصول تقسيم مي‌شود و اين همه به 10 گروه محصول طبقه بندی مي‌شوند.
انباره داده

حال در نظر بگيريد يكي از كاربران شما يك درخواست مبني بر تعداد محدود به يك گروه محصول را اجرا كند. اگر درابتدا بعد محصول روي گروه محصول فهرست نشده باشد، درخواست بايد 500000 سطررا جستجو كند. از طرف ديگر، اگر بعد محصول، با جداسازي بر طبق مارک محصول و گروه محصول در جداول نرمال شده باشد، جستجوي اوليه براي درخواست بايد فقط طي 10 سطر جدول گروه محصول انجام می پذيرد. شكل 2-19 اين کاهش در پردازش جستجو را نشان مي‌دهد.
در شكل2-19 ، كاملا بعد محصول نرمال نشده است. همچنين مي‌توان به سمت ساير صفات بغير از جدول بعد محصول رفت و به ساختار نرمال شده اي دست يافت. مدلSnowflake يا جداول بعد نرمال شده مي‌تواند به روشهاي ديگری نيز انجام می شود. وقتي شما بخواهيد كه انجام دهيد.وقتی Snowflake می خواهيم مقادير و كاربرد نرمال هر جدول را آزمايش می کنيم.
اختيارات زير به روش‌هاي مختلفي اشاره می کند كه مي‌توان براي نرمالسازي جداول بعد انتخاب کرد: 
نرمالسازي جزئي فقط روی تعداد کمی از جداول بعد و رها کردن سايرين
نرمالسازي كلي يا جزئي فقط روي تعداد كمي از جداول بعد،ورها کردن جداول سالم باقيمانده 
نرمالسازي جزئي هر جدول بعد 
نرمالسازي كلي هر جدول بعد 

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر