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 3 - Nguyễn Thị Uyên Nhi

64 42 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 64
Dung lượng 0,9 MB

Nội dung

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!

CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU CHƯƠNG Đ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  Khóa đọc/ghi  SGU - CNTT - Hệ quản trị sở liệu Khóa pha  Deadlock Starvation  Deadlock Prevention  Deadlock Detection  Kĩ thuật nhãn thời gian  Kĩ thuật sử dụng nhiều phiên  GIỚI THIỆU Tìm hiểu số kĩ thuật điều khiển song hành (Concurrency control) sử dụng việc đảm bảo tính lập giao dịch thực  Các kĩ thuật đảm bảo tính khả lịch trình dựa giao thức điều khiển song hành – Concurrency control protocols (protocols – sets of rules)  SGU - CNTT - Hệ quản trị sở liệu GIAO THỨC DỰA TRÊN KHÓA Một phương pháp để đảm bảo tính dựa khái niệm khóa (LOCKING) hạng mục liệu  Kĩ thuật khóa ngăn chặn nhiều giao dịch truy xuất hạng mục liệu thời điểm  Cơ chế khóa sử dụng hầu hết hệ quản trị CSDL thương mại  Yêu cầu việc truy xuất đến hạng mục liệu tiến hành theo kiểu loại trừ lẫn (mutual exclusion)  Một giao dịch truy xuất hạng mục liệu khơng cho phép giao dịch khác chỉnh sửa liệu  SGU - CNTT - Hệ quản trị sở liệu GIAO THỨC DỰA TRÊN KHÓA Một khóa (lock) biến tương ứng với hạng mục liệu, quy định hành động cụ thể phép thực hạng mục liệu  Thơng thường: khóa cho hạng mục liệu  Có nhiều loại khóa sử dụng điều khiển song hành  SGU - CNTT - Hệ quản trị sở liệu KHÓA NHỊ PHÂN Đơn giản hạn chế nên không dùng thực tế  khóa nhị phân (binary lock) gồm trạng thái:  SGU - CNTT - Hệ quản trị sở liệu Locked (1)  Unlocked (0)  Các khóa khác hạng mục liệu khác  Nếu trạng thái khóa X 1, hạng mục liệu X truy xuất thao tác liệu khác   Lock(X) = KHÓA NHỊ PHÂN  thao tác khóa nhị phân: Lock_item(X)  Unlock_item(X)  SGU - CNTT - Hệ quản trị sở liệu  Khi giao dịch muốn truy xuất X, trước tiên thực 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 thao tác X  KHÓA NHỊ PHÂN  Sau hoàn tất thao tác X, giao dịch thực thao tác Unlock_item(X): SGU - CNTT - Hệ quản trị sở liệu  Gán Lock(X)=0 Khi đó, X truy xuất giao dịch khác  Giai đoạn Lock_item(X) Unlock_item(X), giao dịch gọi giữ khóa X  Chỉ giao dịch giữ khóa hạng mục liệu  KHÓA NHỊ PHÂN Thao tác khóa/mở khóa:  SGU - CNTT - Hệ quản trị sở liệu KHÓA NHỊ PHÂN Khóa nhị phân thực đơn giản cách thêm biến nhị phân ứng với hạng mục liệu  Mỗi khóa ghi nhận với thuộc tính bản:   Hệ thống quản lý khóa bảng, hạng mục liệu khơng có bảng khơng khóa (unlocked) SGU - CNTT - Hệ quản trị sở liệu Tên hạng mục liệu  Giá trị khóa LOCK  Giao dịch giữ khóa  10 VÍ DỤ   Write_TS(X) ? TS(T1) Write(X)?? Rollback?? T1 T2 Read(X) Write(X) Write(X) SGU - CNTT - Hệ quản trị sở liệu T1  T2  T1:Read(X) T2:Write(X) thực thành công  Xét T1:Write(X)  Lịch trình S4 50 STRICT TIMESTAMP ORDERING Một biến thể nhãn thời gian đảm bảo tính khả phục hồi tính khả xung đột  Giao dịch T thực thao tác Read(X) Write(X) mà TS(T)>Write_TS(X) tạm dừng thao tác đọc/ghi lại giao dịch T’ ghi giá trị X kết thúc (TS(T’)=Write_TS(X) ) SGU - CNTT - Hệ quản trị sở liệu  51 THOMAS’S WRITE RULE  Nếu Read_TS(X)>TS(T): hủy bỏ T, rollback  Nếu Write_TS(X)>TS(T): không thực thao tác Write(X) tiếp tục xử lý, không rollback  Nếu không xảy trường hợp trên: thực thao tác Write(X) thay đổi Write_TS(X)=TS(T)  SGU - CNTT - Hệ quản trị sở liệu Một biến thể khác kĩ thuật nhãn thời gian không đảm bảo khả xung đột, đảo bảo tính khả view lịch trình hạn chế rollback thao tác Write(X): 52 KĨ THUẬT NHIỀU PHIÊN BẢN Giữ lại phiên bản/giá trị (verions/values) cũ liệu liệu cập nhật  Khi giao dịch muốn truy xuất liệu, phiên thích hợp liệu chọn để đảm bảo tính khả  Ý tưởng: số hành động Read không chấp nhận kĩ thuật khác thực thông qua phiên cũ liệu  SGU - CNTT - Hệ quản trị sở liệu 53 KĨ THUẬT NHIỀU PHIÊN BẢN  Phục hồi (recovery)  Lịch sử thay đổi liệu (data history)   kĩ thuật nhiều phiên bản: Dựa thứ tự nhãn thời gian (Timestamp Ordering)  Dựa khóa pha (2PL)  SGU - CNTT - Hệ quản trị sở liệu Bất lợi: Cần phải lưu trữ nhiều liệu nhiên thông thường liệu cũ cần lưu trữ cho mục đích khác 54 MULTIVERSION – TIMESTAMP  Nhiều phiên X1, X2, …, Xk X lưu trữ, với phiên Xi:  Mỗi giao dịch T thực Write(X), giá trị Xk+1 X tạo với Write_TS(Xk+1) Read_TS(Xk+1) TS(T)  Mỗi giao dịch T thực Read(Xi), giá trị Read_TS(Xi) gán giá trị lớn (mới hơn) giá trị Read_TS(Xi) TS(T) SGU - CNTT - Hệ quản trị sở liệu Read_TS(Xi): giá trị Timestamp lớn giao dịch đọc thành công Xi  Write_TS(Xi): giá trị Timestamp giao dịch ghi Xi  55 MULTIVERSION – TIMESTAMP Nếu Read_TS(Xi)>TS(T) hủy bỏ rollback T Trong phiên i X phiên có giá trị Write_TS(Xi) lớn tất phiên X (nhưng nhỏ TS(T))  Ngược lại, tạo phiên Xj X với Read_TS(Xj)=Write_TS(Xj)=TS(T)   Nếu T thực Read(X):  Tìm phiên i X phiên có giá trị Write_TS(Xi) lớn tất phiên X (nhưng nhỏ TS(T)), trả giá trị Xi thay đổi Read_TS(Xi) giá trị lớn giá trị TS(T) Read_TS(Xi) SGU - CNTT - Hệ quản trị sở liệu Để đảm bảo tính khả phải thỏa luật sau:  Nếu T thực Write(X): 56 MULTIVERSION – TIMESTAMP Ta thấy việc Read (X) ln thành cơng  Trong trường hợp Write(X), giao dịch T bị hủy bỏ T ghi phiên X mà có giao dịch T’ (sau T, có timestamp Read_TS(Xi)) đọc phiên Xi ghi giao dịch có timestamp Write_TS(Xi)

Ngày đăng: 19/08/2021, 17:31

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN