Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 5 - ThS. Nguyễn Minh Vi
Số trang: 113
Loại file: pdf
Dung lượng: 3.65 MB
Lượt xem: 20
Lượt tải: 0
Xem trước 10 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 5 Quản lý truy xuất đồng thời thuộc bài giảng hệ quản trị cơ sở dữ liệu nhằm trình bày về các nội dung: các vấn đề trong truy xuất đồng thời, kỹ thuật khóa (Locking), kỹ thuật nhãn thời gian (Timestamps) và kỹ thuật xác nhận hợp lệ (Validation).
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 5 - ThS. Nguyễn Minh Vi Quản lý truy xuất đồng thời Nội dung Các vấn đề trong truy xuất đồng thời Kỹ thuật khóa (Locking) Kỹ thuật nhãn thời gian (Timestamps) Kỹ thuật xác nhận hợp lệ (Validation) Nội dung Các vấn đề trong truy xuất đồng thời Kỹ thuật khóa (Locking) Kỹ thuật nhãn thời gian (Timestamps) Kỹ thuật xác nhận hợp lệ (Validation) Các vấn đề trong truy xuất đồng thời Mất dữ liệu đã cập nhật (lost updated) Không thể đọc lại (unrepeatable read) Bóng ma (phantom) Đọc dữ liệu chưa chính xác (dirty read) Mất dữ liệu đã cập nhật (lost updated) Xét 2 giao tác T1 T2 Read(A) Read(A) A:=A+10 A:=A+20 Write(A) Write(A) Giả sử T1 và T2 được thực hiện đồng thời A=50 T1 T2 t1 Read(A) Dữ liệu đã cập t2 Read(A) nhật tại t4 của T1 t3 A:=A+10 bị mất vì đã bị ghi t4 Write(A) chồng lên ở thời t5 A:=A+20 điểm t6 t6 Write(A) A=60 A=70 Không thể đọc lại (unrepeatable read) Xét 2 giao tác T1 T2 Read(A) Read(A) A:=A+10 Print(A) Write(A) Read(A) Print(A) Giả sử T1 và T2 được thực hiện đồng thời A=50 T1 T2 t1 Read(A) t2 Read(A) A=50 T2 tiến hành A:=A+10 đọc A hai lần t3 thì cho hai kết t4 Print(A) A=50 quả khác nhau t5 Write(A) t6 Read(A) A=60 t7 Print(A) A=60 Bóng ma (phantom) Xét 2 giao tác T1 và T2 được xử l{ đồng thời A và B là 2 tài khoản T1 rút 1 số tiền ở tài khoản A rồi đưa vào tài khoản B T2 kiểm tra đã nhận đủ tiền hay chưa? A=70, B=50 T1 T2 t1 Read(A) A=70 t2 A:=A-50 t3 Write(A) A=20 t4 Read(A) A=20 t5 Read(B) B=50 t6 Print(A+B) A+B=70 mất 50 ??? t7 Read(B) t8 B:=B+50 t9 Write(B) Đọc dữ liệu chưa chính xác (dirty read) Xét 2 giao tác T1 và T2 được xử l{ đồng thời T1 T2 t1 Read(A) t2 A:=A+10 t3 Write(A) t4 Read(A) t5 Print(A) t6 Abort T2 đã đọc dữ liệu được ghi bởi T1 nhưng sau đó T1 yêu cầu hủy việc ghi Nội dung Các vấn đề trong truy xuất đồng thời Kỹ thuật khóa (Locking) Khóa 2 giai đoạn Khóa đọc viết Khóa đa hạt Nghi thức cây Kỹ thuật nhãn thời gian (Timestamps) Kỹ thuật xác nhận hợp lệ (Validation) Kỹ thuật khóa Làm thế nào để bộ lập lịch ép buộc 1 lịch phải khả tuần tự? Bộ lập lịch với cơ chế khóa (locking scheduler) Có thêm 2 hành động T1 T2 … T n • Lock • Unlock Scheduler Lock table Lịch khả tuần tự Kỹ thuật khóa Các giao tác trước khi muốn đọc/viết lên 1 đơn vị dữ liệu phải phát ra 1 yêu cầu xin khóa (lock) đơn vị dữ liệu đó Lock(A) hay l(A) Yêu cầu này được bộ phận quản l{ khóa xử l{ Nếu yêu cầu được chấp thuận thì giao tác mới được phép đọc/ghi lên đơn vị dữ liệu T1: Lock(A) Lock table Element Transaction A T1 Lock Manager … … Sau khi thao tác xong thì giao tác phải phát ra lệnh giải phóng đơn vị dữ liệu (unlock) Unlock(A) hay u(A) Kỹ thuật khóa Qui tắc Giao tác đúng đắn Ti : … l(A) … r(A) / w(A) … u(A) … Lịch thao tác hợp lệ S: … li(A) ……………… ui(A) … không có lj(A) Kỹ thuật khóa Ví dụ S T1 T2 Lock(A) Read(A,t) t:=t+100 Write(A,t) Unlock(A) Lock(A) Read(A,s) s:=s*2 Write(A,s) Unlock(A) Lock(B) Read(B,s) s:=s*2 Write(B,s) Unlock(B) Lock(B) Read(B,t) t:=t+100 Write(B,t) Unlock(B) Kỹ thuật khóa Cho biết lịch có hợp lệ? Giao tác nào là đúng? T1 T2 T3 T1 T2 T3 S1 S2 Lock(A) Lock(A) Lock(B) Read(A) Write(B) Read(A) Unlock(A) Write(B) Unlock(B) Lock(B) ...
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 5 - ThS. Nguyễn Minh Vi Quản lý truy xuất đồng thời Nội dung Các vấn đề trong truy xuất đồng thời Kỹ thuật khóa (Locking) Kỹ thuật nhãn thời gian (Timestamps) Kỹ thuật xác nhận hợp lệ (Validation) Nội dung Các vấn đề trong truy xuất đồng thời Kỹ thuật khóa (Locking) Kỹ thuật nhãn thời gian (Timestamps) Kỹ thuật xác nhận hợp lệ (Validation) Các vấn đề trong truy xuất đồng thời Mất dữ liệu đã cập nhật (lost updated) Không thể đọc lại (unrepeatable read) Bóng ma (phantom) Đọc dữ liệu chưa chính xác (dirty read) Mất dữ liệu đã cập nhật (lost updated) Xét 2 giao tác T1 T2 Read(A) Read(A) A:=A+10 A:=A+20 Write(A) Write(A) Giả sử T1 và T2 được thực hiện đồng thời A=50 T1 T2 t1 Read(A) Dữ liệu đã cập t2 Read(A) nhật tại t4 của T1 t3 A:=A+10 bị mất vì đã bị ghi t4 Write(A) chồng lên ở thời t5 A:=A+20 điểm t6 t6 Write(A) A=60 A=70 Không thể đọc lại (unrepeatable read) Xét 2 giao tác T1 T2 Read(A) Read(A) A:=A+10 Print(A) Write(A) Read(A) Print(A) Giả sử T1 và T2 được thực hiện đồng thời A=50 T1 T2 t1 Read(A) t2 Read(A) A=50 T2 tiến hành A:=A+10 đọc A hai lần t3 thì cho hai kết t4 Print(A) A=50 quả khác nhau t5 Write(A) t6 Read(A) A=60 t7 Print(A) A=60 Bóng ma (phantom) Xét 2 giao tác T1 và T2 được xử l{ đồng thời A và B là 2 tài khoản T1 rút 1 số tiền ở tài khoản A rồi đưa vào tài khoản B T2 kiểm tra đã nhận đủ tiền hay chưa? A=70, B=50 T1 T2 t1 Read(A) A=70 t2 A:=A-50 t3 Write(A) A=20 t4 Read(A) A=20 t5 Read(B) B=50 t6 Print(A+B) A+B=70 mất 50 ??? t7 Read(B) t8 B:=B+50 t9 Write(B) Đọc dữ liệu chưa chính xác (dirty read) Xét 2 giao tác T1 và T2 được xử l{ đồng thời T1 T2 t1 Read(A) t2 A:=A+10 t3 Write(A) t4 Read(A) t5 Print(A) t6 Abort T2 đã đọc dữ liệu được ghi bởi T1 nhưng sau đó T1 yêu cầu hủy việc ghi Nội dung Các vấn đề trong truy xuất đồng thời Kỹ thuật khóa (Locking) Khóa 2 giai đoạn Khóa đọc viết Khóa đa hạt Nghi thức cây Kỹ thuật nhãn thời gian (Timestamps) Kỹ thuật xác nhận hợp lệ (Validation) Kỹ thuật khóa Làm thế nào để bộ lập lịch ép buộc 1 lịch phải khả tuần tự? Bộ lập lịch với cơ chế khóa (locking scheduler) Có thêm 2 hành động T1 T2 … T n • Lock • Unlock Scheduler Lock table Lịch khả tuần tự Kỹ thuật khóa Các giao tác trước khi muốn đọc/viết lên 1 đơn vị dữ liệu phải phát ra 1 yêu cầu xin khóa (lock) đơn vị dữ liệu đó Lock(A) hay l(A) Yêu cầu này được bộ phận quản l{ khóa xử l{ Nếu yêu cầu được chấp thuận thì giao tác mới được phép đọc/ghi lên đơn vị dữ liệu T1: Lock(A) Lock table Element Transaction A T1 Lock Manager … … Sau khi thao tác xong thì giao tác phải phát ra lệnh giải phóng đơn vị dữ liệu (unlock) Unlock(A) hay u(A) Kỹ thuật khóa Qui tắc Giao tác đúng đắn Ti : … l(A) … r(A) / w(A) … u(A) … Lịch thao tác hợp lệ S: … li(A) ……………… ui(A) … không có lj(A) Kỹ thuật khóa Ví dụ S T1 T2 Lock(A) Read(A,t) t:=t+100 Write(A,t) Unlock(A) Lock(A) Read(A,s) s:=s*2 Write(A,s) Unlock(A) Lock(B) Read(B,s) s:=s*2 Write(B,s) Unlock(B) Lock(B) Read(B,t) t:=t+100 Write(B,t) Unlock(B) Kỹ thuật khóa Cho biết lịch có hợp lệ? Giao tác nào là đúng? T1 T2 T3 T1 T2 T3 S1 S2 Lock(A) Lock(A) Lock(B) Read(A) Write(B) Read(A) Unlock(A) Write(B) Unlock(B) Lock(B) ...
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật khóa Quản lý truy xuất đồng thời Quản lý truy xuất Hệ quản trị cơ sở dữ liệu Quản trị cơ sở dữ liệu Lưu trữ dữ liệuGợi ý tài liệu liên quan:
-
Giáo án Tin học lớp 12 (Trọn bộ cả năm)
180 trang 258 0 0 -
8 trang 255 0 0
-
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 239 0 0 -
Thực hiện truy vấn không gian với WebGIS
8 trang 233 0 0 -
69 trang 144 0 0
-
57 trang 89 0 0
-
34 trang 83 0 0
-
Giáo trình: Hệ quản trị cơ sở dữ liệu - Nguyễn Trần Quốc Vinh
217 trang 78 0 0 -
Bài giảng Khái niệm về hệ cơ sở dữ liệu: Bài 2 - Hệ quản trị cơ sở dữ liệu
13 trang 77 0 0 -
Giáo trình Hệ quản trị cơ sở dữ liệu - Trần Thiên Thành
130 trang 75 0 0