معامله اتمی

ساخت وبلاگ

هدف از انجام معاملات اتمی جلوگیری از دخالت معاملات مختلف با یکدیگر است. این تنها در صورتی اتفاق می افتد که بیش از یک فرآیند کاربر در همان زمان سعی در دسترسی به بانک اطلاعاتی داشته باشد ، همانطور که وقتی یک سرور به چندین مشتری اجازه می دهد همزمان از آن استفاده کنند. ساده ترین راه برای اجرای اتمی این است که DBMS از شروع هرگونه معامله تا زمان انجام قبلی خودداری کند. متأسفانه ، این می تواند بسیار محدود کننده باشد ، به خصوص اگر معامله نیاز به تعامل با کاربر داشته باشد. در حالی که یک کاربر در حال خندیدن است ، می توان چندین کاربر دیگر را نیز ارائه داد. به عنوان مثال ، در حالی که یک نامزد در یک موضوع ثبت نام می کند ، سایر داوطلبان که در سایر افراد ثبت نام می کنند ، نیازی به برگزاری ندارند. در مقابل ، بگذارید در نظر بگیریم که اگر دو نامزد به طور همزمان سعی در ثبت نام در همان موضوع داشته باشند ، چه اتفاقی می افتد.

کاندیدای یک موضوع پرس و جو برای بررسی آن پر شده است

بعضی اوقات ، انتظار می تواند به بن بست تبدیل شود ، همانطور که نامزد B منتظر نامزد A است ، و نامزد A در انتظار نامزد ب است. هیچ مقدار انتظار نمی تواند بن بست را بشکند ، و تنها مراجعه به یک معامله رها می شود. این کار توسط معامله صدور دستور بازگشت انجام می شود. مانند تعهد ، این معامله به پایان می رسد - اما بانک اطلاعاتی بدون تغییر باقی مانده است.

وجود فرمان Rollback مشکل بالقوه دیگری را ایجاد می کند. فرض کنید ، مانند گذشته ، آن نامزد یک موضوع پرس و جو برای بررسی آن پر شده است

سرانجام ، تلاش برای تهیه گزارش آشتی را در نظر بگیرید تا تأیید شود که با دقت پر شده تعداد ردیف های ثبت نام در موضوع را نشان می دهد. این امر به یک پرس و جو نیاز دارد تا تعداد ردیف های ثبت نام در موضوع S و یک پرس و جو دوم را برای یافتن مقدار پر شده حساب کند. تصور کنید که در حالی که این اتفاق می افتد ، نامزد ثبت نام در S. چندین سکانس ممکن وجود دارد که در آن اتفاق می افتد: شاید معامله آشتی شمارش ردیف های ثبت نام را تکمیل کند ، سپس نامزد ثبت نام و متعهد را انجام دهد ، سپس آشتی ارزش پر شده را بررسی می کند. بنابراین تعیین می کند که پر شده بیشتر از آنچه باید باشد.(با بررسی مقدار پر شده ابتدا مشکل حل نمی شود ، زیرا مقدار آن ممکن است کمتر از آنچه که باید باشد اثبات شود.) به این مسئله مشکل تحلیل متناقض گفته می شود.

مثالها نشان می دهد که یک معامله به روزرسانی باید تمام داده های مورد استفاده را برای جلوگیری از دسترسی سایر معاملات به آنها قفل کند. در طی بروزرسانی ، بانک اطلاعاتی ممکن است در حالت متناقض باشد. دستورات تعهد و بازگشت به موقع امتیاز را نشان می دهد که داده هایی که معامله به روز شده است ، باید دوباره سازگار باشد ، چه در حالت بعد از آن یا به حالت قبل بازگردانده شود.

فارکس پرشین...
ما را در سایت فارکس پرشین دنبال می کنید

برچسب : نویسنده : الیزابت امینی بازدید : <-PostHit-> تاريخ : دوشنبه 13 شهريور 1402 ساعت: 14:15