فروش ویژه سرور اختصاصی
ماکرونت : OLTP و OLAP چیست؟
- تیر 23, 1401
- 0
- ملیحه ایزی
پایگاه داده یک بخش ضروری از هر نرم افزار است. ما باید اطلاعات را در قالبهای ساختاریافته ذخیره کنیم و آن را بازیابی کنیم. ما داده ها را در پایگاه داده های رابطه ای با استفاده از پرس و جوهای SQL ذخیره می کنیم یا از پایگاه های داده No-SQL استفاده می کنیم، اما توسعه دهندگان تنها کاربران پایگاه های داده نیستند. شرکتها بخشهای کاملی برای کار با پایگاه داده دارند: تحلیلگران داده و دانشمندان داده.
آنها اطلاعات را برای ساختن گزارش ها، پیش بینی ها، یافتن رفتارها و تجزیه و تحلیل رفتارهای کاربر پردازش می کنند. استفاده از موتورهای پایگاه داده مشابهی که توسعه دهندگان انجام می دهند واقعاً برای آنها کار نمی کند. در اینجا دلیل و راه حل چیست.
OLTP
Online transactional processing (OLTP) برای تعامل در زمان واقعی در مقیاس بزرگ داده طراحی شده اند. به طور معمول این یک پایگاه داده رابطه ای مانند PostgreSQL، MySQL و غیره است.
فرض کنید شما یک حساب بانکی دارید و از طریق اپلیکیشن نصب شده بر روی گوشی و وبسایت بانک مربوطه میتوانید خدمات موردنیازتان را انجام دهید، موجودی حساب شما 1میلیون تومان است. حال فرض کنید در یک لحظه (به صورت همزمان) با نرمافزار تلفن همراه و وبسایت، با هر کدام، قصد دارید ۷۰۰هزار تومان به حساب شخص دیگری انتقال دهیم. یعنی جمعا قصد انتقال ۱میلیون و ۴۰۰هزار تومان توسط دو سیستم (تلفن همراه و وبسایت) به صورت همزمان به حساب شخص دیگری را دارید. این یعنی شما میخواهید ۴۰۰هزار تومان بیشتر از موجودی خود در یک زمان انتقال دهید. در اینجا از سیستمهای OLTP استفاده میشود تا تراکنشها را به صورت دقیق در پردازش محاسبه کند و اجازه ندهد در یک لحظه تراکنشی مانند تراکنش فوق انجام شود. مشاهده میکنید که OLTP برای پردازش دادههایی انجام میشود که نیاز به تحلیل (Analysis) خاصی ندارند و تراکنشها (Transactions) نقل اصلی و اساسی را ایفا میکنند.
OLTP با اسید نیز سازگار است، ACID به معنای بانک اطلاعاتی است که دارای خواصی از قبیل اتمی بودن ، سازگار ، منزوی و با دوام است.
Atomicity: این خاصیت که به خاصیت همه یا هیچ معروف است، با پیروی از این قانون میدانیم تراکنش نصف و نیمه انجام نمی شود یا پول تماما به حساب واریز می شود و یا تماما برگشت میخورد.
Consistency: سازگاری، که به این معناست در هر حال باید مقادیر موجود سازگار باشد مثلا اگر 100 تومان پول از حساب کاربر اول کاهش پیدا می کند به حساب کاربر دوم همان 100 تومان واریز شده است. البته در لحظه ای که از حساب کاربر اول برداشته شده و هنوز به حساب کاربر دوم نشسته شده سازگاری نقض می شود.
Isolation: تراکنش ها باید از یکدیگر بصورت ایزوله انجام شوند.یعنی این تراکنش ها باید طوری اجرا شوند که انگار، فقط همین تراکنش در حال اجرا در کل پایگاه داده است.
Durability: پایداری، به این معناست که یک تراکنش بعد از اتمام، باید در حافظه باقی بماند. تراکنش ها در حافظه باقی می ماند و از بین نمیرود.
OLAP
یک فناوری است که برای سازماندهی پایگاه های داده کسب و کار بزرگ و پشتیبانی از هوش تجاری استفاده می شود. پایگاههای داده OLAP به یک یا چند مکعب تقسیم میشوند و هر مکعب توسط یک مدیر مکعب سازماندهی و طراحی میشود تا با روشی که دادهها را بازیابی و تجزیه و تحلیل میکنید، ایجاد و استفاده از گزارشهای PivotTable و گزارشهای PivotChart که نیاز دارید آسانتر باشد.
سیستم ها به گونه ای ساخته شده اند که تجزیه و تحلیل دادهها را با توجه به مکعبهای داده و دادههای تجمیع شده را سریع بر روی مجموعه داده های بزرگ انجام دهند. اینها معمولاً بخشی از انبارهای داده برای فعال کردن بخش های هوش تجاری هستند.
برای مثال اگر شرکتی بخواهد میزان فروش بهمن سال ۹۷ را با میزان فروش بهمن سال ۹۶ خود مقایسه کند و دادههای زیادی هم داشته باشد، بهتر است از OLAP استفاده کند (بهتر است مکعبداده بسازد و تحلیلها را بر روی آن انجام دهد). در حالی که اگر همین شرکت بخواهد یک فروشگاه اینترنتی راه بیندازد که خرید و فروش آنلاین محصولاتش را داشته باشد، به یک سیستم OLTP (مانند فروشگاههای آنلاین) نیاز دارد.
مکعب داده چیست؟
دادهها در SQL و یا Excel به صورت دو بُعدی (مستطیلی) ذخیره و نمایش داده میشوند اما در مکعبداده (Data Cube)، دادهها به صورت چند بُعدی نمایش داده میشوند و هر بُعد یک ویژگی از انبارداده ما را نمایش میدهد.
تصویر بالا یک مکعب داده را در سه بعد نمایش میدهد که میتواند ابعاد بیشتری نیز داشته باشد ولی در اینجا برای فهم و نمایش بهتر در یه بعد نمایش داده شده است. فرض کنید این مکعب داده مربوط به فروشگاه زنجیره ای می باشد که در همه جای ایران شعبه دارد و میخواهیم 4 محصول مختلف را در 4 فصل سال بررسی کنیم در کدام شعبه فروش بیشتری داشته است.
در مثال فوق شهر تهران در فصل اول سال ماده شوینده را به مبلغ 100/000/000 که با رنگ قرمز نمایش داده شده است فروخته است.(زیرا این مکعب محل طلاقی سه بُعد فصل اول، تهران و نوع لوازم شوینده بوده است).
عملیات اصلی در مکعب داده
در مکعب داده ها چندین عملیات مختلف انجام پذیر است که در اینجا به 4 مورد از مهمترین موارد می پردازیم: Drill Down، Roll Up، Slice و Dice و Pivot
مفهوم Drill Down یا رفتن به عمق. فرض کنید میخواهیم Drill Down را در مثال بالا بر روی بُعد زمان انجام دهیم. که از سطح فصل به یک سطح پایینتر یعنی ماه تغییر میدهیم.
Drill Down شدهی مکعب مپال قبلی در بُعد زمان چیزی مانند شکل زیر است:
عکس عمل Drill Down، عمل Roll Up است.
در عملیات Slice ما میتوانیم یک بعد را حذف کنیم (ابعاد دیگر باقی میمانند).
در این تصویر بعد زمان حذف شده است و دو بعد دیگر باقی مانده است.
در عملیات Dice ابعاد حفظ میشوند ولی از هر بعد میتوان یک یا چند مقدار را حذف کرد.
نحوه عملکرد سیستم
سیستم OLAP به صورت مرتب از داده های منابع اطلاعاتی مختلف کپی های خلاصه شده برداشته و آنها را درمکعب های داده ای مرتب می کند. پرس و جوهای کاربران می تواند روی این مکعب اجرا شود. روش های مختلف طراحی انبارداده ها امکان پردازش های بهینه را بر روی مقادیر زیادی از داده ها فراهم می آورند.
مزایا
سرعت بالا: تجمیع داده ها و پیش محاسبات امکان اجرای سریع پرس و جوهای پیچیده را فراهم می کند.
نمایش راحت داده ها: ساختار داده چند بعدی برای تجسم ساده داده ها و تجزیه و تحلیل داده ها از دیدگاه های مختلف مناسب است.
اصطلاحات تجاری قابل فهم: برای عملیات گزارش های OLAP نیازی به کمک یک فرد متخصص IT نیست.
Ranet OLAP
یکی از نرم افزارهای موجود برای تست این تحلیل ها بر روی دیتابیس، نرم افزار Ranet می باشد که با نسخه دمو آن بصورت آنلاین می توانید با عملکردهای اولیه بر روی مکعب داده ها آشنا شوید.
به عنوان مثال، کاربران را قادر می سازد تا اتصالات را به مکعب ها و پایگاه داده های مختلف OLAP تنظیم کنند. این گزارشهای تعاملی را بر اساس فرادادههای موجود تولید میکند و دادهها را در جداول محوری و نمودارها تجسم میکند و به کاربران اجازه میدهد محاسبات سفارشی و قوانین سبک سلول را تنظیم کنند. اکثر ابزارهای OLAP ادغام آسان با برنامه های کاربردی را نیز فراهم می کنند.
این نسخه به کاربران این امکان را می دهد که بر روی مکعب داده ها عملیات slice, dice و… انجام داده و قدرت کامل پردازش تحلیلی آنلاین را در برنامه های خود قرار دهند.
با استفاده از نسخه ی Demo، می توانید الگوهای گزارش تحلیلی پیشرفته را در عمل امتحان کنید:
– روش های تحلیل داخلی: ABC، XYZ، ABC/XYZ، واریانس (از جمله قیمت و حجم) و غیره.
– اجرای سریع محاسبات بزرگ و پیچیده
– معیارهای پویا، فیلترها و خدمات drill-down.
– تنظیمات قالب بندی داده های انعطاف پذیر
– ایجاد و نگهداری آسان
– سازگاری با انواع داده ها
OLAP و معماری ابری
OLAP شرکتها را قادر میسازد تا پتانسیل دادههای شرکتی خود را با تبدیل آن به عملیترین قالب برای تحلیل چند بعدی به حداکثر برسانند. این به نوبه خود، تشخیص بینش های ارزشمند تجاری را آسان تر می کند. با این حال، اگر این سیستم ها در داخل خانه نگهداری شوند، پتانسیل مقیاس پذیری را محدود می کند.
سرویسهای OLAP مبتنی بر ابر هزینه کمتری دارند و راهاندازی آنها آسانتر است و برای کسبوکارهای کوچک یا استارتآپهای با بودجه جذابتر میشوند. شرکت ها می توانند از پتانسیل گسترده انبارهای داده مبتنی بر ابر بهره ببرند که تجزیه و تحلیل های پیچیده را با سرعتی بی نظیر انجام می دهند، زیرا از پردازش موازی انبوه (MPP) استفاده می کنند. بنابراین، شرکتها میتوانند از OLAP با سرعت و مقیاس ابری استفاده کنند و حجم زیادی از دادهها را بدون جابجایی از انبار دادههای ابری خود تجزیه و تحلیل کنند.
OLAP در معماری ابری یک راه حل سریع و مقرون به صرفه است که برای آینده ساخته شده است. هنگامی که مکعب ها ساخته شدند، تیم ها می توانند از ابزارهای هوش تجاری موجود برای اتصال فوری با مدل OLAP استفاده کنند و بینش های تعاملی زمان واقعی را از داده های ابری خود استخراج کنند.
OLAP و IBM Cloud
IBM Db2 Warehouse on Cloud یک سرویس ابری عمومی مدیریت شده است. می توانید IBM Db2 Warehouse را در محل با سخت افزار خود یا در یک ابر خصوصی راه اندازی کنید. به عنوان یک انبار داده، این سرویس شامل ویژگی هایی مانند پردازش داده های درون حافظه و جداول ستونی برای پردازش تحلیلی آنلاین (OLAP) است. از آنجایی که این ویژگی ها یک موتور پایگاه داده مشترک دارند، می توانید به راحتی حجم کاری داده ها را بهینه یا جابجا کنید.
همچنین میتواند از IBM Cubing Services برای ایجاد، ویرایش، واردات، صادرات و استقرار مدلهای مکعب OLAP در طرح انبار رابطهای استفاده کند. این سرویس یک نمای چند بعدی از داده های ذخیره شده در یک پایگاه داده رابطه ای را برای بهینه سازی و بهبود عملکرد کوئری های OLAP ارائه می دهد.برای IBMid ثبت نام کنید و حساب IBM Cloud خود را ایجاد کنید.
«ملیحه ایزی»، فارغالتحصیل مقطع کارشناسی ارشد مهندسی کامپیوتر، گرایش نرم افزار است.
تمامی حقوق برای ماکرونت محفوظ است.