יום שני, 25 ביולי 2011

טרנזקציות- זמנים וסט פעולות

התנגשויות:
 R(X)     W(X)
 W(X)     R(X)
 W(X)     R(X) 
בר סידור קונפליקט :


הגדרה:  בר סידור קונפליקט הוא זמן בוא יהיה סדר בין הטרנזקציות כלומר ,
T1 -> T2
ולא:
T1->T2->T1
זה מהווה סתירה (מעגל).

בר סידור מבט:

דבר ראשון בר סידור קונפליקט חייב להיות בר סידור מבט אך ההפיך אינו נכון יכול להיות בר סידור מבט אך לא בר סידור קונפליקט.

ישנם 3 חוקים לבר סידור מבט :

1) קריאה:  
קריאה של ערך התחלתי X ממסד הנתונים   היא תקרא אותו ממסד הנתונים גם שנסדר אותו בזמן סדרתי.
לדוגמה  נניח כי T2 קוראת ממסד הנתונים את ערך F ונניח כי אנו מסדרים את T3 כך ש T3 בא ה לפניי T2 , נוסיף נתון כי T3 כותבת את ערך F אז יוצא מכאן ש T2 קוראת לאחר הסידור את הערך ש T3 כתבה ולא את הערך ממסד הנתונים.

2)  אם T1 קראה ערך X ש T2 כתבה גם בזמן סדרתי תקרא ערך ש T2 כתבה.
3) אחרונה שכותבת ערך לפריט תעשה זאת גם בסדרתי (עבור כל פריט מידע).

חוק 3 זהו החוק הכי קל לבדיקה.

בר אישוש:

אם T1 קוראת ערך שנכתב ע"י T2 אז מכאן נובע כי T2 תעשה COMMIT לפני ש T1 תעשה COMMIT.

CASCADELESS:

 כמו בר אישוש אך יותר חזק כלומר יכול להיות זמן בר אישוש ולא CASCADELLESS אך לא יכול להיות זמן CASCADELLESS ולא בר אישוש.

נניח כי T1 כותבת את X ו T2 קוראת לאחר מכן את X אז מכאן נובע כי ה COMMIT של T1 יהיה לפני הקריאה של T2

תגובה 1: