OLAP مجموعهای از مکعبها (Cubes) است. داخل این مکعبها دادههایی قرار دارند که از پیش انتخاب شدهاند. ارتباطات بین ابعاد از قبل تعریف شده و همه ابعاد (نتایج) از قبل محاسبه و پیشبینی شده است. هنگامی که یک مکعب ایجاد میشود، یک واسط کاربر نهایی که میتواند یک داشبورد باشد برای یک فرد واقعی پیادهسازی میشود که کاربر نهایی(مدیران و تصمیم گیرندگان سازمان) بتواند با جوابهای داخل مکعب تعامل داشته باشد.
اما فرض کنید در یک مکعب برای تحلیل فروش در یک سازمان مقدار و مبلغ فروش را بر اساس ابعادِ مناطق فروش، فروشنده (بازاریاب)، مشتری و ماه یا سال داشته باشیم. زمانی که این مکعب فرضی ساخته میشود، نرمافزار مبتنی بر OLAP کلیه ترکیبات عناصر دادهها را محاسبه و ذخیره میکند، کاربر نهایی به این دادهها از طریق داشبوردها و یا یک سری فرمها مثلا Pivot Table ها یا انواع دیگر فرمها دسترسی خواهد داشت.
در این مثال فرضی کاربر نهایی محدود به تحلیل در محدوده ابعاد از قبل تعریف شده مثل مناطق، نمایندگیها، مشتریها و ماه است. اگر کاربر بخواهد درباره فروش هفتگی، روزهای هفته یا محصولات فروخته شده (و یا صدها ترکیب دیگر از دادهها) اطلاعاتی کسب کند دیگر شانسی برای بدست آوردن آن ندارد، باید صبر کند که مکعب دیگری از اطلاعات مورد نیاز او ایجاد شود که این یعنی محدودسازی و کاهش بهرهوری و اثربخشی برای تصمیمگیران آن سازمان. به عبارت دیگر کاربر نهایی باید نیازهای خود را از پیش شناخته و برای این نیازها Cubeها، جداول حقایق (Fact) و ابعاد (Dimension) مورد نیاز را پیاده سازی کند تا با کنار هم قرار دادن گزارشات مختلف تا حدودی به دانش استخراج شده و مورد نیاز خود دست پیدا کند.OLAP برخی از قابلیتهای تحلیل را فراهم میکند، اما تقریبا میتوان گفت در کشورهای پیشرفته یک رویکرد قدیمی است و متاسفانه در کشور ما همچنان ناشناخته! یا کمتر شناخته شده است. در حال حاضر انواع مختلف OLAPوجود دارد، مثل MultiDimensiona OLAP (MOLAP) که به آن MMD نیز گفته میشود و Relational OLAP (ROLAP) یاRDBMS و سیستم های OLAP از نوع
HOLAP.
در پست جداگانه به تشریح انواع OLAP و مقایسه آنها میپردازم.
از دادهکاوی برای کاوش در اطلاعات و بدست آوردن دانش استفاده میشود. برای اینکار الگوریتمهای زیادی وجود دارد که هر یک برای هدف خاصی کاربرد دارند. در SQL Server Business Intelligence Development Studioتعداد 9 الگوریتم مختلف برای انجام عمل دادهکاوی وجود دارد که در پنج دسته کلی به شرح زیر تقسیم میشوند.
الگوریتمهای طبقهبندی(Classification algorithms)
در این نوع از الگوریتمها پیش بینی بر اساس یک یا چند متغیر گسسته بر روی سایر ویژگیهای موجود در مجموعه دادهها انجام میشود.
الگوریتمهای رگرسیون(Regression algorithms)
در این نوع از الگوریتمها پیش بینی بر اساس یک یا چند متغیر پیوسته بر روی سایر ویژگیهای موجود در مجموعه دادهها میشوند.
الگوریتمهای دستهبندی(Segmentation algorithms)
این الگوریتمها اطلاعات را به چند گروه یا خوشه تقسیم میکنند. هر گروه ویژگیهای مشابه دارد.
الگوریتمهای وابستگی(Association algorithms)
ارتباط میان ویژگیهای مختلف موجود در مجموعه دادهها از طریق این الگوریتم کشف میشود. از این الگوریتم بیشتر در تجزیه و تحلیل سبد خرید کالا استفاده میشود.
الگوریتمهای تحلیل زنجیرهای(Sequence analysis algorithms)
این نوع الگوریتمها نتیجهی رویدادهای خاص را دنبال میکنند. مانند دنبال کردن رخدادهای آدرس یک سایت اینترنتی.
لازم به ذکر است که تعاریف و دستهبندیهای بالا دلیلی برای محدود کردن استفاده از یک الگوریتم نیست. معمولا در یک تحلیل خوب از یک الگوریتم برای تعیین ورودیهای موثر و از الگوریتمهای دیگر برای بدست آوردن پیش بینیهای مناسب در خروجی استفاده میشود. برای مثال، در یک مدل دادهکاوی میتوانید از الگوریتمهای خوشهبندی، درخت تصمیم و بیز جهت بررسی دادهها از جهات مختلف و کشف دانش استفاده کرد.
پارتیشن (Partitions)
معمولا زمانی از پارتیشن استفاده میکنیم که با حجم زیادی از دادهها روبرو باشیم. برای پردازش دادههای حجیم زمان زیادی را باید صرف کرد، از طرفی نیازی نیست دادههای از پیش پردازش شده را مجدد پردازش نمود و فقط باید دادههای جدیدی که به انبار دادهها اضافه میشوند را مورد پردازش قرار داد.جهت اینکار دادهها را پارتیشن بندی میکنیم.
پیشمحاسبه(Aggregation)
کلمه Aggregation در لغت به معنای تجمیع و تراکم است اما مفهوم آن در SSAS پیشمحاسبه (Precalculated) است. به این معنا که در هنگام پردازش دادهها یک پیشمحاسبه نیز انجام میشود. این عمل همانند آماده و همراه داشتن خلاصهای از پاسخهای احتمالی، پیش از طرح سوال است. برای مثال زمانی که با یک جدول از هزاران رکورد روبرو هستیم، در هر زمان برای پاسخ به هر یک از سوالها (کوئری) زمان زیادی طول میکشد تا پاسخ مناسب دریافت شود. در صورتی که اگر پاسخ سوالات از پیش آماده شده باشند سرعت پاسخ گویی به مراتب بیشتر میشود.
Perspective
در OLAP برای دستهبندی و جداسازی معیارها، ابعاد، KPIها و... از Perspective استفاده میشود.
Browser
در SSAS خروجی Cubeهای ایجاد شده در این قسمت نمایش داده میشوند.
MDX
زبان برنامهنویسی در OLAP است که مخفف Multidimensional Expressions میباشد.
مجموعه داده(Named Set)
یکی از ابزارهای موجود در سربرگ Calculations، مجموعه داده است که توسط آن میتوان عضوهای یک بٌعد خاص را دسته بندی کرد. برای مثال میتوانیم 10 عضو برتر بعد مشتری را که بیشترین خرید را داشتهاند نمایش داد. این عملیات توسط عبارات MDX انجام میگیرد.
Script Command
در این قسمت از MDX برای ایجاد عبارات خاص استفاده میشود.
Named Query
در واقع همان View است. توسط این قسمت میتوان Viewهایی در DSV ایجاد کرد. دیدهای ایجاد شده فقط در SSAS نمایش داده میشوند.
Named Calculation
در صورت نیاز به تعریف Attribute در ابعاد استفاده میشود. برای تعریف این نوع Attribute از عبارات MDX و Query استفاده میشود.
Mining Structure
پروژههای دادهکاوی در این قسمت تعریف میشوند.
Mining Models
برای ایجاد مدلهای مختلف دادهکاوی و اعمال تغییرات در خصوصیات آنها از این قسمت استفاده میشود.
Mining Model Viewer
در SSAS خروجی مدلهای دادهکاوی در این قسمت نمایش داده میشوند.
Mining Accuracy
جهت بررسی بهتر صحت خروجیهای نمایش داده شده و همچنین مقایسه مدلهای دادهکاوی ساخته شده در Mining Models از این قسمت استفاده میشود.
Mining Model Prediction
در برخی از الگوریتمها قابلیت پیشبینی وجود دارد. از این قسمت برای ایجاد پیش بینی استفاده میشود.
DMX
زبان برنامهنویسی در دادهکاوی است که مخفف Data Mining Expressions میباشد.
تکنیکهای بسیاری جهت جمع آوری ، پالایش و آنالیز داده ها نظیر OLAP و Data Mining با هدف استخراج اطلاعات از رکوردهای عملیاتی سازمان و نظم دهی آن به منظور انجام تحلیل های مختلف وجود دارد.
یکی از متداولترین سوالات در حوزه پردازش دادهها به صورت حرفهای در مورد تفاوت داده کاوی و OLAP میباشد. این دو ابزار در عین حال که تفاوتهایی با هم دارند مکمل یکدیگر نیز میباشند.
کاربر در مورد یک رابطه و تائید آن با مجموعهای از پرس و جوها در مقابل دادهها، به شکل یک فرضیه روبرو است. به عنوان مثال ممکن است تحلیلگر بخواهد تا عواملی که سبب ناتوانی در بازپرداخت بدهی وام منجر میگردد را تجزیه و تحلیل نماید.
در تجزیه و تحلیل پایگاه داده OLAP ابتدا ممکن است این گونه فرض شود که افرادی که در اعتبارات مالی درآمد پایین و ریسک بالا دارند، نتوانند بدهی خود را پرداخت کنند و فرضیه افراد کم درآمد و کم اعتبار تائید (و یا رد) شود.
اگر فرضیه توسط دادهها تصدیق نشد تحلیلگر ممکن است به بدهی بالا به عنوان عامل منجر به ریسک نگاه کند. اگر این مطلب را دادهها نیز تایید نکنند او ممکن است بدهی و درآمد را با هم به عنوان بهترین نمایانگر ریسک اعتبار مالی بد در نظر بگیرد.
به عبارت دیگر OLAP یک تجزیه و تحلیلی از مجموعهای از فرضیهها تولید کرده و پارامترها و ارتباطات را برای استفاده به سمت کوئری های پایگاه داده برای تائید یا رد آنها ارسال میکند. تجزیه و تحلیلهای OLAP برای پردازشهای استنتاجی یک ضرورت است.
داده کاوی با OLAP تفاوت دارد زیرا الگوهای فرضیهها را سریعتر تائید میکند، با استفاده از همان دادهها به کشف الگوهای همانند میپردازد و همچنین برای پردازشهای استنتاجی ضروری میباشد. برای مثال فرض کنید شخصی قصد داشته باشد تا فاکتورهای همراه با ریسک جهت وام گرفتن را با استفاده از داده کاوی تجزیه و تحلیل و شناسایی کند. ممکن است ابزارهای داده کاوی اشخاص با بدهی بالا، درآمد پایین و اعتبار مالی بد را کشف کنند. این نوع تجزیه و تحلیل ممکن است از موارد تاثیرگذار دیگری چشم پوشی کند. بعنوان مثال سن می تواند یک عامل تعیین کننده در بازپرداخت وام باشد.
اینجا جایی است که داده کاوی و OLAP میتوانند یکدیگر را کامل کنند. قبل از کار بر روی الگو و تجزیه و تحلیل بر روی اطلاعات، نیاز به دانستن پیامدهای مالی و همچنین خواستار کشف الگوهایی برای کنترل اعتبار کافی اشخاص میباشیم. تکنولوژی OLAP میتواند به این قسمت از سوال پاسخ دهد. در OLAP با استفاده از MDX و با دقت و تمرکز خود بر روی مقادیر مهم میتواند استثناها را شناسایی و یا تعاملات را کشف کند.