Các tính chất của giao tác

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng máy trạng thái trong quản lý giao tác (Trang 32 - 34)

3. Bố cục của luận văn

2.2.1. Các tính chất của giao tác

Như đã biết giao tác là một ứng dụng hay một phần của ứng dụng được mô tả bởi các tính chất sau:

-Tính nguyên tử (Atomicity): Tính nguyên tử liên quan đến sự kiện là một giao tác được xử lý như là một đơn vị hoạt tác. Chính vì thế mà khi thực thi một giao tác thì hoặc là các hành động của giao tác được thực hiện hoặc là không một hành động nào được thực hiện cả. Tính nguyên tử đòi hỏi rằng nếu việc thực thi giao tác bị cắt ngang bởi một loại sự cố nào đó thì DBMS sẽ chịu trách nhiệm xác định những công việc của giao tác để khôi phục lại sau sự cố. Có 2 chiều hướng thực hiện đó là: hoặc nó sẽ được kết thúc bằng cách hoàn tất các hành động còn lại, hoặc có thể kết thúc bằng cách hồi lại tất cả các hành động đã được thực hiện.

Có hai lý do cơ bản làm cho giao tác không được hoàn thành: giao tác tự huỷ bỏ (transaction aborts) hoặc hệ thống bị sự cố (system crashes). Việc tự hủy giao tác có thể do yêu cầu của bản thân giao tác (hoặc của người sử dụng nó) do một số dữ liệu vào sai hoặc là do một vài điều kiện khác làm cho quá trình giao tác không hoàn thành hoặc không đem lại kết quả tốt. Sự hủy bỏ của giao tác cũng có thể là do sự ép buộc của hệ thống bởi những lý do như quá tải hệ thống và hiện tượng khoá gài (deadlocks -giao tác có thể bị kẹt trong một khoá gài). Duy trì được tính nguyên tử khi có sự cố giao tác tự huỷ bỏ được gọi là

khôi phục giao tác (transaction recovery), và duy trì được tính nguyên tử khi có sự cố hệ thống được gọi là khắc phục sự cố (crash recovery).Sự hoàn thành

một giao tác được gọi là thỏa thuận (commitment). Chúng ta sẽ thừa nhận rằng với mỗi giao tác bắt đầu bằng một lệnh nguyên thuỷ begin_transaction và kết thúc bằnglệnh commit (thỏa thuận) hoặc abort (huỷ bỏ).

Sơ đồ thể hiện giao tác như ở hình dưới đây:

-Tính bền vững (Durability): là một tính chất của giao tác, bảo đảm rằng mỗi khi giao tác thỏa thuận, kết quả của nó được duy trì cố định và không bị xoá ra khỏi CSDL. Vì thế DBMS bảo đảm rằng kết quả của giao tác sẽ vẫn tồn tại dù có xảy ra sự cố hệ thống. Tính bền vững đưa ra vấn đề khôi

phục dữ liệu (database recovery), nghĩa là cách khôi phục CSDL về trạng thái nhất quán mà ở đó mọi hành động đã thỏa thuận đều được phản ánh. Vấn đề này sẽ được thảo luận nhiều hơn trong phần sau.

-Tính tuần tự (Serializability): Nếu có vài giao tác thực hiện đồng thời, thì kết quả phải như nhau nếu nó được thực hiện tuần tự trong cùng một thứ tự đó. Tính tuần tự của giao tác đưa ra vấn đề điều khiển đồng thời (concurrency control). Nếu một hệ thống có tính điều khiển đồng thời, người

lập trình có thể ghi lại giao tác như khi nó thực hiện một mình.

-Tính biệt lập (Isolation): Một giao tác đang thực thi không thể đưa ra các kết quả của nó cho những giao tác khác đang cùng hoạt động trước khi nó thỏa thuận. Tính chất này là cần thiết trong việc ngăn ngừa sự hủy bỏ dây chuyền (cascading abort- Còn gọi là hiệu ứng domino). Nếu một giao tác cho

phép những giao tác khác sử dụng những kết quả chưa hoàn tất của nó trước khi thỏa thuận rồi sau đó nó quyết định huỷ bỏ, khi đó mọi giao tác đã đọc

begin_transaction Commit begin_transaction Abort begin_transaction x System Forces abort

những giá trị chưa hoàn tất đó cũng sẽ phải được huỷ bỏ nếu không xâu mắt xích này dễ dàng tăng nhanh và gây ra những phí tổn đáng kể cho DBMS. Chú ý rằng nếu những giao tác đã được thỏa thuận rồi, chúng ta sẽ không phải thực hiện chúng nữa, như vậy là vi phạm tính bền vững của giao tác. Với lý do này, biệt lập giao tác là một tính chất rất quan trọng trong việc thực thi giao tác một cách hiệu quả.

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng máy trạng thái trong quản lý giao tác (Trang 32 - 34)

Tải bản đầy đủ (PDF)

(71 trang)