مقدمه
همانطور که در مقاله قبلی اشاره شد، ساختار ذخیرهسازی انباره دادهها از دو نوع جدول Fact و Dimension است. در ادامه به بررسی انواع مختلف این نوع از جداول می پردازیم.
جداول Dimensionیا بُعد، حاوی اطلاعات توصیفی هستند. اطلاعات توصیفی دادههایی مانند نام مشتری، عنوان شغل، نام شرکت و حتی اطلاعات جغرافیایی محل سکونت مشتری میباشند. هر جدول Dimension حاوی فهرستی از فیلدها است که به آنها Attribute گفته میشود. هر مشخصه حاوی اطلاعات توصیفی است و مشخصههایی که به یکدیگر مرتبط هستند در یک بُعد قرار میگیرند. برای مثال، بُعد مشتری حاوی Attribute و یا فیلدهای زیر است.
هر بُعد دارای یک کلید اصلی است که به آن Surrogate Key میگویند. کلید اصلی سیستم منبع در جدول بُعد بهعنوان Business Key ذخیره میشود. در واقع Business Key همان کلید اصلی در جداول سیستمهای OLTP است. در مثال بالا CustomerKey به عنوان Surrogate Key و CustomerPK به عنوان Bussiness Key به شمار می آید.
Fact
Fact جدولی حاوی فیلدهایی از نوع قابل اندازهگیری و قابل شمارش و تعدادی Foreign Key است که به جداول Dimension اشاره میکند. جدولهای Fact معمولاً تعداد زیادی از رکوردها را در خود ذخیره میکنند. اغلب فضای انبار داده – چیزی در حدود 80 درصد – را به خود اختصاص میدهند.
ساختارهایStar Schema و Snowflake Schema از معروفترین ساختارهای ارتباطی بین جداول انبار داده معمولا به شمار میآیند.
مدل ستارهای (Star Schema)
در این مدل Fact بهعنوان یک هاب در مرکز قرار میگیرد و جداول Dimension از طریق ایجاد کلید خارجی به آن متصل میشوند. در این روش تمام صفات قابل شمارش و اندازهگیری در جدولFact قرار میگیرند. در تصویر بالا در جدول فروش می تواند شامل مبلغ فروش، تعداد فروش، میزان سود باشد.
در این روش زمان اجرا به دلیل ارتباط مستقیم بین جداول Fact و Dimension و نتیجتا join های کمتر بسیار سریع است.
مدل دانه برفی (Snowflake Schema)
همانطور که در شکل بالا مشخص است، در این مدل Dimensionها نرمال شده اند و افزونگی در این روش کاهش یافته است. بعبارت دیگر فضای ذخیرهسازی کاهش یافته ولی زمان پاسخگویی به یک کوئری تحلیلی نیازمند joinهای بیشتری است بنابراین زمان پاسخگویی آن نسبت به مدل ستارهای کندتر خواهد بود.
جهت کسب اطلاعات بیشتر میتوانید به دوره آموزشی Business Intelligence مراجعه کنید.