Transaction Management PowerPoint PPT Presentation

presentation player overlay
1 / 35
About This Presentation
Transcript and Presenter's Notes

Title: Transaction Management


1
????? ????????? 2
  • Transaction Management
  • Part 2

2
???? ??????? ?"? ??????
3
?????? Locking
  • ????? ??? ?????? ??????? ?? ???????? ???-???????
  • ??? ??? ????? ??? ??? ?"? ????? ???????? (locks)
  • ??? ???? ?? ??? ???? ???????
  • ????? ????? (shared), ?????? ?"? S
  • ????? ????? (exclusive), ?????? ?"? X

4
????? ???? ???????
  • ??? ????? ???? A ???? ????? ????? ???? ??????
    ?????
  • ?????? ???? ????? ?? ?????? ???? ??????
  • ??? ????? ???? A ???? ????? ????? ???? ??????
    ?????
  • ?????? ???? ????? ?? ?????? ???? ??????
  • ?? ???? ????? ???? ?????, ?? ???? ????? ?????
    ????? ????? ?????? ?????
  • ?????? ???????? ?????? ????? ???????

5
??? ???? ??????
  • ???? ?????? ?????? ?????? ??-????? ????? ????? ??
    ???? A
  • ????? ???? ?? ???? ??????? ????? ????? ?? A
  • ?? ???? ??? ????? ?????? ????? ????? ?? ???? A
  • ??? ??? ???? ???? ??? ????? ????? ?? ????? ?? A
  • ???? ??????? ????? ??????? ??????

6
???????? ?????? ???? ?????
  • Two-Phase Locking (2PL)

7
???????? ?????? ???? ?????Two-Phase Locking (2PL)
  • ???? ????? ????
  • ????? ????? ???? ????? ?? ????
  • ????? ????? ???? ????? ?? ????
  • ???? ????? ?????? ????? ????? ??? ?? ????? ????
    ??????? ??????
  • ??? ????????? ???? "?????? ???? ?????"
  • ????? ???? ?? ???? ???????
  • ??????? ???? ?? ????? ???????

8
????? ?????? 2PL ??? ??-??????? ??????????
  • ???? ????? ??? ?? ???? ?????? ???????? 2PL ???
    ??-??????? ??????????
  • ????? ??? S ????? ?????? 2PL ????? ?????
    ????????? ?? ????
  • ???? ?????? ?????? ?????

9
??? ?- T1 ?- T2 ??????
  • ?? ?? ??? T1 ? T2 ?? ????? ???? ??? ???? ????? ??
    ???? ???? ??????? ????? ???? (???? ?????? ????
    ????? ?????) ?????? ????? ?? ????? ????, ???? ??
    ??? ?????? ???? ?????
  • ????? T1 ?????? ????? ?? ???? ????? ???? ?- T2
    ????? ????? ?? ???? ????

10
?? ?? ????? T1 ? T2 ? T3 ? T4 ?? ???? ?-
  • T1 ?????? ????? ???? ?- T2 ????? ?????
  • T2 ?????? ????? ???? ?- T3 ????? ?????
  • T3 ?????? ????? ???? ?- T4 ????? ?????
  • ?????? ?????????
  • T1 ?????? ????? ?? ???? ????? ???? ?- T4 ?????
    ????? ?? ???? ??? (???? ??? ?? ????? ????
    ???????? ?? ???? ????)

11
?????, ?? ?? ???? T1 ? T2 ? T3 ? T4 ? T1 ??
???? ?-
  • T1 ?????? ????? ?? ???? ????? ???? ?- T1 ?????
    ????? ?? ???? ???
  • ????? T1 ???? ?????? ???????? 2PL
  • ?????? ?????? ??????, ???? ????? ????????? ???
    ???? ??????? S ??? ??-??????? ??????????
  • ?.?.?.

12
???? ?????????????? ????? ??????
13
???? ???????Lock Manager
  • ???? ???????? ???? ?????? ???????? ???????
    ???????
  • ????? ???? ??? ?? ????? ??? ???? A ??
  • ????? ??????? ????? ??????? ????? ?? A
  • ??? ??????
  • ????? ???? ?? ????? ???????? ?? A
  • ???? ?? ????? ?????? ?? ????? ?????? ??????
    ??????? ???????
  • ???? ????? ????? ????? ?????? ?????

14
??? ?? ??????Deadlock
  • ??? ?? ?????? ????? ???? ???? ???? ?? ??????, ??
    ??? ???? ????? ???? ?????? ????? ????? ?"? ?????
    ???? ?????
  • ??? ????? ???? ????? ??????
  • ????? ???? ??????
  • ????? ???? ?????? ???????

15
????? ??? ??????
  • ????? ??? ?? "???? ?-" (waits-for graph)
  • ???? ??? ????
  • ??? ?- T1 ?- T2 ?? T1 ???? ?????? ????? T2 ??????
  • ???? ???? ???? ???????? ???? ?? ?? ???? ????
    (??????? ??? ?? ??????)
  • ?? ?? ????, ?????? ?? ??? ??????? ?????? ??
    ?????, ???????? ???? ????

16
????? ???? ????? ????? ????? ????? ??????? ????
????, ??? ?????? ???? ?????? ???? (??? ???? ???
?????)
  • T1 S(A), R(A), S(B)
  • T2 X(B),W(B) X(C)
  • T3 S(C), R(C) X(A)
  • T4 X(B)

17
????? ???? ??????
  • ?????? ??? ???? ????? ??? (??????? ?? ??? ??????
    ?? ?????)
  • ??? ????? ???? ???? ?? ??? ????? ????
  • ???? ?- T1 ???? ?????? ?- T2 ??????
  • ??? ????? ????? ???? ?????
  • Wait-Die
  • Wound-Wait

18
?????, T1 ???? ???????- T2 ??????
  • Wait-Die ???? ????? ?????? ????? ????? ??????
  • ?? ?- T1 ?????? ????? ????, ?? T1 ???? ??????
    ?????? ?"? T2 ???? ?????? ?? T1 (?????, ??????
    ?? abort) ???????? ???? ????
  • Wound-Wait ???? ????? ??????? ????? ?????
    ??????
  • ?? ?- T1 ?????? ????? ????, ?? ?????? ?? T2
    ???? T1 ???? ?- T2

19
Wait-Die
  • ???? ????? ?????? ????? ???? ????? ????? ???????
    ????? ??
  • ???? ?????? ?? ?? ???????? ???? ????? ????? ?????
  • ???? ????? ????? ?????? ??? ???? ?? ??? ??? ????
    ????? ?????, ??? ????? ?? ????? ?"? ?????? ??????
    ????

20
Wound-Wait
  • ???? ????? ?????? ?? ??? ?????? ????? ?????? ????
    ????? ????
  • ???? ????? ?????? ?? ?? ??? ??? ????? ?? ??
    ???????? ???? ????? (???? ????? ?????)
  • ???? ????? ???? ??????

21
????? ???? ??? ???????????? ???? ??????
  • ??? ??? ???? ?????? ??? ?????? ???????
  • ????? ?????? ????? ?????? ???? ??????
  • ????? (starvation) ?????? ????? ?? ?????? ?? ???
    ????? ?? ?? ???????? ???? ?????
  • ????? ????? ?????? ??? ???? ???? ???? ???????
  • ??? ????? ?????, ????????? ???? ????, ???? ??????
    ?? ?? ????? ???? ?????? ?? ????

22
???????? ???????
  • ???? ?? ????? ???? ????????????? ?? ???????
    ????????

23
????? ????? ??? ?????? ??????
  • ??????? ??? A, B
  • ????? 100 ? ?- A ?- B
  • ???????
  • ??????? ?????, ??? ?? ???? ?? ????? ???? ????
    ????? ?????? ????????
  • ?????? ??? ?- A ??? ?????? ?- B
  • ??????? ??????? ????? ?????

AA-100 BB100
24
????? ????? ?? ??????
  • ?????? ?????? ?? ??? ?????? ????? ?????? ?????
    ?????, ?????
  • ??????? ?????? ???????, ??
  • ????? ?????? ???
  • ?????? ??????? (????? commit) ???? ?????? ?? ??
    ????????
  • ?? ??????? ???????, ?? ?? ???????? ??????
  • ????, ??? ????? ?????? ?? ????? ????

