Danh mục tài liệu

Bài giảng Cơ sở dữ liệu phân tán: Chương 6 - Nguyễn Mậu Hân

Số trang: 36      Loại file: ppt      Dung lượng: 1.46 MB      Lượt xem: 14      Lượt tải: 0    
Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Chương 6 Điều khiển tương tranh phân tán thuộc bài giảng Cơ sở dữ liệu phân tán. Nội dung chương này trình bày về: một số vấn đề điều khiển đồng thời, một số tính chất khi thao tác trên đơn vị dữ liệu, lịch tuần tự và lịch khả tuần tự, sắp xếp các giao tác bằng nhãn thời gian, điều khiển tương tranh bằng cơ chế khóa.
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu phân tán: Chương 6 - Nguyễn Mậu HânCHƯƠNG 6:ĐIỀU KHIỂN TƯƠNG TRANH NGUYỄNMẬUHÂN,PhD. HUECOLLEGEOFSCIENCESHUEUNIVERSITY CONTENTS 1. Một số vấn đề điều khiển đồng thời 2. Một số tính chất khi thao tác trên đơn vị dữliệu 3. Lịch tuần tự và lịch khả tuần tự 4. Sắp xếp các giao tác bằng nhãn thời gian 5. Điều khiển tương tranh bằng cơ chế khóaCHƯƠNG 6: ĐiỀU KHIỂN TƯƠNG TRANH MỤCĐÍCH 3 Giớithiệu Giao tác là một tập hợp các thaotác có thứ tự truy xuất dữ liệu trênCSDL thành một đơn vị công việc logic(xem là một thao tác nguyên tố),chuyển CSDL từ trạng thái nhất quánnày sang trạng thái nhất quán khác. Nguyên lý điều khiển tương tranh:Là quá trình điều khiển giúp cho nhiềugiao tác diễn ra đồng thời mà khôngxảy ra tranh chấp. GiớithiệuMất dữ liệu (Lost ảy ra khi Điều gì x update) có sự đụng (Livelock) Khóa chờ độ? Khóa chết (Deadlock) Giớithiệu Để ghi nhận sự hoàn tất hay không của một thao tác người ta sử dụng các lệnh sau:BEGIN TRANSACTION Bắt đầu giao tácCOMMIT TRANSACTION Kết thúc một giao tác thành công Kết thúc một giao tác không thành công, những thao tác làm ảnh hưởng CSDL trướcROLLBACK TRANSACTION đó được undo, CSDL được trả về tình trạng trước khi thực hiện giao tác. Chỉ mạng ý nghĩa hình thức, thường khôngEND TRANSACTION sử dụng1. Một số vấn đề điều khiển đồng thời1. 1. Mất dữ liệu cập nhật (lostupdate)ụ: Cho quan hệ HANGHOA (MaHH, Tên Ví d HH, ĐVT, SLTon) Giả sử: SLTon =20 Transaction Gía trị T1 (bán hàng) T2 (bán hàng) x1 x2 SLTonBegin Transaction Begin Transaction 20Read(SLTon)→x1 20 20 Read(SLTon)→x2 20 20 20x1 - 10→x1 10 20 20 x2 - 3→x2 10 17 20Write x1→SLTon 10 17 10 Write x2→SLTon 10 17 17Commit T1 Commit T2 17  Lost Update: Thao tác cập nhật của T1 xem như bị mất, không được ghi nhận (do những thay đổi của các giao tác khác ghi đè lên). 1. Một số vấn đề điều khiển đồng thời1.2. Đọc dữ liệu chưa commit (uncommitted data) Ví dụ: Cho quan hệ HANGHOA ( MaHH,TenHH, ĐVT, SLTon) SLton = 20  Transaction Transaction Giá trị T1 sửa đổi dòng T1(nhập hàng) T2 (bán hàng) x1 x2 SLton X nhưng chưa commit,Begin transaction 20Read (SLton)→ x1 20 20 transaction T2x1 + 100 → x1 120 20 đọc dòng X.Write x1 → SLton 120 120 Transaction T1 Begin transaction 120 rollback những Read (SLton)→ x2 120 120 gì thay đổi trên x2 – 5 → x2 120 dòng X → dữ Write x2 → SLton 120 115 liệu mà Commit T2 120 Transaction T2Rollback T1 20 đang đọc chưa hề tồn tại. 1. Một số vấn đề điều khiển đồng thời1.3. Thao tác đọc không thể lập lại (unrepeatable data) Ví dụ: Xét 2 giao tác sau: T1 T2 Read(A) Read(A) A = A + 10 Print (A) Write (A) Read (A) Print (A) Giả sử A = 20 và 2 giao tác này thực hiện đồng th ời theo th ứ tự sau: 1. Một số vấn đề điều khiển đồng thời1.3. Thao tác đọc không thể lập lại (unrepeatable data) Transaction Giá trị T1 T2 x1 x2 A Begin transaction 20 Read (A) → x1 20 20 Begin transaction Read (A) → x2 20 20 20 x1 +10 → x1 30 20 Print (x2) 30 20 Write x1 → A 30 30 Read (A) → x2 30 30 Commit T2 30 Commit T11. Một số vấn đề điều khiển đồng thời1.4. Vấn đề bóng ma (phantom) Ví dụ: T1 Transaction thực hiện việc T1 T2 chuyển tiền từ tài Begin transaction khoản A sang tài Read (A) khoản B. Khi T1 A = A – 50 mới chỉ thực hiện Write (A) thao tác trừ số Begin transaction tiền ở tài khoản Read (A) A (chưa cộng số Read (B) tiền vào tài Print (A+B) khoản B) thì T2 Commit T2 Read (B) muốn xem tổng B = B+50 số tiền ở 2 tài Write (B) khoản → Tổng Commit T1 số tiền không chính xác.1. M ...