سیستم پردازش تراکنش آنلاین چیه؟ چه تفاوتهایی با سیستم تحلیل آنلاین OLAP داره؟ آیا این سیستم های OLTP و سیستم های OLAP معایب و مزایایی هم دارن؟ قراره تو این پست یه توضیح کلی راجع به این سیستم تراکنش آنلاین بدیم و شما رو باهاش آشنا کنیم.
سیستم OLTP چیه؟
پردازش تراکنش آنلاین یا پردازش تراکنش بر خط به انگلیسی Online Transaction Processing یه سیستم عملیاتی هست که از برنامه های معاملهای یا به عبارت دیگه از برنامههای عملیاتی دارای تراکنش در یه معماری سه لایه پشتیبانی میکنه. در واقع این برنامه ، تراکنش های روزانه یه سازمان رو اداره میکنه و بر پردازش کوئری ، حفظ تمامیت داده ها در محیطهایی با دسترسی چندکاربره (چند نفر همزمان اجازه دسترسی به داده رو داشته باشن) و همچنین اثربخشی، متمرکزه که با تعداد کل تراکنش ها در ثانیه اندازه گیری میشه.
پس بهتره به صورت مختصری بگم که OLTP برای داده هایی انجام میشه که نیاز به تحلیل خاصی ندارن و مهمترین قسمتشون انجام تراکنش ها است.
ویژگیهای پردازش تراکنش آنلاین OLTP
پردازش تراکنش بر خط یه سری ویژگیهایی داره که میخوام به چندتا از مهمترینهاش اشارهای کنم:
- از تراکنش هایی استفاده میکنه که شامل داده های کمّی است.
- به داده هایی که تو پایگاه داده فهرست بندی شدن، به راحتی دسترسی داره.
- کاربران زیادی داره.
- سرعت پاسخگویی OLTP بالاست.
- برای یکپارچه سازی Database Consistency پایگاه داده از یه طرح کاملاً نرمال استفاده میکنه.
- زمان پاسخگویی سیستم OLTP کوتاهه.
- فقط سوابق چند روز تا چند هفته گذشته رو ذخیره میکنه.
- مدل ها و جدولهای داده های پیچیده رو پشتیبانی میکنه.
نوع کوئری هایی که سیستم OLTP میتونه پردازش کنه
سیستم پردازش تراکنش آنلاین یا OLTP یه سیستم در حال تغییر پایگاه داده آنلاین محسوب میشه، پس از کوئری های پایگاه داده مثل درج داده ، به روز رسانی داده و حذف داده پشتیبانی میکنه.
برای مثال سیستم فروش یه سوپر مارکت رو در نظر بگیرین، در زیر نمونه کوئری هایی که این سیستم میتونه پردازش کنه رو میبینین:
- بازیابی توضیحات یه محصول خاص
- فیلتر کردن همه محصولات مرتبط با تولید کننده
- جستجو کردن سابقه مشتری
- لیست کردن محصولاتی که قیمتی پایینتر از حد انتظار دارن
معماری سیستم پردازش تراکنش آنلاین
1. استراتژی تجاری/سازمانی
استراتژی سازمانی یا استراتژی تجاری سراغ موضوعاتی میره که رو کل سازمان تأثیر میذارن. (در سیستم OLTP معمولاً عملیات توسعه ، تو سطحهای بالای شرکت توسط مدیر ارشد یا هئیت مدیره انجام میشه.)
2. فرآیند تجاری OLTP
فرآیند تجاری OLTP مجموعهای از فعالیتها و کارهاییه که به محض تموم شدنشون، یه هدف سازمانی هم اجرا شده.
3. مشتریان، سفارشات و محصولات
پایگاه داده سیستم تراکنش آنلاین بر خط ، اطلاعات مربوط به محصولات، مشتریان (خریداران)، سفارشات (معاملات)، تأمین کنندگان (فروشندگان) و کارمندان رو ذخیره میکنه.
4. فرآیندهای ETL – استخراج، پالایش و بارگذاری اطلاعات
فرآیند ETL یا Extract Transform and Load یعنی فرآیندی که اطلاعات رو استخراج ، پالایش و بارگذاری میکنه. این فرآیند داده ها رو از سیستم های مختلف منبع RDBMS یا Relational Database Management System که به فارسی سیستم مدیریت پایگاه داده رابطه ای ترجمه شده، استخراج میکنه و سپس اونها رو پردازش میکنه (مثل استفاده از جمع بندی، محسابات و غیره) و داده های پالایش شده رو به انبار داده بارگذاری میکنه.
5. بازار داده Data Mart و انبار داده Data Warehouse
بازار داده یا Data Mart یه الگوی مخصوص ساختار یافته و قابل دسترسی برای محیط انبار داده هاست که توسط OLAP برای ذخیره داده های پردازش شده استفاده میشه.
6. داده کاوی یا Data Mining ، تجزیه و تحلیل و تصمیم گیری
داده های ذخیره شده در بازار داده Data Mart و انبار داده Data Warehouse میتونن برای داده کاوی ، تجزیه و تحلیل و تصمیم گیری استفاده بشن. این داده ها بهتون کمک میکنن تا اگه یک یا چند الگوی داده وجود داره، اونا رو کشف کنین، داده های خام رو آنالیز کنین و تصمیمات تحلیلی برای رشد سازمانتون بگیرین.
نمونهای از تراکنشهای Online Transaction Processing
یه نمونه خیلی آشنا از سیستم پردازش تراکنش بر خط ATM یا دستگاه خودپرداز بانک است! خب بذارین با یه مثال کار رو توضیح بدم:
فرض کنین یه زن و شوهری حساب مشترک بانکی دارن و یه روز هر دوتاشون به طور همزمان میرن سراغ دوتا ATM مختلف و میخوان مبلغی که تو حسابشون هست رو پس بگیرن. به نظرتون کی اول میتونه پول رو برداشت کنه؟ بله مسلماً اون کسی که مراحل احراز هویت رو زودتر انجام داده میتونه پول رو دریافت کنه. در این حالت سیستم اطمینان میده که پول برداشتی بیشتر مبلغی که تو حساب بوده، نیست، یعنی چی؟ یعنی این که دو نفر همزمان نمیتونن همون مبلغی که تو حساب هست رو برداشت کنن چون در این صورت دو برابر پولی که تو حساب بوده برداشت میشه! پس نکته مهمی که این مثال ساده میخواد بهمون گوشزد کنه اینه که:
یادتون باشه سیستم OLTP به جای تجزیه و تحلیل داده ها، فقط با انجام تراکنش بهینه شدهاند.
نمونههای دیگهای از Online Transaction Processing عبارتند از:
- بانکداری آنلاین
- رزرو بلیط هواپیمایی آنلاین
- ارسال پیام متنی
- ثبت سفارش
- اضافه کردن یه محصول رزرو به سبد خرید به صورت آنلاین
تفاوت OLAP و OLTP
در تصویر بالا تفاوت سیستم OLTP و OLAP رو مشاهده میکنین که قراره تو چندتا پارگراف پایین به صورت کامل مشخصات هر کدوم رو براتون شرح بدم تا متوجه تفاوت این دوتا سیستم بشین:
خصوصیات OLTP
- OLTP سیستم تراکنش آنلاین است.
- هدف اصلی OLTP پردازش داده هاست نه تجزیه و تحلیل اونها.
- سیستم OLTP توسط تعداد زیادی از تراکنش های کوتاه آنلاین مشخص شده.
- تأکید اصلی سیستم OLTP روی اعمال فرآیندهای کوئری سریع و حفظ تمامیت داده در محیطهایی که دسترسیهای متفاوت دارند، است.
- در سیستم پردازش تراکنش آنلاین ، میزان موفقیت رو باتوجه به تعداد تراکنش ها در ثانیه اندازه میگیره.
- داده ها در پایگاه داده OLTP به صورت جامع و به روز هستند.
- از نظر نحوه ورود داده به سیستم پردازش تراکنش آنلاین : اطلاعات توسط اپراتورها بهصورت روزانه و رکورد به رکورد وارد سیستم میشه.
- از نظر مدل سازی در سیستم پردازش تراکنش آنلاین :دارای مدل Event – driven و Application – oriented است.
- در سیستم پردازش تراکنش آنلاین داده ها کامل و با تمام جزئیات وارد سیستم میشه.
- از نظر ارزش داده : در سیستم پردازش تراکنش آنلاین ، محتوای جاری داده ارزش واقعی اون رو تعیین میکنه.
- از نظر کاربر: کارکنان فناوری اطلاعات از سیستم OLTP استفاده میکنن.
خصوصیات OLAP
- سیستم OLAP پردازش تحلیل آنلاین است.
- هدف اصلی این سیستم تجزیه و تحلیل داده است نه پردازش اون.
- توسط حجم کمی از داده ها مشخص میشه.
- کوئری های پیچیده و انبوهی داره.
- داده های قبلی با طرحهای چند بعدی تو پایگاه داده OLAP ذخیره میشن.
- از نظر ورود داده : داده ها در فواصل زمانی معین و به شکل انبوه به سیستم وارد میشن.
- از نظر مدل سازی: سیستم OLAP دارای مدل Subject – oriented و Integrated است.
- داده های خام وارد سیستم OLAP میشن.
- از نظر ارزش داده : علاوه بر محتوای جاری داده ها، تکرار و تغییرات اونها نیز ارزشمنده و هرچه قدمت و تعداد نسخههای داده بیشتر باشه ارزش بیشتری هم داره و گزارشات آماری دقت بیشتری پیدا میکنن.
- کاربران سیستم OLAP : افرادی هستند که قراره داده ای رو تحلیل کنن و یا یه گزارش حسابی تهیه کنن و طبق اون تصمیم گیری انجام بدن.
مزایای OLTP
- پیش بینی دقیقی برای درآمد و هزینه ارائه میده.
- چون سیستم پردازش تراکنش آنلاین همه تراکنش ها رو سریعاً اصلاح میکنه پس یه شالوده محکم برای کسب و کار سازمان فراهم میکنه.
- انجام تراکنش ها رو برای مشتری خیلی راحتتر میکنه.
- از پایگاه داده های بزرگتر پشتیبانی میکنه.
- داده ها رو برای دستکاری آسانتر، تقسیم میکنه.
- ما به سیستم OLTP نیاز داریم تا از وظایفی که اغلب توسط سیستم انجام میشه، استفاده کنیم.
- برای وقتی که فقط به تعداد کمی پرونده نیاز داریم، خوبه.
- کارهایی مثل درج داده ، به روز رسانی داده و حذف داده رو انجام میده.
- وقتی از این سیستم پردازش تراکنش آنلاین استفاده میشه که شما به ثبات و همزمانی نیاز دارین تا فعالیتهایی رو انجام بدین که دسترسی بیشتری رو تأمین میکنن.
معایب پردازش تراکنش بر خط
حالا وقتشه یه سری از نکات منفی و معایب این سیستم رو براتون بگم که بیشتر حواستون رو جمع کنین:
- اگه سیستم پردازش تراکنش آنلاین با خرابی سخت افزاری روبرو بشه، تراکنش ها یا معاملات آنلاین به شدت تحت تأثیر قرار میگیرن.
- سیستم پردازش تراکنش آنلاین به چندین کاربر امکان دسترسی همزمان و تغییر همون داده ها رو میده که این کار چندین بار فاجعه به بار آورده!
- اگه سرور فقط چند ثانیه هنگ کنه، میتونه روی تعداد زیادی از تراکنش ها اثر منفی بذاره!
- برای حفظ موجودی، تعداد زیادی کارمند رو میطلبه که تو گروه کار کنن.
- سیستم های پردازش تراکنش آنلاین به خودی خود، روشهای مناسبی برای انتقال محصولات به خریداران رو ندارن.
- باعث میشه که پایگاه داده ، هکرها و متجاوزان بیشتری رو جذب کنه!
- در معاملات B2B امکانش هست که هر دو طرف، خریدار و فروشنده، مزایای سودمندی که سرویس ارائه میده رو از دست بدن.
- خرابی سرور میتونه باعث از بین رفتن مقدار زیادی از داده ها در پایگاه داده بشه.
- فقط میتونین تعداد محدودی از کوئری ها و به روز رسانی ها رو انجام بدین.
چالشهای یه سیستم OLTP
- سیستم OLTP به بیشتر از یه کاربر اجازه دسترسی به همون داده ها رو به طور همزمان میده و حتی میتونن همزمان اونها رو تغییر بدن! پس ممکنه شرایط مصیبت باری بهوجود بیاد o_o برای جلوگیری از هر فاجعهای بهتره که از تکنیکهای کنترل همزمان و بازیابی استفاده بشه!
- داده های سیستم پردازش تراکنش آنلاین برای تصمیم گیری مناسب نیستن. شما باید از داده های سیستم OLAP برای تحلیل حالتهای مختلف یا تصمیم گیری استفاده کنین.
OLTP به صورت خلاصه
اگه راجع به همه چیزهایی که تو این پست بهش اشاره کردم به یه خلاصه نیاز دارین، موارد زیر رو بخونین:
- OLTP به عنوان یه سیستم عملیاتی تعریف میشه که از برنامههای تراکنشی تو یه معماری سه لایه پشتیبانی میکنه.
- از تراکنش هایی استفاده میکنه که داده های کمّی دارن.
- سیستم OLTP یه سیستم در حال تغییر پایگاه داده آنلاینه.
- معماری این سیستم شامل این چیزا میشه: استراتژی بیزنس یا استراتژی سازمان، فرایند تجارت، مشتری، سفارشات و محصولات، فرایندهای ETL و Data Mart و انبار داده Data Warehouse ، داده کاوی Data Mining ، تجزیه و تحلیل و تصمیم گیری
- سیستم OLTP یه سیستم تراکنش آنلاین محسوب مبشه، در حالی که سیستم OLAP یه سیستم تحلیلی و بازیابی داده است.
- OLTP یه پایه محکمی برای تجارت یا سازمان به خاطر قابلیت اصلاح به موقع همه تراکنش ها ، ایجاد میکنه.
- این سیستم اجازه دسترسی همزمان برای تغییر داده ها رو به چند تا کاربر میده و باعث بهوجود اومدن شرایط وحشتناکی میشه.
اگه سوالی در رابطه با این سیستم دارین حتماََ اون رو با من به اشتراک بذارین و از تجربههای خودتون هم برام بگین 😉
نمایش نظرات
خیلی ممنون از توضیحاتتون. به من کمک زیادی کرد
سلام وقتتون بخیر میشه مثالی در خصوص نگهداشت مشتریها در صنعت همراه ارائه کنید که هم سیستم OLAP و هم OLTP در اون دیده بشه؟