در دنیای روبهرشد تحلیل داده ها، دو سیستم پردازش حیاتی وجود دارد که با هم کار میکنند تا اطلاعات را به عمل تبدیل کنند: OLTP و OLAP. اما این کلمات اختصاری دقیقاً چه چیزی را نشان میدهند و چگونه متفاوت هستند؟
این مقاله به معرفی OLAP و OLTP و تمایزات کلیدی میان آنها میپردازد و عملکردها، نقاط قوت و موارد استفاده هر یک را بررسی میکند. با درک این سیستمهای پردازش داده های حیاتی، بینشهای ارزشمندی در مورد اینکه چگونه کسبوکارها از اطلاعات برای اجرای عملیات و تصمیمگیری آگاهانه استفاده میکنند، به دست خواهید آورد. با ما همراه باشید.
OLAP چیست؟
OLAP مخفف online analytical processing، به معنای پردازش تحلیلی آنلاین، یک روش محاسباتی است که کاربران را قادر میسازد تا بهراحتی و به طور انتخابی، داده ها را استخراج کرده و روی آنها پرسوجو انجام دهند تا بتوانند آنها را از دیدگاههای مختلف تجزیهوتحلیل کنند. پرسوجوهای هوش تجاری OLAP اغلب به تحلیل روندها، گزارشگری مالی، پیشبینی فروش، بودجهبندی و سایر اهداف برنامهریزی کمک میکنند.
دادههای کسبوکار معمولاً دارای ابعاد متعددی هستند که میتوان بر اساس آنها، دادهها را برای ارائه، ردیابی یا تجزیهوتحلیل تقسیم کرد. برای مثال، ارقام فروش ممکن است دارای چندین بعد مرتبط با مکان (منطقه، کشور، ایالت/استان، فروشگاه)، زمان (سال، ماه، هفته، روز) و نوع محصول (لباس، مردان/زنان/کودکان، برند، نوع) باشند.
در یک انبار داده یا دریاچه داده، مجموعههای داده در جداول ذخیره میشوند که میتوانند دادهها را تنها در دو بعد و در یکزمان سازماندهی کنند. در اینجا، OLAP دادهها را از مجموعه دادههای رابطهای استخراج کرده و آنها را در قالبی چندبعدی سازماندهی میکند که پردازش و تجزیهوتحلیل بسیار سریع را امکانپذیر میسازد.
مکعب داده (Data Cube) در OLAP
هسته اصلی اکثر سیستمهای OLAP، مکعب داده OLAP است. Data Cube یک پایگاه داده چندبعدی مبتنی بر آرایه است که پردازش و تحلیل ابعاد چندگانه داده را بسیار سریعتر و کارآمدتر از یک پایگاه داده رابطهای سنتی ممکن میسازد.
به زبان ساده، یک جدول پایگاه داده رابطهای، مانند یک صفحه Excel ساختاریافته است که رکوردها را در قالب دوبعدی ردیف و ستون ذخیره میکند؛ هر داده در تقاطع دو بعد – یک ردیف و یک ستون – مانند منطقه و فروش کل قرار دارد. SQL و ابزارهای گزارشگیری از پایگاه داده رابطهای، میتوانند دادههای چندبعدی ذخیرهشده در جداول را پرسوجو، گزارش و تجزیهوتحلیل کنند، اما با افزایش حجم دادهها، عملکرد آنها کاهش مییابد؛ زیرا سازماندهی نتایج برای تحلیل ابعاد مختلف، به کار زیادی نیاز دارد.
این همان جایی است که مکعب داده OLAP وارد میشود. مکعب OLAP هر جدول را با لایههای اضافی گسترش میدهد که هر لایه، یک بعد را اضافه میکند. برای مثال، لایه بالایی مکعب ممکن است فروش را بر اساس منطقه سازماندهی کند و لایههای اضافی میتواند کشور، ایالت/استان، شهر و حتی فروشگاه خاص باشد.
در تئوری، یک مکعب میتواند شامل بینهایت لایه باشد (مکعب OLAP که بیش از سه بعد را نشان میدهد، گاهی اوقات ابرمکعب نامیده میشود). همچنین این امکان وجود دارد که در هر لایه، مکعبهای کوچکتر وجود داشته باشد؛ برای مثال، هر لایه فروشگاه میتواند حاوی مکعبهایی باشد که فروش را بر اساس فروشنده و محصول ترتیب میدهند. در عمل، تحلیلگران داده برای تجزیهوتحلیل و عملکرد بهینه، مکعبهای OLAP را تنها روی لایههای موردنیاز خود میسازند.
تحلیلگران میتوانند پنج نوع عملیات تحلیلی OLAP را در برابر این پایگاه داده های چندبعدی انجام دهند:
- Drill-down: عملیات Drill-down، دادههای کم جزئیات را از طریق یکی از این دو روش، به دادههای با جزئیات بیشتر تبدیل میکند. برای مثال، اگر دادههای فروش را در تقویم یک سازمان در نظر بگیرید، میتوانید برای مشاهده فروش هر ماه، در سلسلهمراتب مفهومی، بعد «زمان» را به سمت پایین حرکت کنید.
- حرکت به سمت پایین در سلسلهمراتب مفهومی
- افزودن بعد جدیدی به مکعب
- Roll up: Roll up برعکس تابع drill-down است: با بالارفتن در سلسلهمراتب مفهومی یا با کاهش تعداد ابعاد، داده ها را روی یک مکعب OLAP جمع میکند. برای مثال، میتوانید با مشاهده دادههای هر کشور، بهجای هر شهر، در سلسلهمراتب مفهومی بعد «مکان» به سمت بالا حرکت کنید.
- Slice and dice: این عملیات، با انتخاب و برش یک بعد از مکعب اصلی OLAP ، یک مکعب فرعی را ایجاد میکند. برای مثال، میتوانید با برجستهکردن تمام دادههای اولین فصل مالی یا تقویمی سازمان (بعد زمانی) یک برش انجام دهید. همچنین میتوان با انتخاب چندین بعد در مکعب اصلی OLAP ، یک مکعب فرعی را جدا کرد. بهعنوانمثال، میتوانید یک عملیات Slice and dice را با برجستهکردن همه دادهها توسط تقویم یا فصلهای مالی سازمان (بعد زمانی) و در ایالات متحده و کانادا (بعد مکان) انجام دهید.
- Pivot: تابع Pivot، نمای مکعب فعلی را میچرخاند تا نمایش جدیدی از دادهها را نمایش دهد؛ بنابراین امکان نمایش چندبعدی پویا از دادهها را فراهم میکند. تابع Pivot با ویژگی جدول محوری در نرمافزار اکسل قابل مقایسه است و نسبت به آن، استفاده نسبتاً آسانتری دارد؛ تخصص کمتری نیاز داشته و زمان پاسخگویی سریعتری دارد.
OLAP با داده های جمعآوریشده از چندین منبع و ذخیره شده در یک انبار داده آغاز میشود. سپس داده ها پاک شده و در مکعبهای OLAP ذخیره میشوند که کاربران پرسوجوها را بر اساس آن اجرا میکنند
انواع سیستمهای OLAP
سیستمهای OLAP معمولاً به یکی از سه نوع زیر تقسیم میشوند:
- OLAP چندبعدی (MOLAP): مستقیماً در یک پایگاه داده چندبعدی ذخیره میشود. MOLAP سریعترین و کاربردیترین نوع تجزیه و تحلیل داده چندبعدی است.
- OLAP رابطهای (ROLAP): تحلیل چندبعدی پویا از داده های ذخیره شده در یک پایگاه داده رابطهای را ارائه میدهد. ROLAP زمانی بهترین انتخاب است که توانایی کار مستقیم با مقادیر زیاد داده، مهمتر از عملکرد و انعطافپذیری باشد.
- OLAPترکیبی : (HOLAP) ترکیبی از ROLAP و MOLAP در یک OLAP یکپارچه است؛ HOLAP ظرفیت داده بیشتر ROLAP را با قابلیت پردازش برتر MOLAP ترکیب میکند. این سیستم میتواند مقیاسپذیری بهتری ارائه دهد، اما نمیتواند از کندی اجتنابناپذیر هنگام دسترسی به منابع دادههای رابطهای فرار کند.
کاربردهای OLAP
OLAP کسبوکارها را قادر میسازد تا پتانسیل دادههای شرکتی خود را، با تبدیل آنها به کاربردیترین قالب برای تحلیل چندبعدی، به حداکثر برسانند و بهاینترتیب، تشخیص بینشهای ارزشمند تجاری را آسانتر کنند.
OLAP را میتوان برای داده کاوی یا کشف روابط ناشناخته میان اقلام داده استفاده کرد. لازم نیست پایگاه داده OLAP بهاندازه یک انبار داده بزرگ باشد، زیرا همه داده های تراکنش، برای تحلیل روند موردنیاز نیستند. با استفاده از Open Database Connectivity، داده ها را میتوان از پایگاه داده های رابطهای موجود، برای ایجاد یک پایگاه داده چندبعدی وارد کرد.
محصولات OLAP عبارتاند از IBM Cognos، Microsoft Power BI، Oracle OLAP و Tableau. البته ویژگیهای OLAP در ابزارهایی مانند Microsoft Excel و Microsoft SQL Server’s Analysis Services نیز گنجانده شده است. محصولات OLAP معمولاً برای محیطهای چندکاربره طراحی میشوند که در آنها، هزینه نرمافزار بر اساس تعداد کاربران است.
OLTP چیست؟
OLTP مخفف Online transactional processing، پردازش تراکنش آنلاین است که امکان اجرای در لحظه تعداد زیادی از تراکنشهای پایگاه داده توسط افراد مختلف را معمولاً از طریق اینترنت فراهم میکند. OLTP چیزی است که پردازش سریع و دقیق دادهها را در پشت دستگاههای خودپرداز و بانکداری آنلاین، صندوقهای نقدی و تجارت الکترونیک و تعداد زیادی از خدماتی که هر روز با آنها در تعامل هستیم، امکانپذیر میسازد.
تراکنش پایگاه داده شامل یک تغییر، درج، حذف یا پرسوجو از داده ها در پایگاه داده است. سیستمهای OLTP، بسیاری از تراکنشهای مالی که هر روز انجام میشود را هدایت میکنند؛ از جمله تراکنشهای بانکی آنلاین و خودپرداز، تجارت الکترونیک و خرید در فروشگاه و رزرو هتل و هواپیمایی. در هر یک از این موارد، تراکنش پایگاه داده نیز به عنوان رکورد تراکنش مالی مربوطه باقی میماند. OLTP همچنین میتواند مبادلات پایگاه داده غیرمالی، از جمله تغییر رمز عبور و پیامهای متنی را هدایت کند.
در OLTP، مشخصه مشترک و تعیینکننده هر تراکنش پایگاه داده، اتمیک بودن (تقسیمناپذیری) آن است؛ یک تراکنش یا بهطورکلی موفق میشود یا شکست میخورد (لغو میشود). درواقع تراکنش نمیتواند در حالت معلق یا میانی باقی بماند.
ویژگیهای یک سیستم OLTP
بهطورکلی، سیستمهای OLTP کارهای زیر را انجام میدهند:
- پردازش تعداد زیادی از تراکنشهای نسبتاً ساده: معمولاً به درج، بهروزرسانی و حذف دادهها و همچنین انجام درخواستهای ساده روی دادهها (مثلاً بررسی موجودی در دستگاه خودپرداز) میپردازد.
- فعالسازی دسترسی چندکاربره به دادههای یکسان و اطمینان از یکپارچگی دادهها: سیستمهای OLTP با استفاده از الگوریتمهای همزمانی، اطمینان حاصل میکنند که هیچ دو کاربر نمیتوانند به طور همزمان، دادههای یکسانی را تغییر دهند و همه تراکنشها به ترتیب مناسب انجام میشوند. این امر باعث میشود افراد نتوانند هنگام استفاده از سیستمهای رزرو آنلاین، یک اتاق را دوبار رزرو کنند. همچنین دارندگان حسابهای بانکی مشترک را از اضافه برداشتهای تصادفی محافظت میکند.
- پردازش بسیار سریع، با زمان پاسخ در میلیثانیه: اثربخشی یک سیستم OLTP با تعداد کل تراکنشهایی که میتوان در هر ثانیه انجام داد، اندازهگیری میشود.
- ارائه مجموعه داده های ذخیره شده: این مجموعهها برای جستجوی سریع، بازیابی و پرسوجو استفاده میشوند.
- 24/7/365 در دسترس هستند: سیستمهای OLTP تعداد زیادی از تراکنشهای همزمان را پردازش میکنند، بنابراین هرگونه از دست دادن داده یا خرابی میتواند پیامدهای مهم و پرهزینهای داشته باشد. به این ترتیب، یک نسخه پشتیبان کامل از اطلاعات باید در هر لحظه در دسترس باشد. سیستمهای OLTP نیاز به پشتیبانگیری منظم مکرر و پشتیبانگیری افزایشی ثابت دارند.
سیستمهای OLTP، بسیاری از تراکنشهای مالی که هر روز انجام میشود را هدایت میکنند
مثال سیستمهای OLTP
از زمان پیدایش اینترنت و آغاز عصر تجارت الکترونیک، سیستمهای OLTP در همهجا رشد کردهاند. آنها تقریباً در هر صنعت یا بازار عمودی و در بسیاری از سیستمهای مصرفکننده یافت میشوند. نمونههای روزمره سیستمهای OLTP شامل موارد زیر است:
- دستگاههای خودپرداز و برنامههای بانکی آنلاین
- پردازش پرداخت اعتباری (چه بهصورت آنلاین و چه در فروشگاه)
- ثبت سفارش (خردهفروشی و پشتیبان)
- رزرو آنلاین (بلیت، سیستم رزرو و غیره)
- نگهداری سوابق (از جمله سوابق بهداشتی، کنترل موجودی، برنامهریزی تولید، پردازش ادعاها و بسیاری از برنامههای کاربردی دیگر)
تفاوت OLTP و OLAP چیست؟
OLTP اغلب با پردازش تحلیلی آنلاین یا OLAP اشتباه گرفته میشود. با اینکه هر دو حروف اختصاری مشابهی دارند و سیستمهای پردازش داده آنلاین هستند، اما با یکدیگر تفاوت زیادی دارند.
سیستم OLTP برای اجرای تراکنشهای پایگاه داده آنلاین بهینه شده است. سیستمهای OLTP برای استفاده توسط کارکنان مرتبط با مشتریان (مانند صندوقداران، عابربانکها، کارمندان میز کار) یا برنامههای خدمات مشتری (مانند بانکداری آنلاین، تجارت الکترونیک، رزرو سفر) طراحی شدهاند.
از سوی دیگر، OLAP برای انجام تجزیهوتحلیلهای پیچیده بهینه شده است. سیستمهای OLAP برای استفاده توسط دانشمندان داده، تحلیلگران کسبوکار و مهندسان دانش طراحی شدهاند و از نرمافزار هوش تجاری (BI)، داده کاوی و سایر نرمافزارهای تصمیمگیری، پشتیبانی میکنند.
از تفاوتهای فنی میان سیستمهای OLTP و OLAP میتوان به موارد زیر اشاره کرد:
- سیستمهای OLTP از یک پایگاه داده رابطهای استفاده میکنند که میتواند تعداد زیادی کاربر همزمان، درخواستها و بهروزرسانیهای مکرر را در خود جای دهد. سیستمهای OLAP از یک پایگاه داده چندبعدی استفاده میکنند و از زمان پاسخ بسیار سریعی را فراهم میکند.
- پرسوجوهای OLTP ساده هستند و معمولاً تنها یک یا چند رکورد پایگاه داده را شامل میشوند. پرسوجوهای OLAP پرسوجوهای پیچیدهای هستند که شامل تعداد زیادی رکورد هستند.
- زمان پاسخگویی به پرسوجو و تراکنش در OLTP بسیار سریع است؛ اما زمان پاسخ OLAP معمولاً کندتر است.
- سیستمهای OLTP اغلب داده ها را تغییر میدهند (این ماهیت پردازش تراکنش است) اما سیستمهای OLAP بههیچوجه داده ها را تغییر نمیدهند.
- بارهای کاری OLTP شامل خواندن و نوشتن است؛ اما بارهای کاری OLAP خواندنی هستند.
- پایگاه داده های OLTP به فضای ذخیرهسازی نسبتاً کمی نیاز دارند. در مقابل پایگاههای داده OLAP با مجموعه داده های عظیم کار میکنند و معمولاً نیاز به فضای ذخیرهسازی قابلتوجهی دارند.
- سیستمهای OLTP نیاز به پشتیبانگیری مکرر یا همزمان دارند. سیستمهای OLAP را میتوان بهمراتب کمتر پشتیبانگیری کرد.
در دنیای همیشه در حال تکامل داده ها، درک نقاط قوت OLTP و OLAP برای رسیدن به بینشهای ارزشمند، بسیار مهم است. OLTP جریان روان تراکنشها را تضمین میکند و موتور کسبوکار را روشن نگه میدارد. از سوی دیگر، OLAP در دادههای تاریخی جستجو کرده و روندها و الگوهایی را آشکار میکند که هدایتگر تصمیمگیری استراتژیک هستند. با استفاده از این دو سیستم، سازمانها می توانند به یک هم افزایی قدرتمند دست پیدا کند؛ بهرهوری عملیاتی که توسط هوش مبتنی بر داده تامین میشود.
منابع
- ibm.com
- techtarget.com