پردازش تحلیلی برخط برای پشتیبانی تصمیم OLAP for Decision Support سمینار درس سیستم های تصمیم یار هوشمند مسعود منصوری دی 1390

Download Report

Transcript پردازش تحلیلی برخط برای پشتیبانی تصمیم OLAP for Decision Support سمینار درس سیستم های تصمیم یار هوشمند مسعود منصوری دی 1390

‫پردازش تحلیلی برخط برای‬
‫پشتیبانی تصمیم‬
‫‪OLAP for Decision‬‬
‫‪Support‬‬
‫سمینار درس سیستم های تصمیم یار‬
‫هوشمند‬
‫مسعود منصوری‬
‫دی ‪1390‬‬
‫‪2/34‬‬
‫فهرست مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬پایگاه داده تحلیلی‬
‫‪ ‬قابلیت های ‪OLAP‬‬
‫‪ ‬بررسی مدل داده ای چند بعدی و رابطه ای‬
‫‪ ‬دسته بندی های ‪OLAP‬‬
‫‪ ‬جمع بندی‬
‫‪3/34‬‬
‫مقدمه‬
‫‪‬‬
‫هدف‪ :‬بررسی پردازش تحلیلی برخط (‪ )OLAP‬و چگونگی استفاده از آن‬
‫برای پشتیبانی تصمیم‪.‬‬
‫‪‬‬
‫‪ ،OLAP‬از توسعه ی مفهوم پایگاه داده استاندارد برگرفته شده است‬
‫(‪.)OLTP‬‬
‫‪‬‬
‫‪ OLTP‬به عملیات بروزرسانی‪ ،‬پرس و جو و نمایش داده های متنی و عددی‬
‫از پایگاه داده عملیاتی اشاره دارد‪.‬‬
‫‪‬‬
‫‪ OLAP‬به عملیات پرس و جو و ارائه داده های متنی و عددی از پایگاه داده‬
‫تحلیلی اشاره دارد‪.‬‬
‫‪4/34‬‬
‫تفاوت ‪ OLAP‬و ‪OLTP‬‬
‫پارامترهای ارزیابی‬
‫‪OLAP‬‬
‫‪OLTP‬‬
‫کارکرد‬
‫پشتیبانی تصمیم‬
‫عملیات روزانه‬
‫طراحی پایگاه داده‬
‫موضوع – گرا‬
‫کاربرد – گرا‬
‫داده‬
‫سابقه‪،‬خالصه شده‪،‬چند بعدی‪،‬سر‬
‫جمع‪،‬یکپارچه‬
‫جاری‪،‬به روز‪،‬با جزئیات‪،‬رابطه‬
‫ای‪،‬منفرد‬
‫کاربرد‬
‫خاص منظوره‬
‫عملیات تکرار شونده‬
‫واحد کاری‬
‫پرس و جوهای پیچیده‬
‫تراکنش های ساده و کوتاه‬
‫تعداد رکوردهای مورد دسترس ی‬
‫میلیون ها رکورد‬
‫دهها رکورد‬
‫تعداد کاربران‬
‫هزاران کاربر‬
‫صدها کاربر‬
‫اندازه پایگاه داده‬
‫گیگابایت ‪ -‬ترابایت‬
‫مگابایت – گیگابایت‬
‫‪5/34‬‬
‫پایگاه داده تحلیلی‬
‫‪‬‬
‫سازمان ها برای انجام عملیات روزانه از تعدادی منابع اطالعاتی عملیاتی‬
‫استفاده می کنند‪.‬‬
‫‪‬‬
‫یک پایگاه داده تحلیلی به عنوان یک منبع داده ای مجزا در سازمان ایجاد می‬
‫شود که هدف اصلی آن تحلیل داده برای پشتیبانی از فرآیندهای تصمیم گیری‬
‫مدیران می باشد‪.‬‬
‫‪‬‬
‫چرا پایگاه داده تحلیلی باید مجزا ایجاد شود؟‬
‫‪‬‬
‫‪‬‬
‫کارایی (سرعت) پرس و جوها‬
‫ایجاد یک پایگاه داده که بتواند بطور مستقیم برای اهداف عملیاتی و تحلیلی استفاده‬
‫شود‪ ،‬غیر ممکن است‪.‬‬
‫‪6/34‬‬
‫پایگاه داده تحلیلی ‪ETL -‬‬
‫‪( ETL ‬استخراج‪ ،‬تبدیل و بارگذاری)‬
‫‪‬‬
‫زیر ساختی برای تسهیل در بازیابی داده ها از پایگاه داده عملیاتی به‬
‫پایگاه داده تحلیلی‬
‫‪7/34‬‬
‫پایگاه داده تحلیلی – ‪Data Mart‬‬
‫‪‬‬
‫یک منبع داده ای است با اصولی مشابه با پایگاه داده تحلیلی اما در یک حوزه‬
‫ی محدودتر‬
‫‪‬‬
‫معموالً کوچکتر از پایگاه داده تحلیلی است و روی موضوع یا بخش خاصی‬
‫تمرکز دارد‪.‬‬
‫‪‬‬
‫مدلسازی ابعادی یک تکنیک مدلسازی در ‪data mart‬ها می باشد (همچنین‬
‫می تواند در پایگاه داده تحلیلی نیز استفاده شود)‬
‫‪8/34‬‬
‫پایگاه داده تحلیلی ‪ -‬ادامه‬
‫‪‬‬
‫انواع جداول در مدلسازی ابعادی‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫جدول ‪:fact‬‬
‫‪‬‬
‫‪‬‬
‫شامل حداقل یک معیار (معموالً عددی) از یک موضوع می باشد که برای‬
‫تحلیل‪ ،‬مدل شده است‪.‬‬
‫جدول ‪:dimension‬‬
‫‪‬‬
‫‪‬‬
‫‪Fact‬‬
‫‪Dimension‬‬
‫شامل ویژگی های توصیفی متنوع (معموالً متنی) که مرتبط با موضوع نشان داده‬
‫شده توسط جدول ‪ fact‬می باشد‪.‬‬
‫هدف از مدلسازی ابعادی ارائه دادن سواالتی است که پاسخ آنها تصمیم گیری‬
‫مناسب در یک حوزه تجاری خاص را میسر می سازد‬
‫‪9/34‬‬
‫پایگاه داده عملیاتی ‪-‬‬
‫مثال‬
‫‪10/34‬‬
‫پایگاه داده عملیاتی ‪-‬‬
‫مثال‬
‫‪11/34‬‬
‫پایگاه داده عملیاتی ‪-‬‬
‫مثال‬
‫‪12/34‬‬
‫پایگاه داده عملیاتی ‪-‬‬
‫مثال‬
‫‪13/34‬‬
‫پایگاه داده تحلیلی ‪-‬‬
‫مثال‬
‫‪14/34‬‬
‫پایگاه داده تحلیلی ‪-‬‬
‫مثال‬
‫‪15/34‬‬
‫یک پرس و جوی نمونه‬
‫‪“Find the ten products sold in stores of 20,000 sq ft. or higher, to the‬‬
‫‪customer with ‘Excellent’ credit rating the month of January for the‬‬
‫”‪past four years‬‬
‫‪‬‬
‫‪‬‬
‫پاسخ چنین سوالی با استفاده از یک پرس و جوی ساده در ‪data mart C‬‬
‫بدست می آید‪ ،‬در صورتی که بدون استفاده از ‪ data mart‬باید از پرس و‬
‫جوهای بسیار پیچیده ای استفاده کرد و نیاز به جستجو در پایگاه ها داده های‬
‫‪ A‬و ‪ B‬می باشد‪.‬‬
‫‪16/34‬‬
‫قابلیت های ‪OLAP‬‬
‫‪ ‬سه ویژگی پایه که توسط تحلیلگران استفاده می شود‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Slice and dice‬‬
‫‪ ‬افزودن‪ ،‬جایگزین کردن و حذف ویژگی یک بعد مشخص‬
‫)‪Pivot (rotate‬‬
‫‪ ‬سازماندهی مجدد (‪)reorganization‬‬
‫‪Drill down and drill up‬‬
‫‪ ‬کاهش یا افزایش میزان ‪ granularity‬داده‬
17/34
‫یک نمونه از پرس و جو‬

“For each individual store, show separately the number of product
units sold for each product category during workdays and during
holiday/weekend days.”
18/34
Slice-and-Dice

“For each individual store show the number of product units sold
for the camping product category during workdays.”
19/34
Slice-and-Dice

“For each individual store show separately the number of product
units sold to customers with different credit rating values during
workdays and during holiday/weekend days.”
20/34
Pivot

“For each individual store show separately the number of product
units sold for each product category during workdays and during
holiday/weekend days.”
21/34
Drilldown

“For each individual store, show separately the number of product
units sold for each product category, and within each product
category for each individual product name, during workdays and
during holiday/weekend days.”
‫‪22/34‬‬
‫مدل داده چند بعدی در مقابل رابطه ای‬
‫‪ ‬مدل داده رابطه ای یک مدل پایه برای سیستم های مدیریت‬
‫پایگاه داده رابطه ای (‪ )RDBMS‬می باشد که برای پیاده‬
‫سازی اکثر پایگاه داده های عملیاتی بکار می روند‪.‬‬
‫‪‬‬
‫‪Oracle, IBM DB2, MS SQL server‬‬
23/34
Data Mart
24/34
fact ‫پیاده سازی رابطه ای جدول‬
CalendarKey
ProductKey
StoreKey
Sale Amount
1
1
1
$100
1
2
1
$120
1
3
1
$200
0
0
0
0
‫‪25/34‬‬
‫پیاده سازی چندبعدی جدول ‪fact‬‬
‫‪(1,1,1) → $100‬‬
‫‪26/34‬‬
‫دسته بندی ‪OLAP‬‬
‫‪ ‬پردازش تحلیلی برخط چند بعدی (‪)MOLAP‬‬
‫‪ ‬پردازش تحلیلی برخط رابطه ای (‪)ROLAP‬‬
‫‪ ‬پردازش تحلیلی برخط ترکیبی (‪)HOLAP‬‬
‫‪27/34‬‬
‫پردازش تحلیلی برخط چند بعدی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ MOLAP‬داده را از پایگاه داده تحلیلی یا منابع عملیاتی می گیرد‪.‬‬
‫‪ MOLAP‬داده را در مکعب های چند بعدی ذخیره می کند‪.‬‬
‫پیچیدگی انجام این فرآیند از دید کاربر پنهان است‪.‬‬
‫‪‬‬
‫کاربر تنها عملیات ‪ OLAP‬استاندارد را اجرا می کند بدون دانستن اینکه‬
‫چگونه مکعب ها ساخته می شوند و چه تفاوتی با جداول رابطه ای دارند‪.‬‬
‫‪28/34‬‬
‫پردازش تحلیلی برخط چند بعدی ‪ -‬ادامه‬
‫‪‬‬
‫یکی از خصوصیات اصلی ‪ ،MOLAP‬فراهم کردن تحلیل های خیلی‬
‫سریع می باشد‪.‬‬
‫‪‬‬
‫‪‬‬
‫قبل از ذخیره داده در مکعب تحلیلی‪ ،‬محاسبات را انجام می دهد (‪pre-‬‬
‫‪)calculate‬‬
‫‪ MOLAP‬محل مناسبی برای نگهداری داده های همراه با جزئیات‬
‫سطح تراکنشی نمی باشد‪.‬‬
‫‪“sleeping bag ‘ZZZ Bag’ was sold to the customer Tina in the store S1‬‬
‫”‪on January1, 2006‬‬
‫‪“in Q1 of 2006, 200 units of products from the camping category were‬‬
‫‪sold to the customers with ‘excellent’ credit rating in Chicagoland‬‬
‫”‪stores‬‬
‫‪‬‬
‫سریع در بازیابی داده‪ ،‬کند در بروزرسانی مکعب‬
‫‪‬‬
‫‪‬‬
‫‪29/34‬‬
‫پردازش تحلیلی برخط رابطه ای‬
‫‪‬‬
‫ابزارهای ‪ ،ROLAP‬قابلیت های مشابه ‪ OLAP‬را فراهم می کنند‪.‬‬
‫‪‬‬
‫سرور ‪ ROLAP‬پرس و جو ها را به زبان ‪ SQL‬ترجمه می کند‪.‬‬
‫‪‬‬
‫پرس و جوی ‪ SQL‬برای پایگاه داده تحلیلی که بر روی زیر ساخت‬
‫‪ RDBMS‬قرار دارد فرستاده می شود‪.‬‬
‫‪‬‬
‫‪ RDBMS‬پرس و جو را ترجمه و نتیجه را برای سرور ‪ ROLAP‬می‬
‫فرستد و پس از آن برای کاربر فرستاده می شود‪.‬‬
‫‪30/34‬‬
‫پردازش تحلیلی برخط رابطه ای ‪ -‬ادامه‬
‫‪‬‬
‫‪ ROLAP‬محدودیتی از لحاظ اندازه پایگاه داده و نوع تحلیلی که‬
‫ممکن است اجرا شود ندارد‪ ،‬اما بدلیل نداشتن پیش پردازش‪ ،‬به‬
‫اندازه ی ‪ MOLAP‬سریع نیست‪.‬‬
‫‪ MOLAP ‬در مقابل ‪:ROLAP‬‬
‫‪ Tradeoff ‬بین کارایی و حافظه‬
‫‪31/34‬‬
‫پردازش تحلیلی برخط ترکیبی‬
‫‪ROLAP + MOLAP = HOLAP ‬‬
‫‪‬‬
‫در رویکرد ترکیبی‪ ،‬می توان از پایگاه داده رابطه ای برای ذخیره‬
‫سازی حجم زیادی از داده ها استفاده کرد و از پایگاه داده چندبعدی‬
‫برای ذخیره سازی داده های تجمیع شده استفاده کرد‪.‬‬
‫‪32/34‬‬
‫‪Desktop OLAP‬‬
‫‪‬‬
‫‪ DOLAP‬مانند ‪ MOLAP‬از مکعب های چند بعدی استفاده می کند‪ ،‬با‬
‫این تفاوت که در ‪ DOLAP‬مکعب ها توسط کاربر نهایی قابل دانلود می‬
‫باشد‪.‬‬
‫‪‬‬
‫مکعب های استفاده شده در ‪ DOLAP‬کوچکتر از مکعب های‬
‫‪ MOLAP‬می باشد‪.‬‬
‫‪‬‬
‫استفاده از این مکب ها ساده ولی دارای قابلیت های محدودی می باشند‪.‬‬
‫‪‬‬
‫ساده به دلیل حجم کم داده و محدود به دلیل وجود داده های ایستا‬
‫‪33/34‬‬
‫جمع بندی‬
‫‪‬‬
‫کارکردهای ‪ :OLAP‬ارائه روشی مناسب برای دسترسی کاربران به داده‬
‫ها و پشتیبانی از تصمیمات مدیران‬
‫‪‬‬
‫انواع ‪:OLAP‬‬
‫‪‬‬
‫‪ HOLAP ،ROLAP ،MOLAP‬و ‪DOLAP‬‬
‫‪‬‬
‫قابلیت های ‪ OLAP‬امکان تحلیل را روی داده های تجمیع شده فراهم‬
‫می کند‬
‫‪‬‬
‫تفاوت ‪ MOLAP‬و ‪:ROLAP‬‬
‫‪‬‬
‫‪ Tradeoff‬بین حافظه و کارائی‬
34/34
‫مرجع‬

N. Jukic, B. Jukic, and M. Malliaris, “Online Analytical
Processing (OLAP) for Decision Support,” Handbook on
Decision Support Systems 1, pp. 259–276, 2008.