مفهوم اساسی انبار داده (Data warehouse) که به نام پایگاه داده تحلیلی نیز شناخته میشود، تسهیل نسخه واحد حقایق برای یک شرکت جهت تصمیمگیری و پیشبینی است. انبار داده یک سیستم اطلاعاتی است که شامل دادههای تاریخی و مبادلهای از منابع منفرد یا چندگانه است. مفاهیم انبار داده روند گزارشگری و تجزیه و تحلیل سازمانها را ساده میکند.
مشخصات انبار داده
مفاهیم انبار داده دارای مشخصات زیر است:
- موضوع گرا
- یکپارچه
- متغیر با زمان
- غیر فرّار
۱- موضوع گرا
انبار داده موضوعگرا است زیرا اطلاعات مربوط به یک موضوع را بجای فعالیتهای مداوم شرکتها ارائه میدهد. این موضوعات میتوانند فروش، بازاریابی، توزیع و … باشند.
انبار داده هرگز بر روی عملیات در حال انجام تمرکز نمیکند. در عوض، پس از اتمام آن را بر مدلسازی و تجزیه و تحلیل دادهها برای تصمیمگیری، ذخیره میکند. همچنین با کنار گذاشتن دادههایی که برای حمایت از روند تصمیمگیری مفید نیستند، یک دیدگاه ساده و مختصر در مورد موضوع خاص فراهم میکند.
۲- یکپارچه
در انبار داده، ادغام به معنای ایجاد یک واحد اندازهگیری مشترک برای همه دادههای مشابه از پایگاه داده غیر مشابه است. همچنین دادهها باید به صورت مشترک و قابل قبول جهانی در انبار داده ذخیره شوند.
انبار داده با تلفیق دادهها از منابع مختلف مانند یک فریم اصلی، پایگاه دادههای رابطهای، پروندههای مسطح و غیره ایجاد میشود. علاوه بر این، باید نامگذاریها، قالب و کدگذاری ثابت را حفظ کند.
این یکپارچهسازی به تجزیه و تحلیل موثر دادهها کمک میکند. از ثبات در نامگذاری کنوانسیونها، معیارهای مشخصه، ساختار رمزگذاری و غیره باید اطمینان حاصل شود. به مثال زیر توجه کنید:

در مثال فوق، سه برنامه مختلف با برچسب A ، B و C وجود دارد. اطلاعات ذخیره شده در این برنامهها جنسیت، تاریخ و تعادل است. با این حال، دادههای هر برنامه به روشهای مختلف ذخیره میشود.
- در برنامه A فیلد جنسیتی مقادیر منطقی مانند M یا F را ذخیره میکند
- در برنامه B فیلد جنسیتی یک مقدار عددی است
- در برنامه C، قسمت جنسیتی به صورت یک مقدار کاراکتر ذخیره میشود
تاریخ و تراز نیز همین روند را دارد. با این حال، پس از تغییر شکل و تمیز کردن، تمام این دادهها در قالب مشترک در انبار داده ذخیره میشوند.
۳- متغیر با زمان
خط زمانی انبار داده در مقایسه با سیستمهای عملیاتی کاملاً گسترده است. دادههای جمع آوری شده در یک انبار داده با یک دوره خاص شناخته میشوند و اطلاعات را از نظر تاریخی ارائه میدهند. این شامل عنصری از زمان، به طور صریح یا ضمنی است.
یکی از چنین مکانهایی که واریانس زمان نمایش دادههای انبار داده را در نظر دارد، ساختار کلید ضبط است. هر کلید اصلی همراه با اطلاعات خاص باید به طور ضمنی یا صریح عنصر زمان داشته باشد. مانند روز، ماه هفته و غیره.
جنبه دیگر واریانس زمان این است که به محض قرار دادن دادهها در انبار، نمی توان آنها را به روز کرد یا تغییر داد.
۴- غیر فرّار
انبار داده همچنین غیر فرار است به این معنی که دادههای قبلی هنگام ورود اطلاعات جدید در آن پاک نمیشوند.
دادهها فقط خواندنی هستند و به صورت دورهای تازه میشوند. این مهم همچنین به تجزیه و تحلیل دادههای تاریخی و درک اینکه چه اتفاقی افتاده کمک میکند. این مسئله به مکانیزمهای فرآیند تراکنش، بازیابی و کنترل همزمان نیاز ندارد.
فعالیتهایی مانند حذف، به روزرسانی و درج که در یک محیط برنامه عملیاتی انجام میشوند، در محیط انبار داده حذف میشوند. فقط دو نوع عملیات دادهای انجام شده در انبار داده موجود است:
- بارگیری اطلاعات
- دسترسی به داده
در اینجا، برخی از تفاوتهای عمده بین برنامه عملیاتی (Application) و انبار داده وجود دارد. به جدول زیر دقت کنید.
برنامه عملیاتی | انبار داده |
برای اطمینان برنامه باید کدگذاری شود تا فرآیندهای به روزرسانی داده باعث حفظ یکپارچگی بالای محصول نهایی میشوند. | این نوع مسائل اتفاق نمیافتد زیرا به روزرسانی داده انجام نمیشود. |
دادهها در فرم نرمال قرار میگیرند تا حداقل افزونگی حاصل شود. | دادهها به صورت نرمال ذخیره نمیشوند. |
فناوری مورد نیاز برای پشتیبانی از مسائل مربوط به معاملات، بازیابی دادهها، برگشت مجدد و وضوح، لازم است. | کارشناس مربوطه این کار را به سادگی در تکنولوژی آن ارائه می دهد. |
معماری انبار داده
معماری انبار داده پیچیده است زیرا یک سیستم اطلاعاتی است که شامل دادههای تاریخی و مبادلهای از چندین منبع است. سه روش برای ساخت لایههای انبار داده وجود دارد: تک ردیف، دو ردیف و سه ردیف. این سه طبقه معماری انبار داده به شرح زیر توضیح داده شده است.