Tính khả tuần tự của các lịch biểu và việc sử dụng chúng

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 64)

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

4) Tính bền vững

1.5.2. Tính khả tuần tự của các lịch biểu và việc sử dụng chúng

Mục đích của giao thức điều khiển tương tranh là xếp lịch thực hiện sao cho không xảy ra sự tác động lẫn nhau giữa chúng. Có một giải pháp đơn giản: Chỉ cho phép một giao dịch thực hiện tại một thời điểm. Nhưng mục đích của hệ quản trị cơ sở dữ liệu đa người dùng lại là tối đa hoá sự thực hiện đồng thời trong hệ thống sao cho những giao dịch thực hiện đồng thời không ảnh hưởng lẫn nhau .

Lịch biểu là một dãy (có thứ tự) các thao tác của một tập các giao dịch tương tranh mà trong đó thứ tự của một thao tác trong mỗi giao dịch được bảo toàn

Đây là vấn đề xử lý hoạt động đồng thời có liên quan đến các nhà thiết kế CSDL chứ không phải các nhà thiết kế các hệ thống đồng thời tổng quát.

Giả sử chúng ta có một tập các giao dịch S- { T1, T2, T3,… }

Lịch biểu tuần tự: Chúng ta thấy ngay rằng nếu các giao dịch thực hiện

tuần tự theo một thứ tự nào đó, các thao tác của mỗi giao dịch được thực hiện kế tiếp nhau, không có một thao tác nào của các giao dịch khác xen kẽ vào thì các sự cố tranh chấp chắc chắn không xảy ra và trong CSDL chúng ta có một kết quả nào đó.

Chúng ta định nghĩa một lịch biểu cho một tập các giao dịch S là thứ tự (có thể xen kẽ) các bước cơ bản của của các giao dịch (khoá, đọc, ghi, ... ) được thực hiện. :

Các bước của một giao dịch đã cho phải xuất hiện trong lịch biểu theo đúng thứ tự xảy ra trong giao dịch đó.

Lịch biểu không tuần tự: Là lịch mà trong đó các thao tác của một tập các giao dịch tương tranh được xen kẽ vào nhau.

Bởi vì luôn có tịch biểu tuần tự cho tập giao dịch S vì vậy chúng ta sẽ giả sử rằng hoạt động của các giao dịch đồng thời là đúng đắn nếu và chỉ nếu tác dụng của nó giống như tác dụng có được của tịch biểu tuần tự.

Lịch biểu được gọi là khả tuần tự (serializable) nếu tác dụng của nó giông với tác dụng của một lịch biểu tuần tự.

Lịch biểu được gọi là bất khả tuần tự nếu tác dụng của nó không giống với tác dụng của lịch biểu tuần tự.

Mục tiêu của bộ xếp lịch là với một tập các giao dịch đồng thời, đưa ra được một lịch biểu khả tuần tự.

Trong việc tuần tự hoá, thứ tự của các thao tác đọc và ghi rất quan trọng: Nếu hai thao tác chỉ đọc một mục dữ liệu thì chúng sẽ không ảnh hưởng đến nhau và thứ tự giữa chúng không quan trọng

- Nếu hai thao tác đọc hay ghi trên hai mục dữ liệu hoàn toàn khác nhau thì chúng sẽ không ảnh lluullg đến nhau và thứ tự giữa chúng không quan trọng

- Nếu một thao tác ghi một mục dữ liệu và một thao tác khác đọc hay ghi trên chính mục dữ liệu này thì thứ tự giữa chúng rất quan trọng.

Xét các lịch biểu

Lịch biểu tuần tự Lịch biểu khả tuần tự Lịch biểu bất khả tuần tự T1 thi trường T1 T2 T1 T2

Read A ReadA ReadA

A:=A-10 ReadB A:=A-10

WriteA A:=A-10 ReadB

Read B B:=B -20 WriteA

B:=B+10 WrieA B:=B-20

WriteB WriteB ReadB

ReadB ReadB writeB

B:=B-20 Read C B:=B+10

writeB B:=B+10 ReadC

Read C C:=C+20 WriteB

C:=C+20 WriteB C:=C+20

Write C Write C Write C

Hình 2.2 . Một số lịch biểu

Hình 2.2 (a) là một lịch biểu tuần tự Hình 2.2 (b) là lịch biểu khả tuần tự

Hình 2.2 (c) là lịch biểu bất khả tuần tự

Trong thực tế, qua các tính chất của đại số đơn thuần ta có thể gặp một lịch biểu là bất khả tuần tự nhưng nó cho cùng kết quả so với lịch biểu tuầ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 64)