[CMPT 454] Week12_1


Effect of CLR



CLR is a new log record for undo. CLR represents UNDO.
Undoing a CLRはUndoではありません.if thre is more record to undo (undonextLSN!=nil), aff undonextLSN to ToUndo.

The Effects of CLRs



140、150、160は墜落後に残された取り消し段階である.
140:T 1 CLR LSN 130は、UNDOが130であることを示す.150イコールUNDOイコール120160イコールUNDOイコール110.
2回目の衝突後、以前のものを再開します.再分析、やり直し、元に戻す、160が表示されたら!=したがって、矢印が指す100をToUndoに追加する.最終的にはtofinish that undo(T 1 CLR LSN 100)これをやり終えて170増加しました

Additional Crash Issues



分析またはやり直しの段階で2回目のクラッシュが発生したら?
logは変わらない.redoは新しいレコードを作成しません.
増分を続けているだけです.
ログは、元に戻す過程で2回目のクラッシュが発生した場合にのみ変更されます.
how do you limit the amount of work in redo phase?
DPTの中で一番小さいreLSNがずっと前からやるべきことがたくさんあったら.
in order to make start poing (dirty page), flush data pages to disk asynchronously. (don't keep dirty page to old in memory)
how do you limit the amount of work in UNDO phase?
-> break long transaction into shorter transactions.
how do you limit the work of analysis phase?
-> make chkpt more frequently.

Media Recovery



media recovery means disk crash.
これはsecond diskにチェックポイントとログのみを記録するポリシーです.

Summary of Logging/Recovery



Summary, Cont.



Excercise


http://pages.cs.wisc.edu/~dbbook/openAccess/thirdEdition/solutions/ans3ed-oddonly.pdf

1はwriteが独占ロックを掛けているがreadに関する共有ロックはない.つまり他にはすでに独占ロックがあり、readはいつも成功している.You don't need to get shared lock.
  R1(A), X2(A), W2(A), R1(A), C1, C2, U2(A). 
R 1(A)は、Rに関する共有ロックを掛けないため可能である.これはシーケンス化できません.R 1(A)、W 2(A)はt 1 t 2、W 2(A)、R 1(A)はT 2 T 1を要求する.W 2(A)、R 1(A)は依存項が存在し、回復できない(C 1はC 2より速い).recoverable says if you depend on somebody, you should commit after somebody.
cycleがあるので、シーケンス化できないので、シーケンス化を競合させることはできません.回復できないのでacaはありません.
2確かに2 PLではありません.2 PLはall the lock要求後に解放されるからである.

ACA is ensured by holding X-lock until the transaction end.


5を例にとると、T 2は中止される.流産のことを無視して、考えてみましょう.(シーケンス化可能な場合、競合-シーケンス化可能)
回復性を考えるときはよく考えなければならない.W 2(X)、W 1(X)依存性を有する.if t1 depends on t2 then t1 should not commit before t2 commit. しかし、ここで約束しました.

viewserializableはserializableです
strictはACAスケジュールです.彼を相手にするな.