Tuesday, April 25, 2017   
Search   
 

PDR Co.Arsa Co. Tada Co.

Register   Login   
مقالات » OLAP آشنایی با مفاهیم فناوری تحلیل داده ها  
Minimize
آشنایی با مفاهیم فناوری تحلیل داده ها (OLAP) 

با تشکر از خانم مهندس سحر بهرامی جم

 
 
 
مقدمه:
سیستمهای اطلاعاتی تحلیلی در مقابل سیستم های عملیاتی ، سیستمهای هستند که امکان تحلیل داده های انبوه حاصل از سیستمهای عملیاتی را برای تمامی سطوح کاربران فراهم می کنند . سيستم های عملياتی در سازمانهای بزرگی مانند بانکها به صورت روزانه پردازشهای اطلاعاتی فراوانی را به انجام رسانده و به توليد اطلاعات گوناگون می پردازند. بانکهای اطلاعاتی اين سازمانها با داده های فراوان حاصل از تراکنش های مالی، اداری حسابداری و... روبرو می شوند.
اطلاعات پایه سیستمها همانند اطلاعات کاربران و سطوح دسترسی آنهامعمولا با تغييرات روزانه مواجه نیستند اما اطلاعات عملياتی نظیر عملیات تجاری،خرید و فروش محصولات و ...میتوانندحتی بطور لحظه ای تغييرکنند.
تحليل و پردازش درست و دقیق اطلاعات عملياتی می تواند در تولید نتايج آماری در جهت تصميم گيريهای کلان مديريتی موثر بوده و به مديران کمک کند تا تصميمات بهینه ای برای موفقيت سازمان خود بگيرند .
برای آناليز و پردازش اين اطلاعات و تسهيل و سرعت بخشيدن به عمليات گزارش گيري و پرس و جوهای متنوع به جای تحليل مستقيم داده ها از درون سيستم های عملياتی ، از سيستم ها و پايگاه داده‌ های تحليلی استفاده می شود که خارج از حوزه سیستم های عملیاتی قرار داشته و سرعت بسیار بالایی دارند.
پايگاه داده‌ های تحليلي نسخه هاي متنوعی از داده هاي تراکنشي را به صورت اختصاصي براي پرس و جوها و گزارش گيري ،سازمان دهي می کنند.به این ترتیب کاربراني مانند مدیران سازمان که  خارج از سیستم های عمیاتی قرار دارند می توانند گزارش ها و پرس و جوهاي مورد نظر خود را تهيه کنند .
پايگاه داده‌ های تحليلي OLAP از منابع داده‌اي متفاوت یک سازمان‌ و یا حتی چندین سازمان و ارگان‌ وابسته به هم تهيه مي‌شود. اين پايگاه داده بستر مناسبي را فراهم مي‌آورد كه داده‌هاي بايگاني شده در سیستمهای عملياتي و مستقل از هم سازمان، به صورت مجتمع، خلاصه شده، و يكپارچه و سازمان يافته درآمده و براي استخراج مناسب اطلاعات در دسترس مدیران باشند.

 
OLAP   چیست؟
 
سيستم های OLAP نام خود را از عبارت (Online Analytical Process) با معنی تحت اللفظی "سيستم های پردازش تحلیلی برخط" گرفته اند.می‌ توان به جای OLAP از واژه پردازش سریع اطلاعات چند بعدی و یا به عبارت بهتر از " فن آوری تحلیل داده ها" استفاده کرد. این سیستمها بر اساس تکامل سیستمهای OLTP به معنی پردازش آنلاين تراکنش ها (On Line Transaction Processing ) ایجاد شده اند .
سيستم های OLAP برای ارائه پاسخهای سريع به سوالات و جستجوهای تحليلی روی داده های "چند بعدی" طراحی شده اند .بطور معمول اگر بخواهيم مشابه همين پرس و جوهای تحليلی را روی سيستم های اطلاعاتی عادی OLTP اجرا کنيم ممکن است نتايج در زمانی طولانی و غيرکاربردی بازگردانده شود در حالیکه استفاده از OLAP تضمين می کند که اطلاعات و گزارشات تحليلی با زمان پاسخ مناسبی به کاربر تحويل داده شود.
کاربردهای معمول OLAP عبارتند از : گزارشات تجاری فروش ، بازاريابی ، گزارشات مالی و مواردی از این قبیل.    این سيستم ها داده های خود را به نحوی خاص نگهداری می کنند که از نظر سرعت در برخورد با داده های چند بعدی بهتر از سیستمهای OLTP عمل می کنند و از اين رو به آنهابانکهای اطلاعاتی سلسله مراتبی (Hierarchical) هم گفته می‌شود.
OLAP و پایگاه داده های مربوطه با استفاده از یک ساختار سلسله مراتبی و یک data model چندبعدی قدرتمند جهت سازماندهی اطلاعات به ساده سازی محاسبات پرداخته وگزارشاتی بسیار سریع‌تر نسبت به روش های قبلی ارائه می دهند.
بانکهای اطلاعاتی به کار رفته در OLAP که Datawarehouse یا انبار داده ها نامیده می شوند متشکل از مکعبهای اطلاعاتی چند بعدی بوده که امکان آنالیز سریع اطلاعات پایگاه داده های مختلف را فراهم می‌آورند. بعنوان مثال يک پایگاه داده چند بعدی می تواند فروش کل ساليانه را با ماه فروش ، تعداد مشتری و قیمت متقاطع سازد. حاصل اين تقاطع اين است که گزارشات بسيار متنوعی مثل مجموع فروش در ماه خاص يا بهترين قیمت و مشتری سال و ... از سيستم به راحتی قابل استخراج است.
 
مکعبهای  OLAP با استفاده از data model  جامع خودQuery های کارآمد و پر سرعتی را ارئه داده و جایگزین بهتری برای خلاصه سازی جداول هستند. محاسبات پیچیده میتوانند براحتی درون این مکعبها قرارگرفته و باعث بهبود کیفیت تحلیل برنامه های کاربردی شوند.
مثلا یک مکعب OLAP می تواند شامل محاسبات مقایسه ای فروش سال جاری هر منطقه و خط تولید با همان زمان در سالهای قبل باشد.در واقع ساختار این مکعب ها برای بهینه چنین گزارشات و تحلیل هایی بهینه شده است.
 
عمده عملیات روی Database می تواند شامل  update،insert،delete و ... باشد اما Datawarehouse که یک مکعب چند بعدی با صدها برابر گنجایش یک Database است که به عنوان اصلی ترین وظیفه اش به کاربر data ارائه میدهد و میتواند اطلاعات را در قالبهای متنوع برای نیازهای مختلف نگهداری کند.
پرس و جوهای کاربران در روزهای مختلف غیر قابل پیش بیش بینی هستند. به عنوان مثال شاید لازم شود فروش یک هفته را با همان هفته در چند سال پیش مقایسه کرد. با سیستمهای relational بهینه کردن چنین درخواست هایی بسیار مشکل است.برای برآوردن این نیاز Database وDBAها بصورت متناوب viewها و خلاصه جدول هایی را تولید میکنند.خروجی یک سیستم OLAP به صورت کلی یک ماتریس می‌باشد و ابعاد مختلف داده‌، ستونها و سطرهای ماتریس راتشکیل می‌هند.
تکنيکهای بسیاری جهت جمع آوری ، پالايش و آناليز داده ها نظير OLAP، Data Mart ، Warehousing  و Data Mining با هدف استخراج اطلاعات از رکوردهای عملياتی سازمان و نظم دهی آن به منظور انجام تحليل های مختلف وجود دارد.
 
 
تعاريف عمده فناوری OLAP :
 
انباره داده یا Data Warehouse : انبار داده ها در اواخر دهه 80 و اوایل دهه 90، در پاسخ به نياز روزافزون سازمانهای بزرگ برای کسب اطلاعات تحليلی و مديريتی از داده‌های درون سيستم های عملياتی (OLTP)ابداع شده و به عنوان نوع خاصی از پایگاه های داده مورد توجه قرار گرفت .
انبار داده ها يک پايگاه اطلاعاتی بزرگ است که به جمع آوری ، يکپارچه سازی و ذخيره‌ اطلاعات متنوع يک سازمان را با هدف توليد گزارشات چندجانبه و دقیق بر عهده دارد. اين قابليت ها در کنار امکانات پشتيبانی از فعاليتهای تحليل و گزارش دهی آسان و انفصال از فشارهای عملياتی به رشد روز افزون اين سيستمها منجر شد.
سيستم های عملياتی به دلايل عدم طراحی اختصاصی آنها جهت گزارش گیری گسترده و يکپارچه، با تولید گزارشات کند و گران قيمت از کارائی و امکانات لازم برای ارائه اطلاعات پویا و راهگشای مدیریتی برخوردار نیستند.بنابراین از فناوری OLAP و راهکار ایجاد انبار داده ها با استفاده از همگن کردن و یکپارچه سازی داده ها جهت تبدیل داده های نامتجانس به اطلاعات قابل استفاده در زمینه های مختلف استفاده می شود.
 
