Phương pháp đồ thị

Một phần của tài liệu Các phương pháp điều khiển tương tranh và truy cập dữ liệu trong cơ sở đữ liệu phân tán (Trang 40 - 42)

Chia cơ sở dữ liệu thành các mức khác nhau gọi là các cấp. Sự phân cấp này được biểu diễn bởi đồ thị như là cây dữ liệu.

- Mức cao nhất: toàn bộ cơ sở dữ liệu.

- Mức dưới kế: các node gồm các vùng chứa dữ liệu A1, A2

- Mỗi vùng chứa các node con là các tệp tin Fa, Fb , Fc, Fd

Quy tắc khóa:

- Mỗi node có thể khóa riêng một mình. Khi 1 giao tác khóa 1 node bằng 1 kiểu nào đó thì nó cũng khóa tất cả các node con theo kiểu đó nhưng là khóa ẩn.

Ví dụ: Tj muốn khóa Rb6 của Fb. Nếu Ti chiếm F6 dạng tường minh thì Ti

cũng chiếm Rb6 dạng ẩn nên Tj phải duyệt từ gốc đến Rb6 nếu không tương thích

thì Tj phải đợi.

- Nếu muốn khóa toàn bộ cơ sở dữ liệu khi đó sẽ khóa gốc của cây. Tuy nhiên phải đảm bảo rằng giao tác đó chưa khóa 1 phần nào của cây. Vấn đề là làm thế nào để biết được có phần nào của cây bị khóa hay chưa. Ta có thể duyệt hoặc dùng kiểu khóa có ý định (IL) (intention lock mode).

IW: khóa có ý định kiểu ghi.

RIW: gốc của cây con bị khóa kiểu read tường minh, 1 node cấp thấp hơn bị khóa kiểu write.

Ma trận tương thích: IR IW R RIW W IR T T T T F IW T T F F F R T F F F F RIW T F F F F W F F F F F

Thuật toán: Nếu lịch S được tạo ra gồm các giao tác thỏa mãn điều kiện sau thì S sẽ khả tuần tự:

- Thỏa ma trận tương thích.

- Gốc của cây được khóa đầu tiên.

- Một node Q có thể bị khóa bởi Ti theo kiểu R hoặc IR chỉ nếu node

cha của Q bị khóa bởi Ti theo kiểu IW hoặc IR.

- Một node Q bị khóa bởi Ti theo W,RIW hoặc IW chỉ nếu node cha của

- Ti có thể khóa 1 node nếu trước đó nó chưa unlock một node nào.

- Ti có thể unlock(Q) chỉ nếu không có 1 node con nào của Q là đang bị

khóa bởi Ti .

 Lock theo kiểu Top-Down, Unlock theo kiểu Bottom-Up.

Ví dụ:

- Giao tác T1 cần đọc Ra2 của Fa , khi đó T1 khóa A1 và theo IR và khóa Ra2 theo kiểu R.

- T2 cần ghi record Ra9 của Fa , khi đó sẽ khóa A1 và Fa theo IW và khóa

Ra9 theo kiểu W

- T3 cần đọc tất cả các record của Fa , khi đó T3sẽ khóa A1 theo IR và

khóa Fa theo kiểu R.

- T4 cần đọc toàn bộ cơ sở dữ liệu, nó sẽ khóa cơ sở dữ liệu theo kiểu R

• Khi đó T1 , T3 , T4 có thể truy xuất tương tranh trên cơ sở dữ liệu (adsbygoogle = window.adsbygoogle || []).push({});

này.

• T2 có thể tương tranh với T1 nhưng không thể tương tranh với T3

hoặc T4

Nhận xét: phương pháp này là sự mở rộng của tính tương tranh của phương pháp khóa 2 pha và giảm đi chi phí khóa dữ liệu. Sử dụng với các ứng dụng có chứa

- Các giao tác có thời gian thực hiện nhanh và truy xuất ít dơn vị dữ liệu.

- Các giao tác có thời gian thực hiện kéo dài tạo ra các report từ toàn bộ cơ sở dữ liệu hoặc tập các tập tin.

Một phần của tài liệu Các phương pháp điều khiển tương tranh và truy cập dữ liệu trong cơ sở đữ liệu phân tán (Trang 40 - 42)