سیستم های پردازش تراکنش آنلاین به منظور رسیدگی به تعداد زیادی از تراکنش ها توسط تعداد زیادی از کاربران همزمان ساخته شده اند، در حالی که یکپارچگی داده ها را تضمین می کنند.
پردازش تراکنش آنلاین (OLTP) پردازش بیدرنگ داده پشت برداشتهای خودپرداز، پرداختهای کارت اعتباری، سیستمهای رزرو بلیط و رزرو، خرید آنلاین و به طور کلی تجارت الکترونیک است. سیستمهای پردازش تراکنش آنلاین بهمنظور مدیریت تعداد زیادی از تراکنشها توسط تعداد زیادی کاربر همزمان ساخته شدهاند.
پایگاههای اطلاعاتی OLTP لایه پشتی یا ذخیرهسازی را برای تجارت الکترونیک و در واقع برای اکثر برنامههای رایانهای مدرن فراهم میکنند. در حالی که پایگاه های داده OLTP به طور سنتی پایگاه داده های رابطه ای SQL بوده اند، همچنین می توان از برخی پایگاه های داده NoSQL برای اهداف مشابه استفاده کرد. بیشتر بحث ما در زیر در مورد پایگاه داده های رابطه ای SQL خواهد بود.
OLTP در مقابل OLAP
پایگاههای اطلاعاتی OLTP معمولاً تعداد زیادی از تراکنشهای کوچک و سریع بسیاری از کاربران را انجام میدهند. تراکنش ها شامل تغییر پایگاه داده به روش های تضمین شده برای سازگاری با استفاده از عملیات CRUD (ایجاد، خواندن، به روز رسانی، حذف) در داخل تراکنش است. در حالی که پایگاههای اطلاعاتی OLTP گاهی از پرسشهای تحلیلی نیز پشتیبانی میکنند، این عملکرد اغلب در پایگاههای داده جداگانه OLAP (پردازش تحلیلی آنلاین) یا انبار دادهها انجام میشود. پایگاه های داده OLTP برای جمع آوری و اصلاح داده ها بهینه شده اند. پایگاه های داده OLAP برای تجزیه و تحلیل بهینه شده اند.
CRUD چیست؟
CRUD (ایجاد، خواندن، به روز رسانی و حذف) مجموعه اصلی عملیات پایگاه داده است. در یک پایگاه داده SQL، دستورات INSERT ایجاد رکورد را انجام می دهند، دستورات SELECT رکوردها را می خوانند، دستورات UPDATE رکوردها را به روز می کنند و دستورات DELETE رکوردها را حذف می کنند. این عبارات شامل DML (زبان دستکاری داده ها) است. پایگاههای داده SQL همچنین از DDL (زبان تعریف داده) برای تعریف پایگاههای داده، جداول، نمایهها، نماها و سایر اشیاء پایگاه داده پشتیبانی میکنند.
تراکنش پایگاه داده چیست؟
یک تراکنش پایگاه داده در پایگاه داده SQL پوششی برای دنباله ای از دستورات SQL با دو نقطه پایانی است: COMIT یا ROLLBACK دسته. به عنوان مثال، انتقال بانکی شامل برداشت مبلغی از یک حساب و واریز همان مبلغ به حساب دیگری است. اگر هر دو عملیات موفقیت آمیز باشد، تراکنش انجام می شود. اگر هر یک از عملیات شکست بخورد، تراکنش – که شامل هر دو عملیات است – به حالت قبل از شروع تراکنش برمی گردد، به طوری که کل مقدار پول در دو حساب ثابت است.
ویژگی های پایگاه داده ACID چیست؟
تراکنشهای پایگاه داده باید هر چهار ویژگی ACID را نشان دهند: اتمی، سازگاری، جداسازی و دوام. همانطور که در بالا توضیح داده شد، اتمی بودن توسط تعهدات تراکنش و بازگشت به عقب تضمین می شود. کل تراکنش به عنوان یک عملیات اتمی واحد در نظر گرفته می شود.
ثبات محصول نهایی اجرای صحیح تراکنش است: مقدار کل پول در حساب های مربوط به انتقال ثابت می ماند. جداسازی به این معنی است که سایر تراکنش ها نمی توانند هیچ حالت میانی تراکنش را شناسایی کنند. دوام به این معنی است که پس از انجام یک تراکنش، مقادیر جدید لغو نمی شوند، حتی اگر سیستم از کار بیفتد.
تضمین ویژگی های ACID در یک پایگاه داده متمرکز آسان تر است. تضمین آنها در یک پایگاه داده خوشه ای یا توزیع شده دشوارتر است.
به عنوان مثال، برخی از پایگاههای داده توزیعشده فقط ادعای حتی سازگاری دارند، که به آنها اجازه میدهد بگویند یک تراکنش قبل از پایان نوشتن تمام گرههای پایگاه داده انجام شده است. این کار تراکنشهای توزیعشده را سرعت میبخشد، اما به تراکنشهای بعدی نیاز دارد که انتظار یکنواختی دارند یا منتظر بمانند تا تمام نوشتنها کامل شوند یا از محل اصلی تراکنش خوانده شوند.
پایگاههای اطلاعاتی توزیعشده که قوی سازگاری را تضمین میکنند ممکن است تاخیرهای تراکنش بالاتری داشته باشند، اما احتمال ایجاد باگهای برنامه در مقایسه با پایگاههای داده نهایی بسیار کمتر است، برای مثال زمانی که خواندن از راه دور کامل میشود. قبل از پایان نوشتن تراکنش قبلی در همه مکانها.
تأخیر تراکنش چیست؟
Latency هم به زمان پاسخگویی پایگاه داده و هم به زمان پاسخ انتها به انتها برنامه اشاره دارد. تأخیر تراکنش زمان از شروع معامله تا زمان انجام تراکنش است.
طرحواره های پایگاه داده برای OLTP
به منظور پشتیبانی از نرخ تراکنش های بالا، طرحواره های پایگاه داده برای پایگاه های داده OLTP معمولاً شامل اندازه های کوچک ردیف و حداقل شاخص ها هستند. از نظر تاریخی، این بدان معنی بود که مطمئن شوید طرحواره پایگاه داده در سومین شکل عادی است.
شکل عادی سوم چیست؟
فرم عادی سوم (۳NF)، که در سال ۱۹۷۱ توسط Edgar F. Codd تعریف شد، مجموعه ای از الزامات برای طرحواره های پایگاه داده برای کاهش تکراری بودن داده ها، اجتناب از ناهنجاری داده ها، اطمینان از یکپارچگی ارجاعی، و ساده سازی مدیریت داده ها است. اساساً می گوید که هر جدول داده شده فقط حاوی فیلدهایی است که ویژگی های کلید اصلی هستند.
اگر جدولی از بیماران با کلید اصلی که شماره بیمار است، دارید، فیلدهای آن باید در مورد بیمار باشد، نه بیمارستان، نه پزشک و نه بیمهگر، اگرچه جدول میتواند حاوی ارجاع باشد (کلیدهای خارجی ) به جداول دیگر در مورد آن چیزها. خلاصه هوشمندانه بیل کنت از ۳NF این است که “[هر] [خصیصه] غیرکلیدی باید یک واقعیت در مورد کلید، کل کلید و چیزی جز کلید ارائه دهد، پس به من کمک کن کاد.”
آیا پایگاه های داده NoSQL می توانند به عنوان OLTP عمل کنند؟
در حالی که ما بیشتر از پایگاه داده های رابطه ای با سازگاری قوی بحث کرده ایم، برخی پایگاه های داده NoSQL وجود دارد که برای OLTP طراحی شده اند. اگر در موقعیتی هستید که به یک پایگاه داده NoSQL برای پردازش تراکنش نیاز دارید یا می خواهید، باید خود را به پایگاه های داده NoSQL با ویژگی های ACID محدود کنید. از پایگاههای دادهای که محدود به سازگاری نهایی برای OLTP هستند، بهویژه برای برنامههای مالی خودداری کنید. قبل از متعهد شدن به پایگاه داده برای پردازش تراکنش های مالی، با حسابرسان خود چک کنید.
اندازه گیری عملکرد OLTP
در اوایل تاریخ پایگاههای داده رابطهای، هر فروشنده معیار عملکرد پردازش تراکنش متفاوتی را که برای محصول خود بهینهسازی شده بود، تبلیغ میکرد. شورای عملکرد پردازش تراکنش برای ایجاد و ممیزی معیارهای خنثی فروشنده تشکیل شده است. TPC Benchmark C (TPC-C) یک معیار OLTP پر استفاده است. معیارهای پایگاه داده عمومی دیگری وجود دارد که ممکن است در مورد شما اعمال شود. شما همچنین می توانید خود را ایجاد کنید، اما معیارهای صادقانه ای که منعکس کننده استفاده در دنیای واقعی هستند، به طور شگفت انگیزی برای نوشتن و اجرا مشکل هستند.
به طور کلی، پایگاههای داده OLTP باید به سادگی کار خود را انجام دهند، یعنی ثبت سریع و بادوام تراکنشها. برای تجزیه و تحلیل، راه اندازی یک دریاچه داده یا انبار داده جداگانه و یک فرآیند ETL یا ELT را برای پر کردن پایگاه داده تجزیه و تحلیل از پایگاه داده OLTP در نظر بگیرید. OLTP یک چیز است. OLAP دیگری است.
پست های مرتبط
OLTP چیست؟ ستون فقرات تجارت الکترونیک
OLTP چیست؟ ستون فقرات تجارت الکترونیک
OLTP چیست؟ ستون فقرات تجارت الکترونیک