commit이 디스크에 write하는 것이 아니다. 커밋할 때마다 disk에 write하면 performance가 떨어진다. 다만 commit하면 그것을 기억할 방법이 있어야한다.
T1T2 와 T2T1은 serial schedule이다.
T1T2에서 W2(B)는 R2(B)와 R2(A)에 따라 달라진다. R2(A)도 연관이 있는 이유는 A를 이용해서 B를 계산할 수도 있기 때문이다. B <- B + A
Are these serializable?
먼저 R1(A)를 보면, T2T1은 절대 될 수 없다. T2T1에서 R1(A)는 W2(A)에 먼저 영향을 받는다. 따라서 T1T2만 살펴보자
R1(A)는 같은 것을 읽고있다. W1(A)는 final이 아니다. W2(A)가 뒤에 있기 때문에 신경 쓸 필요 없다. R2(A) 차례인데, T1T2에서도 R2(A)는 W1(A)를 읽고 있으므로 같다. W2(A)는 final인데 R2(A)를 읽고 있다. T1T2에서도 W2(A)는 R2(A)를 write하고 있다. R2(B) 차례인데 initial B를 읽고 있지만, T1T2에서는 W1(B)를 읽고 있으므로 다르다!
여기에서도 R1(B)를 보면 initial B를 읽고 있지만, T2T1에서 R1(B)는 변경된 것을 읽고 있다. T1T2랑은 equivalent to T1T2이다.