آشنایی با Junk Dimension
در طراحی انبار داده مکررا در وضعیتی قرار می گیریم که فیلدهای نشان دهنده با مقدار Yes/NO در سیستم عملیاتی (منبع) وجود دارد. از طرفی در زمان تحلیل کسب و کار به این نتیجه رسیده ایم که نگهداری این اطلاعات در fact table ضروری است. با این وجود اگر بخواهیم همه فیلدهای نشان دهنده را در fact table حفظ کنیم نه تنها نمی توانیم تعداد زیادی جدول بُعد کوچک را نگهداری کنیم بلکه مقدار اطلاعات ذخیره شده در fact table به صورت وحشتناکی افزایش پیدا می کند که در نتیجه منجر به مشکلاتی در عملکرد و مدیریت انبار داده می شود.
استفاده از Junk Dimension راه حل این مشکل است. در یک جدول Junk Dimension فیلدهای نشان دهنده را به یک بعد تبدیل می کنیم. با این شیوه کافی است یک جدول بُعد ایجاد کنیم تا تعداد فیلدها در fact table دقیقا به اندازه fact table داشته باشیم.
محتوای جدول Junk Dimension ترکیبی از همه مقادیر ممکن فیلدهای منفرد است. اگر با یک مثال پیش برویم درک موضوع آسان تر می شود. Fact Table زیر را در نظر بگیرید:
در این مثال فیلدهای TXN_CODE , COUPON_IND و PREPAY_IND همگی فیلدهای نشان دهنده هستند. در فرمت فعلی هر کدام از آنها یک بُعد است. اگر از اصل Junk Dimension استفاده کنیم می توانیم آنها را مانند جدول زیر به یک Junk Dimension ترکیب کنیم:
توجه داشته باشید که حالا تعداد بُعدهای موجود در fact table از ۷ به ۵ کاهش پیدا کرده است.
محتوای جدول Junk Dimension به شکل زیر خواهد بود:
در این مورد، سه مقدار ممکن برای فیلد TXN_CODE، دو مقدار ممکن برای COUPON_IND و دو مقدار ممکن برای PREPAY_IND داریم که منجر به ایجاد ۳*۲*۲=۱۲ سطر برای جدول Junk Dimension می شود.
با استفاده از Junk Dimension در انبار داده برای جایگزینی ۳ فیلد نشان دهنده، تعداد بُعدها را دو عدد کم کردیم و تعداد فیلدهای fact table را دو فیلد اضافه کردیم. این اقدام باعث می شود که انبار داده عملکرد بهتری داشته باشد و مدیریت آن کارا و آسانتر می شود.