انباره داده یا Data Warehouse
مقدمه
انـبـار داده بـه مجـموعـهای از دادههــا گفـتـه میشود که از منابع مختلف اطلاعاتی سازمان جمعآوری، دستهبندی و ذخیره میشود.
انبار داده یا Data Warehouse پایگاه دادهای است که برای گزارشگیری و تحلیل داده به کار میرود و بعنوان هسته اصلی یک سیستم BI به شمار میآید. به عبارت دیگر انبار داده یک مخزن داده مرکزی از دادههای تجمیع شده است که از سیستمها و منابع مختلف سازمان جمعآوری شده است.
انبار داده یک بانک اطلاعاتی رابطهای غیرنرمال است که دادههای حال و گذشته را در یک مکان واحد تجمیع کرده است و هدف اصلی آن پوشش گزارشگیری و نیازهای تحلیلی یک سازمان به کار گرفته میشود.
از اواسط سالهای ۱۹۸۰ نياز به انبار دادهها به وجود آمد و در کنار سيستمهای اطلاعاتي (OLTP) سیستمهای تحلیلی (OLAP, DW/BI) ایجاد شد.
سیستمهای عملیاتی (OLTP)
سيستمهایOLTP که به آنها سیستمهای پردازش تراکنش آنلاین نیز میگویند معمولا دارای ویژگیهای زیر هستند:
– محیطی برای ورود دادهها و فعاليتهای روزانه كسب و كار هستند.
– به دلیل کوتاهی عملیات حذف، تغییر و ویرایش اطلاعات دارای سرعت قابل توجهی میباشند.
– کاربران این سیستمها، عموما اپراتورها هستند.
– الگو و ساختار پایگاه داده این سیستمها از فرم سوم نرمالسازی استفاده میکند.
سیستمهای تحلیلی (OLAP)
این سیستم شامل تاریخچه اطلاعات به منظور ایجاد گزارشهای تحلیلی است تا در اختیار مدیران سازمان قرار گیرد.
– به دلیل تحلیل حجم بالایی از دادهها معمولاً کندتر از سیستمهای عملیاتی میباشند.
– استفاده کنندگان این سیستمها معمولاً مدیران و تصمیم گیرندگان سازمان میباشند.
– صرف نظر از منابع داده یک مدل داده مشترک برای تمام دادههای مورد علاقه ارائه میدهد.
– ساختار پایگاه داده این سیستمها معمولا بانک اطلاعاتی رابطهای غیرنرمال است.
سیستمهای اطلاعاتی یک سیستم یا محصول نیستند که بتوان آنها را خریداری کرد. بلکه یک رویکرد هستند و در حقیقت هر رویکردی مربوط به یک نوع کسب و کار و سازمان میباشد و نمیتوان با استفاده از این سیستمها راهبرد واحدی را برای حتی سازمانهای مشابه، ارائه نمود.
ویژگیهای دادههای درون انبار داده
دادههای DW از نگاه Inmon دارای ۴ ویژگی اصلی زیر هستند:
غیرفرار و ماندگار(Non-Volatile) هیچ رکوردی و یا دادهای Update نخواهد شد و صرفاً رکوردهایی که محتوای مقادیر جدید دادهها هستند، به سیستم اضافه خواهند شد.
موضوع گرا (Subject-Oriented)
منظور از “موضوع” پایههای اساسی یک کسب و کار است، به شکلی که با حذف یکی از این پایهها، شاید ماهیت آن کسب و کار تغییر یابد. به بیان دیگر هر انبار داده ، دادههای مرتبط با یک موضوع خاص را نگهداری می کند که این دادهها جهت استخراج تحلیلهای خاص به کار گرفته میشوند.
باید تمامی کدهایی که در سیستمهای عملیاتی وجود دارند و معانی یکسانی دارند، برای مثال کد جنسیت، در Datawarehouse به یک روش ذخیره و نمایش داده شوند. با توجه به اینکه دادهها از سیستمها و منابع مختلف جمعاوری میگردند تکنیک های مختلف عملیات یکپارچهسازی و تجمیع دادهها به منظور تامین یکپارچگی داده به کار گرفته میشود.
زمانگرا (Time Variant)
هر رکورد باید حاوی فیلد و یا کلیدی باشد که نمایانگر این باشد که این رکورد در چه زمانی ایجاد، استخراج و ذخیره شده است. از آنجا که دادههای درون سیستمهای عملیاتی آخرین و به روزترین داده هر سیستم میباشد، نیازی به وجود چنین عنصری در سیستمهای OLTP احساس نمیگردد، ولی چون در DW تمام دادههای نسخ قدیمی دادههای سیستمهای عملیاتی موجود میباشد، باید حتماً مشخص گردد که هر دادهای در سیستمهای عملیاتی در چه زمانی، چه مقادیری داشته است.
ساختار ذخیرهسازی انبارداده
ساختار ذخیره سازی انبار داده از دو نوع جدول Fact و Dimenstion است.
Dimensionها، جدولهایی حاوی اطلاعات توصیفی هستند. اطلاعات توصیفی دادههای مانند نام مشتری، عنوان شغل، نام شرکت و حتی اطلاعات جغرافیایی محل سکونت مشتری میباشند. هر جدول Dimension حاوی فهرستی از فیلدها است که به آنها مشخصه (Attribute) میگویند. هر مشخصه حاوی اطلاعات توصیفی است و مشخصههایی که به یکدیگر مرتبط هستند در یک Dimension قرار میگیرند.
Fact جدولی حاوی فیلدهایی از نوع Measure و تعدادی Foreign Key است که به جداولی از نوع Dimension اشاره میکند. جدولهای Fact معمولاً تعداد زیادی از رکوردها را در خود ذخیره میکنند. اغلب فضای انبار داده – چیزی در حدود ۸۰ درصد – را به خود اختصاص میدهند.