Thuật toán sử dụng phương pháp tiếp cận Optimistic (lạc quan) dựa trên nhãn thời gian để kiểm tra các giao dịch đến theo một thứ tự chính xác. Yêu cầu đọc mục dữ liệu Ri(X), nếu ts(Ti) < wts(X) nghĩa là gì?
Trả lời:
Đáp án đúng: A
Trong thuật toán Optimistic dựa trên nhãn thời gian, khi giao dịch Ti yêu cầu đọc mục dữ liệu X (Ri(X)), điều kiện ts(Ti) < wts(X)
có nghĩa là:
ts(Ti)
là nhãn thời gian của giao dịch Ti.wts(X)
là nhãn thời gian ghi của mục dữ liệu X, tức là thời điểm giao dịch cuối cùng đã ghi vào X.
Nếu ts(Ti) < wts(X)
, điều này có nghĩa là giao dịch Ti đang cố gắng đọc một mục dữ liệu X mà đã được ghi bởi một giao dịch khác sau thời điểm Ti bắt đầu. Điều này dẫn đến xung đột ghi-đọc (write-read conflict). Để đảm bảo tính tuần tự (serializability), giao dịch Ti phải bị hủy bỏ và khởi động lại với một nhãn thời gian mới.
Tại sao các phương án khác sai:
- B: Thực hiện giao dịch và cập nhật lại nhãn thời gian đọc của mục dữ liệu X là rts(X): Điều này không đúng vì việc thực hiện giao dịch mà không xử lý xung đột sẽ vi phạm tính tuần tự.
- C: Thực hiện giao dịch và cập nhật lại nhãn thời gian ghi của mục dữ liệu X là wts(X): Điều này không đúng vì việc cập nhật wts(X) không giải quyết được xung đột.
- D: Không thực hiện gì cả: Điều này không đúng vì bỏ qua xung đột sẽ dẫn đến dữ liệu không nhất quán.