Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 3 - Nguyễn Thị Uyên Nhi
lượt xem 4
download
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 3 Điều khiển giao dịch đồng thời cung cấp cho người học những kiến thức như: Kĩ thuật khóa; Khóa 2 pha; Deadlock và Starvation; Kĩ thuật nhãn thời gian; Kĩ thuật sử dụng nhiều phiên bản. 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: Chương 3 - Nguyễn Thị Uyên Nhi
- CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU CHƯƠNG 3 ĐIỀU KHIỂN GIAO DỊCH ĐỒNG THỜI Giảng viên: Đỗ Ngọc Như Loan Biên soạn: Nguyễn Thị Uyên Nhi KHOA CÔNG NGHỆ THÔNG TIN
- NỘI DUNG Kĩ thuật khóa. Khóa nhị phân SGU - CNTT - Hệ quản trị cơ sở dữ liệu Khóa đọc/ghi Khóa 2 pha. Deadlock và Starvation. Deadlock Prevention. Deadlock Detection. Kĩ thuật nhãn thời gian. Kĩ thuật sử dụng nhiều phiên bản. 2
- GIỚI THIỆU Tìm hiểu một số kĩ thuật điều khiển song hành (Concurrency control) được sử dụng trong việc đảm bảo tính cô lập của các giao dịch được thực hiện. SGU - CNTT - Hệ quản trị cơ sở dữ liệu Các kĩ thuật này đảm bảo tính khả tuần tự của lịch trình dựa trên các giao thức điều khiển song hành – Concurrency control protocols (protocols – sets of rules) 3
- GIAO THỨC DỰA TRÊN KHÓA Một phương pháp để đảm bảo tính tuần tự dựa trên khái niệm khóa (LOCKING) các hạng mục dữ liệu SGU - CNTT - Hệ quản trị cơ sở dữ liệu Kĩ thuật khóa ngăn chặn nhiều giao dịch truy xuất 1 hạng mục dữ liệu trong cùng 1 thời điểm. Cơ chế khóa được sử dụng trong hầu hết các hệ quản trị CSDL thương mại. Yêu cầu việc truy xuất đến một hạng mục dữ liệu được tiến hành theo kiểu loại trừ lẫn nhau (mutual exclusion). Một giao dịch đang truy xuất 1 hạng mục dữ liệu thì không cho phép giao dịch khác chỉnh sửa dữ liệu này. 4
- GIAO THỨC DỰA TRÊN KHÓA Một khóa (lock) là một biến tương ứng với một hạng mục dữ liệu, quy định những hành động cụ thể nào được phép thực hiện trên hạng mục dữ liệu đó. SGU - CNTT - Hệ quản trị cơ sở dữ liệu Thông thường: 1 khóa cho mỗi hạng mục dữ liệu. Có nhiều loại khóa được sử dụng trong điều khiển song hành. 5
- KHÓA NHỊ PHÂN Đơn giản nhưng rất hạn chế nên không dùng trong thực tế SGU - CNTT - Hệ quản trị cơ sở dữ liệu 1 khóa nhị phân (binary lock) gồm 2 trạng thái: Locked (1) Unlocked (0) Các khóa khác nhau trên mỗi hạng mục dữ liệu khác nhau. Nếu trạng thái khóa của X là 1, hạng mục dữ liệu X không thể được truy xuất bởi các thao tác dữ liệu khác. Lock(X) = 1 6
- KHÓA NHỊ PHÂN 2 thao tác trong khóa nhị phân: Lock_item(X) SGU - CNTT - Hệ quản trị cơ sở dữ liệu Unlock_item(X) Khi một giao dịch muốn truy xuất X, trước tiên nó thực hiện một thao tác Lock_item(X). Nếu Lock(X) = 1, giao dịch phải đợi. Nếu Lock(X) =0, giá trị Lock(X) gán thành 1, giao dịch được thao tác trên X. 7
- KHÓA NHỊ PHÂN Sau khi hoàn tất những thao tác trên X, giao dịch thực hiện thao tác Unlock_item(X): SGU - CNTT - Hệ quản trị cơ sở dữ liệu Gán Lock(X)=0 Khi đó, X có thể được truy xuất bởi các giao dịch khác. Giai đoạn giữa Lock_item(X) và Unlock_item(X), giao dịch được gọi là đang giữ khóa trên X. Chỉ một giao dịch được giữ khóa trên 1 hạng mục dữ liệu. 8
- SGU - CNTT - Hệ quản trị cơ sở dữ liệu 9 Thao tác khóa/mở khóa: KHÓA NHỊ PHÂN
- KHÓA NHỊ PHÂN Khóa nhị phân được thực hiện đơn giản bằng cách thêm 1 biến nhị phân ứng với mỗi hạng mục dữ liệu. SGU - CNTT - Hệ quản trị cơ sở dữ liệu Mỗi khóa được ghi nhận với 3 thuộc tính cơ bản: Tên hạng mục dữ liệu. Giá trị khóa LOCK Giao dịch giữ khóa Hệ thống quản lý các khóa trong một bảng, các hạng mục dữ liệu không có trong bảng là không khóa (unlocked). 10
- KHÓA NHỊ PHÂN Khi đó mỗi giao dịch phải tuân theo các luật: 1. Một giao dịch phải thực hiện thao tác Lock_item(X) trước khi thực hiện bất kì thao tác đọc/ghi nào trên X. SGU - CNTT - Hệ quản trị cơ sở dữ liệu 2. Một giao dịch phải Unlock_item(X) sau khi hoàn tất tất cả thao tác đọc/ghi trên X. 3. Một giao dịch không thực hiện thao tác Lock_item(X) nếu nó đang giữ khóa trên X. 4. Một giao dịch không thực hiện thao tác Unlock_item(X) trừ khi nó đang giữ khóa trên X. 11
- KHÓA SHARED/EXCLUSIVE Khóa nhị phân hạn chế khi dùng cho dữ liệu vì chỉ một giao dịch được giữ khóa trên một hạng mục dữ liệu X. SGU - CNTT - Hệ quản trị cơ sở dữ liệu Các thao tác đọc cùng hạng mục dữ liệu trên các giao dịch khác nhau là không xung đột Ta có thể cho phép nhiều giao dịch được truy xuất X nếu các giao dịch đó chỉ đọc X. Nếu một giao dịch thực hiện việc ghi lên X, nó được cấp quyền truy xuất riêng (exclusive). Shared locks hay còn gọi là read locks: các giao dịch khác được phép đọc. Exclusive locks hay còn gọi là write locks: chỉ 1 giao 12 dịch giữ khóa được thao tác.
- KHÓA SHARED/EXCLUSIVE Có 3 thao tác trong giao thức khóa này: Read_lock(X) SGU - CNTT - Hệ quản trị cơ sở dữ liệu Write_lock(X) Unlock(X) Tương tự, giá trị khóa trên X – Lock(X) có 3 trạng thái: Read-locked (Shared-lock) Write-locked (Exclusive-lock) Unlocked 13
- KHÓA SHARED/EXCLUSIVE Một phương pháp thực thi giao thức khóa này là lưu các giao dịch giữ khóa trong một bảng. SGU - CNTT - Hệ quản trị cơ sở dữ liệu Mỗi dòng trong bảng có 4 thông tin: Tên hạng mục dữ liệu Giá trị của khóa: read-locked/write-locked Số lượng giao dịch đọc Các giao dịch giữ khóa 14
- KHÓA SHARED/EXCLUSIVE Hệ thống phải tuân theo các luật: 1. Một giao dịch T phải thực hiện thao tác Read_lock(X) SGU - CNTT - Hệ quản trị cơ sở dữ liệu hoặc Write_lock(X) trước khi đọc X. 2. T phải thực hiện thao tác Write_lock(X) trước khi ghi X. 3. T phải thực hiện thao tác Unlock(X) sau khi hoàn tất việc đọc, ghi trong T. 15
- KHÓA SHARED/EXCLUSIVE 4. T không thực hiện Read_lock(X) nếu nó đang giữ khóa read hoặc write trên X. SGU - CNTT - Hệ quản trị cơ sở dữ liệu 5. T không thực hiện Write_lock(X) nếu nó đang giữ khóa read hoặc write trên X. 6. T không thực hiện Unlock(X) trừ khi nó đang giữ khóa read hoặc write trên X. 16
- SGU - CNTT - Hệ quản trị cơ sở dữ liệu 17 THAO TÁC KHÓA ĐỌC
- SGU - CNTT - Hệ quản trị cơ sở dữ liệu 18 THAO TÁC KHÓA GHI
- SGU - CNTT - Hệ quản trị cơ sở dữ liệu 19 THAO TÁC MỞ KHÓA
- KHÓA SHARED/EXCLUSIVE Chuyển đổi khóa (Lock conversion): Nâng cấp (Upgrade) khóa: Nếu giao dịch T là giao dịch SGU - CNTT - Hệ quản trị cơ sở dữ liệu duy nhất đang giữ khóa read trên X tại thời điểm thực hiện thao tác Write_lock(X), khóa read này sẽ được nâng cấp thành khóa Write, nếu không giao dịch phải đợi. Hạ cấp (Downgrade) khóa: từ khóa Write chuyển thành khóa read. Khi đó bảng lưu thông tin về khóa phải thay đổi giá trị tương ứng. 20
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 | 111 | 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 | 99 | 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 | 157 | 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 1 - Nguyễn Trường Sơn
29 p | 45 | 5
-
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 | 51 | 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