1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng hệ quản trị cơ sở dữ liệu chương 4 ths nguyễn minh vi

17 303 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 1,43 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tóm tắt Kỹ thuật khóa... Tóm tắt Kỹ thuật nhãn thời gian... Kỹ thuật nhãn thời gian Timestamps  Gồm  Nhãn thời gian toàn phần  Nhãn thời gian riêng phần  Nhãn thời gian nhiều phi

Trang 1

Tóm tắt

Kỹ thuật khóa

Trang 2

Kỹ thuật khóa (Locking)

 Gồm

 Khóa 2 giai đoạn

 Khóa đọc viết

 Khóa đa hạt

 Nghi thức cây

Trang 3

Kỹ thuật khóa

 Qui tắc

 Giao tác đúng đắn

 Lịch thao tác hợp lệ

Ti : … l(A) … r(A) / w(A) … u(A) …

S : … li(A) ……… ui(A) …

không có lj(A)

Trang 4

Kỹ thuật khóa 2 giai đoạn

(2PL: 2 phase lock)

 Qui tắc

 Giao tác 2PL

S : … li(A) ……… ui(A) …

không có lock không có unlock

Thực hiện xong hết tất cả các yêu cầu lock rồi mới tiến hành unlock

Trang 5

Kỹ thuật khóa 2 giai đoạn

 Định l{

S thỏa qui tắc (1), (2), (3)  S khả tuần tự

Trang 6

Kỹ thuật khóa đọc viết

 Qui tắc

 Giao tác đúng đắn

Ti : … rl(A) … r(A) … u(A) …

Ti : … wl(A) … w(A) … u(A) …

Trang 7

Kỹ thuật khóa đọc viết

 Qui tắc

 Lịch thao tác hợp lệ

S : … rli(A) ……… ui(A) …

không có wlj(A)

S : … wli(A) ……… ui(A) …

không có wlj(A) không có rlj(A)

Trang 8

Kỹ thuật khóa đọc viết

 Qui tắc

 Giao tác 2PL

• Ngoại trừ trường hợp nâng cấp khóa, các trường hợp còn lại đều giống với nghi thức khóa

• Nâng cấp xin nhiều khóa hơn

• Nâng cấp giải phóng khóa đọc

S : … rl i (A) … wl i (A) ……… u i (A) …

không có lock không có unlock

S : … rl i (A) … ul i (A) … wl i (A) ………… u i (A) …

vẫn chấp nhận trong pha lock

Trang 9

Kỹ thuật khóa đọc viết

 Định l{

S thỏa qui tắc (1), (2), (3)  S khả tuần tự

Trang 10

Kỹ thuật khóa đa hạt

 Gồm các khóa

 Khóa thông thường

• Shared lock: S

• Exclusive lock: X

 Khóa cảnh báo (warning lock)

• Warning (intention to) exclusive lock: IX

R 1

B 1 B 2 B 3

t 1 t 2 t 3

X

IX

IX

R 1

B 1 B 2 B 3

t 1 t 2 t 3 S

IS

IS

Trang 11

Kỹ thuật khóa đa hạt

 (1) Thỏa ma trận tương thích

 (2) Khóa nút gốc của cây trước

 (3) Nút Q có thể được khóa bởi T i bằng S hay

IS khi cha(Q) đã bị khóa bởi T i bằng IX hay IS

 (4) Nút Q có thể được khóa bởi T i bằng X hay

IX khi cha(Q) đã bị khóa bởi T i bằng IX

 (5) T i thỏa 2PL

 (6) T i có thể giải phóng nút Q khi không có nút con nào của Q bị khóa bởi T i

Trang 12

Nghi thức cây

 Qui tắc

 (1) Giao tác Ti có thể phát ra khóa đầu tiên ở bất kz nút nào

 (2) Nút Q sẽ được khóa bởi Ti khi cha(Q) cũng được khóa bởi Ti

 (3) Các nút có thể được giải phóng khóa bất cứ lúc nào

 (4) Sau khi Ti giải phóng khóa trên Q, Ti không được khóa trên Q nữa

Trang 13

Tóm tắt

Kỹ thuật nhãn thời gian

Trang 14

Kỹ thuật nhãn thời gian

(Timestamps)

 Gồm

 Nhãn thời gian toàn phần

 Nhãn thời gian riêng phần

 Nhãn thời gian nhiều phiên bản

 Chiến lược cơ bản

 Nếu ST(Ti) < ST(Tj) thì lịch thao tác được phát sinh

phải tương đương với lịch biểu tuần tự {Ti, Tj}

Trang 15

Nhãn thời gian toàn phần

Read(T, X)

If TS(X) <= TS(T)

Read(X);

//cho phép đọc X TS(X):= TS(T);

Else

Abort {T};

//hủy bỏ T

//khởi tạo lại TS If TS(X) <= TS(T) Write(X); //cho phép ghi X TS(X):= TS(T);

Else

Abort {T};

//hủy bỏ T //khởi tạo lại TS

Write(T, X)

Trang 16

Nhãn thời gian riêng phần

Read(T, X)

If WT(X) <= TS(T)

Read(X); //cho phép đọc X

RT(X):= max(RT(X),TS(T)); Else

Rollback{T};

//hủy T và khởi tạo lại TS mới

If RT(X) <= TS(T)

If WT(X) <= TS(T)

Write(X); //cho phép ghi X

WT(X):= TS(T);

//Else không làm gì cả

Rollback{T};

//hủy T và khởi tạo lại TS mới Write(T, X)

Trang 17

Nhãn thời gian nhiều phiên bản

i=“số thứ tự phiên bản sau cùng nhất của A”

While WT(X i ) > TS(T)

i:=i-1; //lùi lại Read(X i );

RT(X i ):= max(RT(X i ), TS(T));

Read(T, X)

i=“số thứ tự phiên bản sau cùng nhất của A”

While WT(X i ) > TS(T)

i:=i-1; //lùi lại

If RT(X i ) > TS(T)

Rollback T //Hủy và khởi tạo TS mới Else

Tạo và chèn thêm phiên bản A i+1 ; Write(X i+1 );

RT(X i+1 ) = 0; //chưa có ai đọc WT(X i+1 ) = TS(T);

Write(T, X)

Ngày đăng: 03/12/2015, 02:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm