Tính nguyên tử

Một phần của tài liệu bài giảng về cơ sở dữ liệu nâng cao (Trang 30)

Trên quan điểm về quản lý được, quản lý giao dịch là một có gắp nhằm làm cho các thao tác phức tạp xuất hiện dưới dạng các nguyên tử. Nghĩa là thao tác 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ó. Mỗi

nguyên tử về sau ta sẽ gọi là một bước cơ bản hoặc một thao tác cơ bả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ự hóa. Phương pháp này làm cho các giao dịch được thực hiện một cách tuần tự. Một giao dịch không có tính nguyên tử nếu:

1, Trong hệ thống phân chia thời gian, 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.

2, Một giao dịch có thể không hoàn tất được, chẳng hạn có 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ệ (ví dụ phép chia cho 0), hoặc có thể do nó đò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 khóa “cứng” (deadlock)

Trong trường hợp (1), nhiệm vụ của hệ thống CSDL là phải bảo đảm rằng cho dù bất kỳ điều gì xảy ra ngay giữa một giao dịch, tác dụng của giao dịch trên CSDL không bị ảnh hưởng của những

biến cố bất ngờ này. Trong trường hợp (2), hệ thống phải bảo đảm rằng giao dịch bị hủy bỏ không ảnh hường gì trên CSDL hoặc các giao dịch khác

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 vào CSDL hoặc thực hiện các phép toán số học đơn giản trong vùng làm việc riêng, hoặc

những bước sơ đẳng khác như các bước khóa, mở khóa, ủy thác hoàn tất giao dịch… 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 tính toán kết thúc sau khi thời gian dành cho nó đã hết cũng có thể xem là nguyên tử, bởi vì các phép tính toán xảy ra khi đang

làm việc trong vùng dữ liệu cục bộ và không thể ảnh hưởng đến vùng làm việc đó cho đến khi giao

dịch đang thực hiện dở phép tính số học được tái hoạt động trở lại.

Một phần của tài liệu bài giảng về cơ sở dữ liệu nâng cao (Trang 30)