Tính nguyên tử

Một phần của tài liệu Giáo trình Cơ sở dữ liệu 2 Phần 1 - ĐH Thái Nguyên (Trang 62)

- Các thuật toán dựa trên nối nửa

1) Tính nguyên tử

Quản lý giao dịch là một cố gắng làm cho các thao tác phức tạp xuất hiện dưới dạng nguyên tử (atomic). Nghĩa là một thao tác có thể xảy ra trọn vẹn hoặc không xảy ra. Nếu xảy ra, không có biến cố hay giao dịch nào cùng xảy ra trong suất thời gian tồn tại của nó. Cách thông dụng nhằm đảm bảo được tính nguyên tử của các giao dịch là phương pháp tuần tự hoá (serialization). Phương pháp này làm cho các giao dịch được thực hiện tuần tự [7].

Một giao dịch không có tính nguyên tử nếu:

Trong một hệ thống phân chia thời gian, lát thời gian cho giao dịch T có thể kết thúc trong khi T đang tính toán và các hoạt động của một giao dịch khác sẽ được thực hiện trước khi T hoàn tất. Hoặc

- Một giao dịch không thể hoàn tất được. Chẳng hạn khi nó phải chấm dứt giữa chừng, có thể vì nó thực hiện một phép tính không hợp lệ, hoặc có thể do đòi hỏi những dữ liệu không được quyền truy xuất. Bản thân hệ thống CSDL có thể buộc giao dịch này ngừng lại vì nhiều lý do. Chẳng hạn giao dịch có thể bị kẹt trong một khoá gài.

Trong thực tế, mỗi giao dịch đều có một chuỗi các bước cơ bản như: đọc

hay ghi một mục dữ liệu (tiêm) vào CSDL và thực hiện các phép tính toán số học đơn giản trong vùng làm việc, hoặc các bước sơ đẳng khác như các bước

khoá chết, giải phóng khoá, uỷ thác (hoàn tạp giao dịch và có thể có những bước khác nữa. Chúng ta luôn giả sử rằng những bước sơ đẳng này là nguyên tử. Thậm chí thao tác kết thúc lát thời gian xảy ra khi .đang tính toán cũng có thể xem là nguyên tử. Bởi vì nó xảy ra trong vùng làm việc cục bộ và không có gì có thể ảnh hưởng đến vùng làm việc đó cho đến khi giao dịch đang thực hiện dở các phép tính số học được tái hoạt động trở lại [7].

Một phần của tài liệu Giáo trình Cơ sở dữ liệu 2 Phần 1 - ĐH Thái Nguyên (Trang 62)