در یک پروژهی OLAP از یک یا چند مکعب داده (Cube) استفاده میشود. از اینرو Cube به عنوان یکی از مزایای پروژه هوش تجاری شناخته میشود. قرار گرفتن دادهها در یک فرمت بهینه جهت ذخیرهسازی به انجام سریعتر کوئریها میانجامد. معمولا نحوه ذخیرهسازی اطلاعات حجیم در Cube باعث تاخیر در ذخیره و بازیابی انبوه اطلاعات میشود. به طور معمول در SSAS پردازش دادهها از یک بانک اطلاعاتی رابطهای به Cube منتقل میشود. پس از اتمام این ارتباط نه چندان طولانی میان پایگاه دادههای رابطهای و Cube اطلاعات وارد Cube میشوند و با تغییر دادهها در پایگاه داده هیچ تغییری در اطلاعات موجود در Cube ایجاد نمیشود مگر آنکه Cube را مجدد پردازش کنید.
در SSAS2008 سه نوع ذخیرهسازی وجود دارد؛ MOLAP، ROLAP و HOLAP
در این پست هر یک از انواع ذخیرهسازی را به صورت خلاصه شرح داده و در پایان با یکدیگر مقایسه میکنم.
MOLAP(Multidimensional Online Analytical Processing)
این نوع ذخیرهسازی بیشترین کاربرد در ذخیره اطلاعات را دارد همچنین به صورت پیش فرض جهت ذخیرهسازی اطلاعات انتخاب شده است. در این نوع تنها زمانی دادههای منتقل شده به Cube به روز میشوند که Cube پردازش شود که این امر باعث تاخیر بالا در پردازش و انتقال دادهها میشود.
ROLAP (Relational Online Analytical Processing)
در ذخیرهسازی ROLAP زمان انتقال بالا نیست که از مزایای این نوع ذخیرهسازی نسبت به MOLAP است. در ROLAP اطلاعات و پیشمحاسبهها (Aggregations) در یک حالت رابطهای ذخیره میشوند و این به معنای زمان انتقال نزدیک به صفر میان منبع داده (بانک اطلاعاتی رابطهای) و Cube میباشد. از معایب این روش میتوان به کارایی پایین آن اشاره کرد زیرا زمان پاسخ برای پرسوجوهای اجرا شده توسط کاربران طولانی است. دلیل این کارایی پایین بکار نبردن تکنیکهای ذخیرهسازی چند بعدی است.
HOLAP (Hybrid Online Analytical Processing)
این نوع ذخیرهسازی چیزی مابین دو حالت قبلی است. ذخیره اطلاعات با روش ROLAP انجام میشود، بنابراین زمان انتقال تقزیبا صفر است. از طرفی برای بالابردن کارایی، پیشمحاسبهها به صورت MOLAP انجام میگیرد در این حالت SSAS آماده است تا تغییری در اطلاعات مبداء رخ دهد و زمانی که تغییرات را ثبت کرد نوبت به پردازش مجدد پیشمحاسبهها میشود. با این نوع ذخیرهسازی زمان انتقال دادهها به Cube را نزدیک به صفر و زمان پاسخ برای اجرای کوئریهای کاربر را زمانی بین نوع ROLAP و MOLAP میرسانیم.
مقایسه انواع ذخیره سازی در جدول زیر نمایش داده شده است.
مدت زمان انتقال داده | سرعت اجرای کوئری | محل ذخیرهسازی پیشمحاسبات | محل ذخیرهسازی دادهها | |
بالا | بالا | Cube | Cube | MOLAP |
پایین | متوسط | Cube | بانک اطلاعاتی رابطهای | HOLAP |
پایین | پایین | بانک اطلاعاتی رابطهای | بانک اطلاعاتی رابطهای | ROLAP |