Bài giảng Hệ quản trị cơ sở dữ liệu: Quản lý truy xuất đồng thời
lượt xem 5
download
Bài giảng Hệ quản trị cơ sở dữ liệu: Quản lý truy xuất đồng thời, cung cấp cho người học những kiến thức như: 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). Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ quản trị cơ sở dữ liệu: Quản lý truy xuất đồng thời
- 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) Lock(B) Unlock(A) Read(B) Unlock(B) Write(B) Read(B) Lock(B) Write(B) Unlock(B) Read(B) Lock(B) Unlock(B) Read(B) 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 S3 Lock(A) Read(A) Unlock(A) Lock(B) Write(B) Unlock(B) Lock(B) Read(B) Write(B) Unlock(B) Lock(B) Read(B) Unlock(B)
- Kỹ thuật khóa Nếu lịch S hợp lệ thì S có khả tuần tự không? T1 T2 A B S 25 25 Lock(A); Read(A,t) t:=t+100 Write(A,t); Unlock(A) 125 Lock(A); Read(A,s) s:=s*2 Write(A,s); Unlock(A) 250 Lock(B); Read(B,s) s:=s*2 Write(B,s); Unlock(B) 50 Lock(B); Read(B,t) t:=t+100 Write(B,t); Unlock(B) 150
- Kỹ thuật khóa Kiểm tra tính khả tuần tự Input : Lịch S được lập từ n giao tác xử l{ đồng thời T1, T2, …, Tn theo kỹ thuật khóa đơn giản Output : S khả tuần tự hay không? Xây dựng 1 đồ thị có hướng G Mỗi giao tác Ti là 1 đỉnh của đồ thị Nếu một giao tác Tj phát ra Lock(A) sau một giao tác Ti phát ra Unlock(A) thì sẽ vẽ cung từ Ti đến Tj, i≠j S khả tuần tự nếu G không có chu trình
- Kỹ thuật khóa T1 T2 S Lock(A) T1 T2 B1 Read(A) A:=A-10 Write(A) Unlock(A) B2 T1 T2 G Lock(A) Read(A) Print(A) B3 G không có chu trình => S khả Read(A) tuần tự Print(A) theo thứ tự T1 thực hiện trước Unlock(A) rồi tới T2
- Kỹ thuật khóa T1 T2 S Lock(A) Read(A,t) t:=t+100 T1 T2 Write(A,t) B1 Unlock(A) Lock(A) Read(A,s) s:=s*2 B2 T1 T2 G Write(A,s) Unlock(A) Lock(B) Read(B,s) B3 G có chu trình => S không khả s:=s*2 tuần tự Write(B,s) Unlock(B) theo thứ tự T1 thực hiện trước Lock(B) rồi tới T2 Read(B,t) t:=t+100 Write(B,t) Unlock(B)
- 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)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 1 - Ngô Thùy Linh
31 p | 182 | 25
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 5 - Ngô Thùy Linh
34 p | 95 | 18
-
Bài giảng Hệ quản trị cơ sở dữ liệu Access - ĐH Phạm Văn Đồng
159 p | 112 | 17
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Tổng quan hệ quản trị CSDL SQL Server - TS. Lại Hiền Phương
50 p | 110 | 13
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 4 - ĐH Công nghiệp Thực phẩm
92 p | 145 | 11
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - ĐH Công nghiệp Thực phẩm
31 p | 98 | 10
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Giới thiệu - Phạm Thọ Hoàn
14 p | 156 | 9
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle - Trường ĐH Đồng Tháp
119 p | 35 | 8
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Thị Uyên Nhi
33 p | 83 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu (Database Management Systems) - Bài 1.1: Tổng quan về Hệ quản trị cơ sở dữ liệu
5 p | 16 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Phạm Nguyên Thảo
39 p | 77 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Lê Thị Minh Nguyện
14 p | 72 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 3)
61 p | 53 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 1)
32 p | 50 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Trường Sơn
29 p | 44 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Nguyễn Thị Mỹ Dung
33 p | 58 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Phạm Nguyên Thảo
44 p | 51 | 3
-
Bài giảng Hệ quản trị cơ sở dữ liệu MSSQL 2005: Chương 7 - Hồ Thị Anh Đào
24 p | 61 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn