Sử dụng tính thứ tự

Một phần của tài liệu Quản lý giao tác trong CSDL quan hệ và phân tán (Trang 41)

Nói rằng một lịch biểu S là xếp thứ tự được (xung đột) – nghĩa là S là tương đương xung đột với một lịch biểu có thứ tự - thì cũng tương đương với việc nói rằng S là đúng đắn. tuy nhiên, là xếp thứ tự được là khác với là có thứ tự. Một lịch biểu có thứ tự trình bày một xử lý không hiệu quả bởi vì

T1

T3

không có sự đan xen của các thao tác từ nhiều giao tác khác nhau được phép. Điều này có thể dẫn tới việc sử dụng CPU thấp trong khi một giao tác chờ đợi để vào/ra đĩa hoặc để giao tác khác kết thúc, do đó làm chậm việc xử lý. Một lịch biểu theo sắp thứ tự được cho các lợi ích thực hiện đồng thời nhưng vẫn đảm bảo tính đúng đắn. Trên thực tế, việc kiểm tra tính sắp thứ tự được của một lịch biểu là hoàn toàn khó khăn. Việc đan xen của các thao tác từ các giao tác đồng thời – nó thường được hệ điều hành thực hiện như các tiến trình- thường được xác định bởi bộ lập lịch của hệ điều hành. Bộ lập lịch của hệ điều hành phân phối các tài nguyên cho tất cả các tiến trình. Các nhân tố như nạp hệ thống, thời gian đệ trình giao tác và các quyền ưu tiên của quá trình góp phần vào việc xếp thứ tự của các thao tác trong một lịch biểu. Do đó, rất khó xác định các thao tác của lịch biểu sẽ được xen kẽ trước như thế nào để đảm bảo tính sắp được thứ tự [1,2].

Nếu các giao tác được thực hiện như ý muốn và sau đó lịch biểu kết quả được kiểm tra đối với việc sắp được thứ tự, chúng ta phải bỏ ảnh hưởng của lịch biểu nếu nó sản xuất ra không là sắp được thứ tự. Đây là một vấn đề nghiêm trọng nó làm cho cách tiếp cận này không thực tế. Do đó, tiếp cận được lấy trong phần lớn các hệ thống thực tiễn là xác định các phương pháp đảm bảo tính xếp thứ tự được mà không cần kiểm tra chính các lịch biểu. Cách tiếp cận được sử dụng trong phần lớn các DBMS thương mại là thiết kế các giao thức (các tập hợp quy tắc), các giao thức này sẽ đảm bảo tính sắp thứ tự được của tất cả các lịch biểu trong đó các giao tác tham gia [1].

Vấn đề khác xuất hiện ở đây: khi các giao tác được đệ trình một cách liên tục lên hệ thống, rất khó xác định được khi nào một lịch biểu bắt đầu và khi nào nó kết thúc. Lý thuyết sắp xếp được có thể được áp dụng để giải quyết vấn đề này bằng việc chỉ xem xét các phép chiếu xác nhận của một lịch biểu S. Phương án xác nhận C(S) của một lịch biểu S chỉ bao gồm các thao tác

trong S thuộc các giao tác đã xác nhận. chúng ta có thể định nghĩa một cách lý thuyết một lịch biểu S là có sắp được thứ tự nếu phép chiếu xác nhận C(S) là tương đương với lịch biểu có thứ tự nào đấy, bởi vì chỉ các giao tác đã được xác nhận mới được DBMS đảm bảo.

Có nhiều giao thức kiểm soát cạnh tranh khác nhau đảm bảo việc sắp được thứ tự. Kỹ thuật hay dùng nhất gọi là khoá hai kỳ dựa trên việc khoá các mục dữ liệu để ngăn ngừa các giao tác đồng thời khỏi đan xen với nhau và bắt tuân theo một điều kiện phụ thêm đảm bảo tính sắp thứ tự được. Điều này được sử dụng trong phần lớn các hệ quản trị cơ sở dữ liệu thương mại. Ngoài ra còn nhiều giao thức khác.

Một phần của tài liệu Quản lý giao tác trong CSDL quan hệ và phân tán (Trang 41)

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

(96 trang)