درس مکعب داده (Data Cube) را حتما خواندهاید. در آن درس گفتیم که دادهها را میتوان جهت پردازش، به مکعبدادههایی تبدیل کرد تا با استفاده از ابعاد مختلفِ آن مکعبداده، بتوان دادهها تحلیل کرد. اما این تحلیل یک نام دارد که به آن در اصطلاح OLAP میگویند. در این درس میخواهیم به بررسی OLAP و انواع مختلف آن بپردازیم.
OLAP سیستمی است جهت پردازش دادههای برخط (Online). در واقع OLAP خلاصهشدهی Online Analytical Processing و بیانگر این موضوع است که میتوان دادههایی را که در پایگاهدادههای مختلف وجود دارند را تحلیل کرد. اگر درس انبار داده (Data Warehouse) را خوانده باشید، در آن درس گفتیم که دادهها در انبار داده از منابع گوناگون جمعآوری میشوند. حال OLAP سیستمی است که میتواند بر روی این دادههای چند بُعدی عملیات تحلیلی را انجام دهد.
فرض کنید مثالی مانند مثال درس مکعبداده داریم. شکل زیر را از آن درس دوباره تکرار میکنیم:
همانطور که میبینید در اینجا میخواهیم فروش یک سازمان را بررسی کنیم و برای اینکار از پایگاهدادها و جداول مختلف، اطلاعات را گردآوری کردهایم. اگر میخواستیم این کار را بدون استفاده از مکعب داده انجام دهیم، میبایستی برای هر سوال (مثلا فروش فصل اول در شهر تهران چقدر بوده است) یک پرس و جو (Query) بر روی پایگاه داده مینوشتیم (توجه کنید که ابعاد خیلی بیشتر از این ۳بُعد است) و این نیازمند Joinهای مختلف و Query سنگین بود که برای پایگاهدادههای بزرگ احتمالا زمان زیادی (حتی در حد چند ساعت) تلف میشد. ولی در مکعب داده و با کمک سیستمهای OLAP میتوان این دادهها را با توجه به موضوع خاصی که به دنبال آن هستیم (در این مثال مقدار فروش) تجمیع و گردآوری کنیم و به سرعت پاسخ پرس و جو (Query)های خود را به دست آوریم.
یکی از کاربردهای اصلی OLAP در ساخت گزارشات و داشبوردهای مدیریتی است. در این نرمافزارها، یک مدیر میخواهد گزارشات متعددی را به سرعت از سیستم دریافت کند. مثلا مدیر فروشگاه میخواهد بفهمد که در فصل اول و دوم، مجموع فروش لوازم الکترونیکی در فروشگاههای غرب کشور چقدر بوده است؟ این کار یک نوع گزارشگیری محسوب میشود و با تکنولوژیهای OLAP، یک مدیر میتواند با سرعت بیشتری به پرسشهای خود دست پیدا کند.
OLAP انواع مختلفی دارد و نویسندگان در متون و مقالات مختلف با اسامی و واژههای متنوعی به آن اشاره میکنند. در زیر به چند نمونه از انواع OLAP و توضیح هر یک میپردازیم:
ROLAP: مخفف Relational OLAP یا OLAP رابطهای است. این نوع OLAP از پایگاهدادههای رابطهای مانند SQL Server و MySQL جهت پیادهسازی استفاده میکند. مثال بالا (فروشگاه زنجیرهای) را به یاد بیاورید. اگر این مکعب داده که شکل آن را بالا (و در درس مکعبداده) رسم کردیم، در پایگاهدادهی رابطهای مانند SQL Server و با جداول (Tables) پایگاهداده پیادهسازی کنیم، در واقع نمونهای از ROLAP را انجام دادهایم.
MOLAP: مخفف Multidimentional OLAP یا OLAP چند بُعدی است. مانند همان مثال شکل بالا که یک موضوع را در ۳بُعد به نمایش گذاشتیم و مقدار حقیقی (در اینجا فروش به تومان) موضوع اصلی ما در مکعب داده بود.
HOLAP: مخفف Hybrid OLAP یا OLAP ترکیبی است. در واقع ترکیبی از MOLAP و ROLAP میباشد. در اینجا مقادیری که تجمیع شدهاند (مانند مقدار فروش در مثال بالا) در MOLAP و جزئیات به صورت ROLAP ذخیره میشود. به این صورت از ویژگیهای مثبت هر دو MOLAP و ROLAP بهرهمند میشود.
WOLAP: مخفف Web OLAP است. OLAPهایی که بر روی مرورگر وب قابل دسترسی باشند در این گروه قرار میگیریند.
MOLAP: مخفف Mobile OLAP است. OLAPهایی که بر روی دستگاههای تلفن همراه (معمولا گوشیهای هوشمند) قابل دسترسی باشند در این گروه قرار میگیرند.
به طور خلاصه OLAP یک سیستم تحلیلی است که میتواند با کمک مکعبدادهها، پاسخ به سوالات سریعتر و در نهایت تحلیلهای بهتری را بر روی دادههای یک سازمان، شرکت یا گروه به وجود بیاورد. به همین دلیل است که در فرآیندهای هوش تجاری بر روی دادههای زیاد و کلانِ یک سازمان، OLAP نقش ویژهای دارد.
- ۱ » هوش تجاری (Business Intelligence) چیست؟
- ۲ » انبار داده (Data Warehouse) چیست؟
- ۳ » مفهوم مکعب داده (Data Cube) در انباردادهها
- ۴ » پردازش تحلیلی برخط یا همان OLAP چیست؟
- ۵ » تفاوت OLAP و OLTP چیست؟
- ۶ » فرآیند ETL در انبار داده (Extract, Transformation, Load)
- ۷ » ELT در انبار داده و تفاوت آن با ETL
- ۸ » طراحی انبار داده با شِمای چند بُعدی (Multidimensional Schema)
- ۹ » بازار داده (Data Mart) چیست و چه تفاوتی با انبار داده (Data Warehouse) دارد؟
- ۱۰ » دریاچه داده (Data Lake) چیست؟