JavaScript is required

Giao dịch Ti đọc và ghi đối tượng A ký hiệu là Ri(A) và Wi(A). Giao dịch T1 bị huỷ bỏ. Anh/chị hãy xác định giao dịch nào cần được khôi phục với chuỗi hành động sau: W1(A) R2(A) W1(B) R3(B) R4(C)

A.

T2, T3.

B.

T2, T4.

C.

T3, T4.

D.

T2, T3, T4.

Trả lời:

Đáp án đúng: A


Trong bài toán này, ta cần xác định giao dịch nào cần khôi phục sau khi giao dịch T1 bị hủy bỏ. Chuỗi hành động là: W1(A) R2(A) W1(B) R3(B) R4(C). Vì T1 bị hủy bỏ, mọi thay đổi mà T1 đã thực hiện cần được hoàn tác. Điều này có nghĩa là mọi giao dịch phụ thuộc vào T1 (đọc dữ liệu mà T1 đã ghi) cũng cần được khôi phục (rollback) để đảm bảo tính nhất quán của dữ liệu.

Phân tích chuỗi hành động:

  • W1(A): T1 ghi đối tượng A.
  • R2(A): T2 đọc đối tượng A. Vì T2 đọc dữ liệu mà T1 đã ghi, T2 phụ thuộc vào T1. Do đó, T2 cần được khôi phục.
  • W1(B): T1 ghi đối tượng B.
  • R3(B): T3 đọc đối tượng B. Vì T3 đọc dữ liệu mà T1 đã ghi, T3 phụ thuộc vào T1. Do đó, T3 cần được khôi phục.
  • R4(C): T4 đọc đối tượng C. T4 không đọc bất kỳ dữ liệu nào mà T1 đã ghi, do đó T4 không phụ thuộc vào T1 và không cần khôi phục.

Vậy, các giao dịch cần khôi phục là T2 và T3.

Câu hỏi liên quan