- Nếu các giao tác thực hiện với những dữ liệu khác nhau thì nên thực hiện song song > chia sẽ chu kỳ của CPU và truy
View-Serializability (tt) Ý tưởng
Ý tưởng
Xét trường hợp
Nhận xét
Sau khi T ghi A xong mà không có giao tác nào đọc giá trị của A
Khi đó, hành động wT(A) có thể chuyển đến 1 vị trí khác trong lịch thao tác mà ở đó cũng không có giao tác nào đọc A
Ta nói
Hành động r (A) có gốc là giao tác T
T U
Write(A)
View-Serializability (tt)
80
Định nghĩa
S, S’ là những lịch thao tác view-equivalent
1- Nếu trong S có wj(A) … rj(A) thì trong S’ cũng có wj(A) … rj(A) 2- Nếu trong S có ri(A) là thao tác đọc giá trị ban đầu của A
thì trong S’ cũng ri(A) đọc giá trị ban đầu của A 3- Nếu trong S có wi(A) là thao tác ghi giá trị sau cùng lên A
thì trong S’ cũng có wi(A) ghi giá trị sau cùng lên A
Một lịch thao tác S là view-serializable
Nếu S là view-equivalent với một lịch thao tác tuần tự nào đó S view-serializable S conflict-serializable
View-Serializability (tt)
S conflict-serializable S view-serializable
Chứng minh
Hoán vị các hành động không xung đột
Không làm ảnh hưởng đến những thao tác đọc Cũng không làm ảnh hưởng đến trạng thái CSDL
View-Serializability (tt)
82
S view-serializable S conflict-serializable
Trong S có những hành động ghi không có tác dụng (useless)
S = … w2(A) ……… w3(A) … Không có hành động đọc A T2 T1 Write(A) S Write(A) T3 Read(A) Write(A)
View-Serializability (tt)
84
Quan sát lịch S thấy các giao dịch T4 và T6 thực hiện các giao tác write (A) mà không thực hiện một lệnh
Read (A) nào. Các thao tác này gọi là thao tác mù. Các thao tác ghi mù xuất hiện trong một lịch biểu view-
serializability nào đó thì lịch biểu không conflict serializability