بخشی از پاورپوینت
--- پاورپوینت شامل تصاویر میباشد ----
اسلاید 1 :
پروتکلهای برمبنای برچسب (مهر) زمانی Timestamp
روش ديگر برای تعيين ترتيب سريالی استقاده از زمان شروع تراکنش هاست.
به عبارتی هرگاه بر سر دسترسی به داده ای دو تراکنش رقابت میکنند، از روی زمان شروع تراکنش ها و تاریخچه اجرای آن ها تصمیم گیری می شود.
برچسب زمانی
به هر تراکنش، يک مهر زمانی اختصاصی و يکتا نسبت داده می شود.
اين مهرزمانی توسط سيستم پايگاه داده، قبل ازاينکه شروع به اجرا کند تعيين می شود.
ویژگی های مهر زمانی:
nیکتا باشد یعنی هر تراکنش مهرزمانی مختص خود را دارا باشد.
nاگر تراکنش زمان شروعی قبل از تراکنش داشته باشد با مهر زمانی به گونه ای انتخاب شود که: .
اسلاید 2 :
پیاده سازی مهرزمانی
دو روش ساده برای پياده سازی اين الگو وجود دارد :
استفاده از مقدار ساعت سيستمsystem clock بعنوان مهر زمانی. یعنی هرگاه یک تراکنش شروع به اجرا کرد ساعت سیستم را به عنوان مهر زمانی اختصاص دهیم.
استفاده از يک شمارنده منطقی که بعد از اينکه يک مهر زمانی جديد نسبت داده شد افزايش می يابد. به این معنا که مهر زمانی تراکنش معادل با مقدار شمارنده در لحظه شروع تراکنش خواهد بود.
برچسب های زمانی تراکنش ها ترتیب ترتيب پذیری آنها را تعيين می کند. بنابراين اگرTS(Ti)<TS(Tj)، سيستم بايد تضمين کند که زمانبند(برنامه) ایجاد شده معادل با برنامه ترتیبی باشد که درآن تراکنش Ti قبل از Tj آمده باشد.
اسلاید 3 :
پروتکل برچسب (مهر) زمانی
برای پياده سازی اين الگو، به هر عنصر داده Q دو مقدار برچسب زمانی نسبت می دهيم:
W-TimeStamp(Q) که بزرگترين مقدار برچسب زمانی هرتراکنشی است که عمل write(Q) را به صورت موفقيتآميز انجام داده اند نشان میدهد.
R-TimeStamp(Q که بزرگترين مقدار برچسب زمانی هرتراکنشی است که عمل read(Q) را به صورت موفقيتآميز انجام دادهاند نشان می دهد.
اين برچسب های زمانی با هر دستور خواندن و نوشتن جديدی که انجام می شود به روزرسانی می شوند.
اسلاید 4 :
پروتکل برچسب (مهر) زمانی Read(Q)
1- فرض کنيد که تراکنش Ti درخواست read(Q) را می دهد.
اگرTS(Ti)< W-TS(Q) ، درنتيجه Ti نياز به خواندن داده ای دارد که قبلا دوباره نويسی شده است. بنابراين، عمل خواندن رد شده، و Ti برگردانده (rolled back) می شود.(اجازه خواندن ندارد زیرا ترتیب پذیر نیست)
اگرTS(Ti)>= W-TS(Q) ، عمل خواندن اجرا می شود وR-TS(Q) برابر مقدار بيشينه R_TS(Q)و TS(Ti) قرار داده میشود.
اسلاید 5 :
پروتکل برچسب (مهر) زمانیWrite(Q)
2- فرض کنيد که تراکنش Ti درخواست write(Q) را می دهد.
اگر TS(Ti)< R-TimeStamp(Q)، پس مقدار Q ايکهTi توليد می کند قبلا مورد نياز بوده است ، وسيستم فرض می کند که مقدار هيچ گاه توليد نشده است. بنابراين سيستم عمل نوشتن را رد(reject) می کند و Tiرا برمی گرداند(rolled back).
اگرTS(Ti)< W-TimeStamp(Q) ، پسTiسعی می کند که يک مقدار قديمی (منسوخ) را روی Q بنويسد. بنابراين سيستم عمل نوشتن را رد می کند وTi را برمی گرداند.
در غير اينصورت، سيستم عمل نوشتن را اجرا می کند و مقدارW-TimeStamp (Q) را برابر با TS(Ti) قرار می دهد.
توجه: اگر تراکنش Ti در نتيجه درخواست خواندن يا نوشتن توسط کنترل همروندی برگردانده شود، سيستم يک timestamp جديد به آن نسبت می دهد و آنرا دوباره شروع می کند.
اسلاید 6 :
پروتکل برچسب (مهر) زمانی
پروتکل ترتيب دهی براساس برچسب زمانی، قابليت ترتیب پذیری را تضمين می کند.
اين به این دليل است که که اعمال دارای برخورد به ترتيب برچسب -های زمانی پردازش میشوند.
برخی از زمانبند ها هستند که در پروتکل 2PL معتبر هستند ولی در TS نامعتبرند و بالعکس.
اسلاید 7 :
پروتکل برچسب (مهر) زمانی-مزایا
مزایای پروتکل:
.1در این پروتکل انتظار وجود ندارد. زیرا برای خواندن هیچگاه انتظار نداریم یا خواندن انجام می شود یا تراکنش هایی که می خواهندخواندن انجام دهند برگشت داده می شوند.
.2تضمین می کند بن بست نداشته باشیم. بزرگترین مزیت این پروتکل. زیرا هیچ تراکنشی منتظر نمی ماند. چون انتظار نداریم دور نداریم و بن بست نداریم.
.3هزینه نگهداری و مدیریت قفل ها را ندارد.
.4 می تواند برخی از ترتیب پذیرها در برخورد را معتبر نشان دهد.
اسلاید 8 :
معایب :
.1هزینه بالاست زیرا مشکل را با انتظار حل نمی کند بلکه با برگشت دادن حل می کند. تمام عملیاتی که برای انجام تراکنش انجام گرفته است نادیده گرفته می شوند.
.2برای تراکنش های بلندی که همروند با تراکنش های کوتاه اجرامی شوند امکان گرسنگی وجود دارد.
.3هزینه نگهداری و مدیریت مهر زمانی را دارد.
اسلاید 9 :
پروتکل برچسب (مهر) زمانی
این پروتکل می تواند زمانبند هایی که قابل ترمیم نیستند را نیز تضمین کند. لذا می توان آن را به گونه ای توسعه داد که امکان برنامه های ترمیم پذیر را ایجاد کند.
این روش ها عبارتند از:
قابليت ترميم و اجتناب از برگشت آبشاری را می توان با انجام تمام نوشتن ها با هم و در پايان تراکنش تضمين کرد.
به این معنی که هنگامی که نوشتن ها در حال انجام هستند هیچ تراکنشی اجازه دسترسی به داده های درحال نوشتن را ندارد.
اسلاید 10 :
توسعه پروتکل
قابليت ترميم تنها را می توان با پيگيری نوشتن های اعمال نشده uncommitedو موکول کردن اعمال تراکنش Ti به پايان موفقيت آميز همه تراکنش هايی که مقداری را نوشته اند وتراکنش Tiآن را خوانده است تضمين کرد.
قابليت ترميم و اجتناب از برگشت آبشاری را همچنين می توان با استفاده از يک فرم محدود قفل کردن تضمين کرد، که بموجب آن خواندن عناصر تثبیت نشده تا زمانيکه تراکنش انجام و تثبیت شود به تعويق میافتد. .تمرین 16و 26