tailieunhanh - Quản Lý Dữ Liệu - Cơ Sở Dữ Liệu phần 8

Tham khảo tài liệu 'quản lý dữ liệu - cơ sở dữ liệu phần 8', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Bài giảng tóm tắt Hệ quản trị cơ sở dữ liệu 83 Unlock A Lock-S B Grant-S B T2 Read B Unlock B Display A B Lock-X A Grant-X A T1 Read A A A 50 Write A Unlock A Thời lịch 12 Bây giờ giả sử rằng tháo khóa bị làm trễ đến cuối giao dịch. Giao dịch T3 tương ứng với T1 với tháo khóa bị làm trễ được định nghĩa như sau T3 Lock-X B Read B B B-50 Write B Lock-X A Read A A A 50 Write A Unlock B Unlock A Giao dịch T4 tương ứng với T2 với tháo khóa bị làm trễ được xác định như sau T4 Lock-S A Read A Lock-S B Read B Display A B Unlock A Unlock B Bài giảng tóm tắt Hệ quản trị cơ sở dữ liệu 84 Các thời lịch có thể trên T3 và T4 không để cho T4 hiển thị trạng thái không nhất quán. Tuy nhiên sử dụng khóa có thể dẫn đến một tình huống không mong đợi. Ta xét thời lịch 13 gồm một phần công việc trên T3 và T4 sau T3 T4 Lock-X B j Read B B B-50 Write B Lock-S A Read A JL Lock-S B Lock-X A Thời lịch 13 Do T3 giữ một khóa phương thức Exclusive trên B nên yêu cầu một khóa phương thức shared của T4 trên B phải chờ đến khi T3 tháo khóa. Cũng vậy T3 yêu cầu một khóa Exclusive trên A trong khi T4 đang giữ một khóa shared trên nó và như vậy phải chờ. Ta gặp phải tình huống trong đó T3 chờ đợi T4 đồng thời T4 chờ đợi T3 một sự chờ đợi vòng tròn và như vậy không giao dịch nào có thể tiến triển. Tình huống này được gọi là deadlock khóa chết . Khi tình huống khóa chết xảy ra hệ thống buộc phải cuộn lại một trong các giao dịch. Mỗi khi một giao dịch bị cuộn lại các mục dữ liệu bị khóa bởi giao dịch phải được tháo khóa và nó trở nên sẵn có cho giao dịch khác như vậy các giao dịch này có thể tiếp tục được sự thực hiện của nó. Nếu ta không sử dụng khóa hoặc tháo khóa mục dữ liệu ngay khi có thể sau đọc hoặc viết mục ta có thể rơi vào trạng thái không nhất quán. Mặt khác nếu ta không tháo khóa một mục dữ liệu trước khi yêu cầu một khóa trên một mục dữ liệu khác deadlock có thể xảy ra. Có các phương pháp tránh deadlock trong một số tình huống tuy nhiên nói chung deadlock là khó tránh khi sử dụng khóa nếu .