25
?????? ???????? (Recovery)
  • ??? ????? ??? ?????? ?????? ???????? ?????? ??
    ?????? ?????
  • ???? ?? ?? ??????? ????? ??????? ?? ??? ????
    (abort) ???? ?????? commit
  • ????? ??? ??????? ?? ??????? ?????? ???? ??
    ??????? ????? commit
  • ????? ???? ????? ??? ???? ?????? ?????????

26
????? ?????? ????????
27
????? ???????Dirty Read
  • ???? ????? T1 ????? ??? ?? ???? A ????? ?"? ????
    T2
  • ?? ????? ???? T2 ??????, ??
  • ???? ???? ?? ?? T1! (?? ???? ??? ?????? ????
    ????)
  • ???? ??? ????? (cascading aborts)
  • ?? T1 ??????? (???? commit) ???? ???????? ????
    ????, ?? ?????? ???? ????? ???????? (schedule
    is not recoverable), ?? ??? ??? ????? ?? T2 ????
    ??? ????? (?? ?????? ????? ?? ?? ?????? ?? T1)

28
????? ?????? ????????(Recoverable Schedule)
  • ????? ????? ???????? ?? ???? ??????? ?? ????
    (?????? ?-) ?? ??????? ??? ?????? ??? ????
    ???????
  • ????? ??????? ?? ????? ?????? ????
  • ???? ????? ????? ?? ????? ?????? ?"? ?????? ????
    ???????
  • ????? ?????? ???? ?? ????? ????????
    (recoverable) ????? ??? ?????

29
???????? 2PL ?????Strict 2PL
  • ??? 2PL ????? ??????? ?????? ????
  • ???? ?????? ?? ???????? ???? ?????? ?? ????
    ????????
  • ????????? ?????? ???? ??? ????? ?????? ????????,
    ???? ???? ???? ???? ?????

30
????? ?????????
31
?????? ???? ?????????? ?????????
  • EMPS(Name,Dept,Age)
  • T1 ????? ????? ?? ????? ?????? ????? ?- CS ??- EE
  • T2 ?????? ???? ??? ?- CS ???? ?????? ?????,
    ?????? ?- EE ?? ????? ?????? ?????

32
????? ????? ?????? 2PL
T1 ????? ?????? ?? CS ????? ?? EE ?- T2 ????? ????
  • T1 ????? ?? ?? ??????? ?? CS ?????? ?? ?????
    ?????? ????? (????? 71)
  • T2 ?????? ???? ?- CS ????? 75
  • ???? ????? ??? ???? ?- T1 ?????? ??????? ?? ??
    ??????? ?? CS ??????? ???? ????
  • T2 ????? ?? ?? ??????? ?? EE ?????? ?- EE ??
    ????? ?????? ????? (????? 80)
  • T2 ?????? ?? ?? ???????? ???? ??????
  • T1 ????? ?? ?? ??????? ?? EE ?????? ????? ??????
    ????? (????? 63)

33
??? ????? ????? ????
  • ?? T1 ??? ??????, ?? ??? ????? ?????? ??? 71 ?-
    CS ???? 80 ?- EE
  • ?? T1 ??? ????, ?? ??? ????? ?????? ??? 75 ?- CS
    ???? 63 ?- EE
  • ????? ????? ?????? ?- T1 ?????? ??????? ??
    ??????? ??? ???? ?- CS, ??? ?? ?? ???????
    ????????? ?- CS ??? ??? ??????

34
?????
  • ??-??????? ?????????? ?????? ??-??????? ?? ??
    ????? ??????? ??????? ???? ??? ?????

35
????? ????? ????? ????????Predicate Locking
  • ???? ????? ???? ????? ?? ?? ??????? ???????? ????
    (??????) ?????, ????
  • AGE gt 50 ?? DEPT CS
  • ?? ??? ????? ???????? ????? ????? (?? ????? ???),
  • ?? ?? ???? ????? ?? ?? ??????? ???????? ?? ?????
    DEPT CS ?? ?? ?????? ?? DEPT
  • ?????? ?? ?? ??????? ???? ?????? (?? ??????
    ??????) ????? ?????? ???? DEPTCS
  • ?? ??? ??????, ???? ?????? ?????? ??? ????????
    ?????? ?- EMPS, ???? ???? ????? ?????? ?? EMPS
    ???????? ?? ????? DEPT CS
Write a Comment
User Comments (0)
About PowerShow.com