خصوصیات اساسی انبار داده ها : انبار داده ها موضوع گرا (Subject-oriented) است  ،یعنی داده ها از بانکهای اطلاعاتی مختلف بصورت انتخابی به انبار داده منتقل شده و بر اساس موضوعات خاص دسته بندی می شوند. بنابراین کاوش داده ها در پرس و جوهای خاص با سرعت و دقت بيشتری انجام مي گردد.همچنین انبار داده ها مبتنی بر زمان است و تغييرات داده ها بر اساس بازه های زمانی متفاوت نگهداری شده و در گزارشات تحليلی مورد استفاده قرار میگیرد.به همین ترتیب انبار داده ها غيرقابل تغییر و غیر فرار می باشد و داده ها در آن بازنويسی و حذف نمی شود.بلکه تغييرات در بازه های زمانی مختلف نگهداری می شوند تا پاسخگوی ارجاعات مختلف باشد.
سيستم های انبارداده مراحل تکاملی زير را طی می کنند:
1-داده ها از سيستم عملياتی به يک سيستم غیر عملیاتی منتقل می‌شوند تا از کارهای بروزرسانی و تغییرات لحظه ای خارج شده و برای پردازش های تحليلی آماده شوند.
 
 2-داده ها در فواصل زمانی منظم (روزانه ، هفتگی و ...) از سيستم های عملياتی مختلف جمع آوری شده و پس از یکپارچه سازی به سيستم انبارداده ها کپی می شوند.
3-داده های انبار داده به ازای هر تراکنش يا تغيير در سيستم های عملياتی تغيير می‌کند و مطابق تغييرات بروز  می شوند.
4-انبار داده می تواند تراکنش هایی برای ایجاد تغییرات در داده های سيستم های عملياتی توليد کند که بر فعاليت روزمره سيستم های عملياتی و سازمان تاثير مثبت گذاشته و به مرور سیستم را یادگیرنده و پویا می کند.
 
مرکز داده ها يا Data Mart: انبار داده ها حجم عظيمي از اطلاعات را در واحد هاي منطقي كوچكتری به نام  Data Mart نگهداري مي كند Data Mart ها نمونه های کوچکی از انبارداده ها بوده و همانند آنها حاوی کپی هایی ثابت از داده هایی هستند که در موارد خاص استفاده می شوند .  Data Martها می تواند وابسته يا مستقل از هم باشند. هر Data Mart ، داده ها و ابعاد (Dimension ) خاص خود را دارد که می تواند با بقیه به اشتراک بگذارد.
 
داده کاوی یا Data Mining: ابزارهاي داده كاوي بدنبال طرحها و گروه بندي هايي در داده ها مي گردد كه ممكن است از ديد ما پنهان مانده باشد.
در داده كاوي اين ابزار است كه استفاده كننده را هدايت مي كند. ابزار فرض  مي كند كه شما خود نيز دقيقا نمي دانيد كه چه مي خواهيد. اولين گام داده کاوی هدفدار ، انتخاب مجموعه داده ها برای تحليل است. داده ها ميتواند از انبار داده ها و یا بانک های اطلاعاتی عملياتی استخراج شود . داده ها پس از جمع آوری و حذف موارد تکراری در قالبهای یکسان تجمیع و پاکسازی می شوند. سپس با استفاده از منابع مناسب ،اطلاعات ناقص اصلاح و کدگذاری شده و با ساختار جدیدی آماده میشوند.به این ترتیب داده ها برای داده کاوی آماده است و می توان به سوالات مختلف داده کاوی از بسته های نرم افزاری مختلفی همانند Oracle OLAP Server يا DB2 OLAP Server که شامل ابزارهای داده کاوی قدرتمندی هستند پاسخ داد.
 

نحوه عملکرد سيستم های OLAP  :
 
سيستم OLAP به صورت مرتب از داده های منابع اطلاعاتی مختلف کپی های خلاصه شده برداشته و آنها را در مکعبهای داده ای (Cube) مرتب می کند. پرس و جوهای کاربران می تواند روی اين مکعب اجرا شود . روش هاي مختلف طراحي انبار داده ها امكان پردازشهای بهینه را بر روي مقادیر زیادی ازداده ها فراهم مي آورند. پرس و جوهای پيچيده روی سيستم های OLAP به زمانی حدود تنها 0.1 درصد از زمان اجرای جستجوهای مشابه روی سيستم‌های OLTP احتياج دارند.
انواع ويژه اي از الگوهاي پايگاه داده ها به نام ستاره ای یا دانه برفی براي طراحی انبار داده چند بعدی وجود دارد. در اين حالت، پايگاه داده ها از يك جدول مركزي و جداول چند بعدي تشكيل شده است روابط بین آنها کاملا مشخص است. برای دستيابی به سرعت بالا و زمان کوتاه ، سيستم هایOLAP   جداول اطلاعاتی خود را در آرايش های ستاره ای يا دانه برفی مرتب می کنند. ساختار OLAP مثل یک مکعب روبیک است که می توانید آنرا در جهات مختلف بچرخانید تا بتوانید تحلیل هایی از دیدگاههای مختلف را بررسی کنید.
نحوه عملکرد این سیستمها به این صورت است که معیارهای اساسی تحلیل به عنوان ابعاد مختلف یک مکعب در نظر گرفته شده و این مکعب در انبار داده ها ساخته می شود. این ابعاد می توانند در سطوح مختلف و به صورت سلسله مراتبی نیز وجود داشته باشند.مثلا میزان فروش کل می تواند از سه بعد زمان ، نوع محصول و مشتری ساخته شود.زمان می تواند در سلسله مراتبی متشکل از سال، ماه، هفته، روز و.... قرار گیرد .
یک بار که جداول حقیقی به OLAP  معرفی شده و مکعب های متعدد با ابعاد یا (Dimension)های متنوع ساخته شدند،ابزارهای گزارش گیری مبتنی بر OLAP محیطی ساده را جهت استفاده کاربران از این اجزا فراهم می کند.
به این ترتیب هر کاربری قادر است به بررسی نتایج از دیدگاه خاص خود و بر مبنای سلسله مراتب و سطوح مختلف اطلاعاتی بپردازد.
 
 

انواع مختلف سيستم های OLAP :
 
در حال حاضر انواع مختلف OLAP وجود دارد، مثل Multi dimensional OLAP وRelational OLAP و Hybrid OLAP
 
1- سيستم های OLAP چند بعدی یا MOLAP:
این سیستمها بدليل ساختار خاص نگهداری اطلاعات از سرعت بالاتری نسبت به ساير مدلها برخوردارند و بجای ذخیره کردن اطلاعات در رکورد های کلید دار، بانکهای اطلاعاتی خاصی را برای خود طراحی کرده اند بطوریکه داده ها را به شکل آرایه های مرتب شده بر اساس ابعاد داده ذخیره می کنند . اين سيستم ها جداول داده های حقیقی وجداول چند بعدی را با ايندکسهای فشرده نگهداری کرده و جستجوهای تحليلی پيچيده را در حداقل زمان اجرا می کنند.  سرعت این ابزار بالا ولی سایز بانک اطلاعاتی آن نسبتا کوچک است.
2- سيستم های OLAP رابطه ای یا ROLAP :
این ابزارها با ایجاد یک بستر روی بانکهای رابطه ای اطلاعات را ذخیره   و بازیابی می کنند. بطوریکه اساس بهینه سازی برخی بانکهای اطلاعاتی رابطهای بر همین اساس استوار است.
سيستم های ROLAP عمليات OLAP را در قالب استفاده از مدل سنتی Relational ساماندهی می کنند و لذا از سيستم های MOLAP کندتر عمل می کنند و به فضای بيشتری نيز نياز دارند.
3- سيستم های OLAP از نوع HOLAP :
منظور از hybrid ترکیبی از ROLAP و MOLAP است که دارای بانک اطلاعاتی بزرگ و راندمان بالاتر نسبت به ROLAP می باشد. سيستمهای HOLAP به شکل بينابينی پياده سازی شده اند . يعنی داده های Fact را در جداول فشرده و داده های Dimension را در فضای رابطه ای نگهداری می کنند لذا مزايای هردو مدل را دارند.