[CMPT 454] Week13_2

June·2021년 4월 13일
0

CMPT 454

목록 보기
33/33

Assignment 3 practice

  1. T1:R(X), T2:R(X), T1:W(X), T2:W(X)

Serializable:
T1T2또는 T2T1에 해당하는지 봐야한다.
T1T2가 될 수 없다. 왜냐하면 R2(X)는 initial value를 읽기 때문이다. T1T2에서는 W1(X)를 R2(X)가 읽는다. T2T1 또한 될 수 없다. R1(X)가 initial value를 읽기 때문이다.
serialiazalbe doesn't guarantee conflict serializable.

conflict-serializable:
R2(X), W1(X)에서 T2 -> T1이 발생한다.
W1(X), W2(X)에서 T1 -> T2가 발생한다.
싸이클이 발생했으므로 conflict-serializable이 아니다.

avoid-cascading-abort:
W2(X)가 W1(X)를 overwrite하고 있다. 따라서 W1(X)가 abort되면 W2(X)도 abort돼야한다. 이것을 막으려면 W1(X)이후 commit했어야했다. 따라서 ACA가 아니다.

recoverable:
T1 -> T2의 관계면 T2 should not commit before T1 commit. 여기서는 commit이 없으므로 recoverable이 맞다!

when we have a blind write, any transaction before that we can basically swap however we want.

0개의 댓글