1. Trang chủ
  2. » Công Nghệ Thông Tin

Slide seminar lan 2 tranh chap dong thoi

46 0 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

Nội dung

Trình bày : Tiết Gia Hồng      Giao tác Tranh chấp đồng thời Xử lí tranh chấp đồng thời Deadlock Xử lí deadlock  Giao tác tập thao tác có thứ tự, truy xuất liệu CSDL Giao tác chuyển CSDL từ trạng thái quán sang trạng thái quán khác Begin Tran Begin Tran Thao tác Thao tác Thao tác Thao tác Thao tác Thao tác Thao tác Thao tác Commit Rollback  Tính chất giao tác o Tính nguyên tố - Atomicity o Tính quán – Consistency o Tính lập – Isolation o Tính bền vững – Durability  Tính nguyên tố - Atomicity Begin Tran Begin Tran Thêm đơn hàng Thêm đơn hàng Thêm chi tiết Thêm chi tiết Thêm chi tiết Thêm chi tiết Cập nhật trị giá Cập nhật trị giá Commit Rollback  Tính quán - Consistency ĐƠN HÀNG MaDH TriGia DH01 500 Begin Tran Thêm DH ĐƠN HÀNG Thêm CTDH1 CT ĐƠN HÀNG MaDH SoLuong DonGia MaCT DH01 100 CT01 DH01 300 CT02 Thêm CTDH2 Rollback Commit MaDH TriGia DH01 500 DH02 300 CT ĐƠN HÀNG MaDH SoLuong DonGia MaCT DH01 100 CT01 DH01 300 CT02 DH02 200 CT03 DH02 50 CT04  Tính lập - Isolation Transaction Transaction Transaction Database Transaction Transaction Transaction  Tính bền vững – Durability Begin Tran Thêm DH ĐƠN HÀNG MaDH TriGia DH01 500 DH02 300 Thêm CTDH1 CT ĐƠN HÀNG MaDH Thêm CTDH2 Commit SoLuong DonGia MaCT DH01 100 CT01 DH01 300 CT02 DH02 200 CT03 DH02 50 CT04 Transaction HDD  Cú pháp khai báo @@trancount – biến quản lí số giao tác chạy Transaction Transaction Đọc DH01 Đọc DH01 Đọc CT01 HQT Đọc CT01 Cập nhật SLSP Transaction Cập nhật trị giá Đọc DH01 Transaction HQT Database Đọc CT01 Đọc DH01 Cập nhật SLSP Đọc CT01 Cập nhật DGia Cập nhật DGia Cập nhật trị giá Cập nhật trị giá Cập nhật trị giá 10 Set  Repeatable Read Select (TAIKHOAN) T1 : Xin khóa S SQL : Cấp khóa S T1 : giữ khóa S đến hết giao tác T1 Update (TAIKHOAN) T2: Xin khóa X SQL : Khơng cấp khóa X T1 khóa S Commit Commit 34 Mức cô lập gán giao tác T1 (giao tác đọc liệu) CREATE PROC USP_DANGNHAP @MAKH CHAR(10), @MATKHAU CHAR(10) AS BEGIN TRAN SET TRAN ISOLATION LEVEL REPEATABLE READ IF EXISTS (SELECT * FROM KHACHHANG WHERE MAKH = @MAKH AND MATKHAU = @MATKHAU) SELECT * FROM KHACHHANG WHERE MAKH = @MAKH AND MATKHAU = @MATKHAU COMMIT TRAN 35  Serializable  Giống Repeatable Read, có ngăn chặn lệnh insert liệu thoả điều kiện thiết lập S Giải Dirty Read,Unrepeatable Read Phantom 36 Set  Serializable Select (TAIKHOAN) T1 : Xin khóa S SQL : Cấp khóa S T1 : giữ khóa S đến hết giao tác Ngăn chèn liệu vào tập khóa Insert (TAIKHOAN) T2: Xin khóa X SQL : Khơng cấp khóa X T1 ngăn khơng cho insert vào Commit Commit 37 Lost Update Read  Uncommitted Read  Committed Repeatable  Read (deadlock) Serializable  (deadlock)  Giải  Không giải Dirty Read Unrepeatable Read Phantom Read             38 STT Khóa Ý nghĩa ReadUncommitted Khơng thiết lập shared lock đọc / Nolock (tương tự mức cô lập Read Uncommitted) ReadCommitted -Đây chế độ mặc định (tương tự readcommitted) -Chỉ đọc liệu commit -Thiết lập shared lock đơn vị liệu đọc mở clock đọc xong RepeatableRead Thiết lập shared lock đọc giữ shared lock đến hết giao tác 39 STT Khóa Serializable / Holdlock Updlock XLock Readpast Ý nghĩa -Thiết lập shared lock đọc, giữ lock đến hết giao tác -Không cho insert dịng thỏa điều kiện thiết lập khóa -Dùng updatelock thay cho shared lock -Chỉ sử dụng câu select -Uplock giữ đến hết giao tác Chỉ định dùng khóa độc quyền -Chỉ khóa dịng liệu thao tác -Áp dụng cho câu lệnh select -Chỉ dùng với READ COMMITTED 40 REPEATABLE READ STT Khóa Ý nghĩa Chỉ đặt khóa dịng cần thao tác -Khóa tồn dịng bảng thao tác -Các thao tác (Insert / Update / Delete) thực bảng 10 TabLockX Xlock + TabLock  1, 2, 3, 5, 6, có ý nghĩa dùng câu select  1, 2, 3, 5, 6, kết hợp với (khóa theo kiểu key-range) 8, (chỉ đơn vị cần khóa) RowLock TabLock 41 Select … From {Tab1 Alias1 with (Lock_mode [,…n]} [,…n]) Where … Ví dụ : Select SV.HoVaTen, K.TenKhoa From SinhVien SV with (ReadCommitted), Khoa K with (Updlock) Where SV.Khoa = K.Ma 42   Converson deadlock Cycle deadlock 43 44 T1 chờ T2 trả khóa đọc A, T2 chờ T1 trả khóa đọc A => Hệ thống bị treo 45 46 T1 chờ T2 trả khóa ghi B, T2 chờ T1 trả khóa ghi A Hệ thống bị treo 47 Chuyển dạng - phối hợp transaction, mức độ cô lập lock  48

Ngày đăng: 06/04/2023, 09:30