در این پایاننامه سعی داریم، براساس پارامترهای:
-
- تعداد تراکنشهای وارد شونده به سیستم
-
- اندازه هر تراکنش (تعداد دستورات هر تراکنش)
-
- تعداد دادههای مشترک و غیر مشترک تراکنشها
-
- تعداد دادههای مشترک در تراکنشهایی بدون داده غیر مشترک
به بررسی الگوریتمهای ۲PL، WW و WD بپردازیم. در این راستا از روش مدلسازی با بهره گرفتن از شبکه پتری رنگی که یکی از بهترین راهها برای مدلسازی الگوریتمهای کنترل همروندی است، استفاده نمودهایم. سپس به بررسی و ارزیابی الگوریتمها پرداختهایم.
فصل سوم
تکنیکهای کنترل همروندی
مقدمه
در این فصل برخی از انواع الگوریتمهای کنترل همروندی پایهای را معرفی خواهیم کرد. در این میان تعدادی از الگوریتمهای کنترل همروندی مانند: قفل اسلوبی و تکنیک ۲PL که بیشتر مد نظر هستند را به طور مفصل توضیح خواهیم داد. علاوه بر آن تکنیکهای WW و WD که تکنیکهای پیشگیری از بنبست هستند را نیز به طور کامل مورد مطالعه قرار میدهیم. مزایا و معایب هر یک از این الگوریتمهای کنترل همروندی پایهای نیز بررسی خواهد شد. اطلاعات ذکر شده در این فصل از مرجع (روحانی رانکوهی، ۱۳۸۶) اقتباس شدهاند.
تکنیکهای کنترل همروندی و انواع آنها
به طور کلی میدانیم که با کنترل درست اجرای همروند تراکنشها، کارایی سیستم افزایش مییابد. اگر طرح اجرای همروند، توالیپذیر باشد نتیجهی درست حاصل میشود. برای تضمین توالیپذیریِ طرح اجرا، از تکنیکهای کنترل همروندی استفاده میشود. انواع تکنیکهای کنترل همروندی عبارتند از:
-
- قفلگذاری[۱۵]: روش بدبینانه
-
- زمانمهر[۱۶]: کمی خوشبینانه
-
- چند نسخهسازی[۱۷]: روش خوشبینانه
-
- تأیید[۱۸]: روش خوشبینانه
-
- ترکیبی از تکنیکهای خوشبینانه و بدبینانه در سیستم پایگاهی توزیع شده
تکنیکهای کنترل همروندی بیان شده در فوق یک سری ویژگیهای مشترک دارند. به عبارت دیگر هرکدام از تکنیکهای فوق از استراتژی خاصی استفاده میکنند، که در زیر بیان شدهاند.
-
- وادار کردن تراکنش به انتظار
-
- پیروی از نظم خاص
-
- اجرای تراکنش بدون محدودیت و از بین بردن اثرات آنها در صورت طرد شدن: در صورت بروز تعارض یا برخورد، سیستم، یک یا بیش از یک تراکنش را طرد کرده و اثر اجرای ناقص آنها در پایگاه داده را خنثی میکند.
تکنیکهای قفلگذاری و انواع آنها
تکنیک قفلگذاری جزء تکنیکهای بدبینانه است. در سیستم مدیریت پایگاه دادهها، زیرسیستمی به نام زیرسیستم قفلگذاری وجود دارد. انواع تکنیکهای قفلگذاری عبارتند از:
-
- قرار دادن انواع قفل
-
- قفلگذاری دوگانی[۱۹]
-
- قفلگذاری چند اسلوبی[۲۰]
-
- قفلگذاری دو مرحلهای (۲PL)
-
- ۲PL مبنایی
-
- ۲PL محافظهکارانه[۲۱]
-
- ۲PL شدید[۲۲]
-
- ۲PL جسورانه[۲۳]
-
- ۲PL دقیق[۲۴]
-
- قفلگذاری روی چند واحد قفل شدنی (قفلگذاری چند سطحی)
-
- اسلوب اعلان قصد قفلگذاری
-
- تکنیک قفلگذاری براساس نظم خاص
-
- پروتکل قفلگذاری درختی
-
- پروتکل قفلگذاری جنگلی
-
- قفلگذاری چند نسخهای
در بخش ۳-۲-۷، قفل چند اسلوبی و در بخش ۳-۲-۸، ۲PL مبنایی که اساس کار این پایاننامه هستند به طور مفصل توضیح داده خواهند شد و در مورد سایر تکنیکهای قفلگذاری به معرفی آنها به طور مختصر بسنده میشود.