Hệ quản trị CSDL Tranh chấp đồng thời ppt

31 1.5K 43
Hệ quản trị CSDL Tranh chấp đồng thời ppt

Đ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

Hệ quản trị CSDL Tranh chấp đồng thời Trình bày: Hồ Thị Hồng Vy Nội dung Trình bày tình tranh chấp cách xử lý Transaction Tranh chấp đồng thời Xử lý tranh chấp đồng thời Deadlock Tránh deadlock Transaction • Nhắc lại kiến thức seminar lần – Transaction ? – Cách khai báo transaction nào? Transaction Transaction tập hợp thao tác có thứ tự truy xuất liệu CSDL thành đơn vị công việc logic (xem thao tác nguyên tố), chuyển CSDL từ trạng thái quán sang trạng thái quán khác Dữ liệu Được xác Nhận CSDL Khai báo giao tác Begin tran: bắt đầu giao tác Commit: Kết thúc giao tác thành công Rollback: Kết thúc giao tác thất bại Khi rollback Khi có lệnh giao tác bị lỗi cần phải khôi phục lại liệu Transaction (tt) BEGIN TRAN Begin Tran …………… // Statement 1…… // Statement 2…… // ………………… COMMIT TRAN IF @@error != BEGIN Các câu lệnh xử lý bị lỗi Rollback Tran return END Commit • Lưu ý: - Rollback khơng có tác dụng return - Nếu có khai báo giao tác mà khơng có kết thúc giao tác giao tác thực store procedure kết thúc - Phải đảm bảo lúc runtime cặp [begin tran - commit] [begin tran - rollback] thực thi Tranh chấp đồng thời Tranh chấp đồng thời ? • Các tình xảy tranh chấp • Một số lỗi truy xuất đồng thời:  Đọc phải liệu rác  Khơng đọc lại liệu  Bóng ma  Mất liệu cập nhật • Giả lập truy xuất đồng thời Xử lý tranh chấp đồng thời: • Dùng mức lập • Khai báo khóa dòng lệnh Khi nhiều giao tác thực truy xuất đơn vị liệu thời điểm để thực thao tác đọc, ghi lên đơn vị liệu đụng độ => tranh chấp đồng thời Tranh chấp đồng thời (tt) Các tình xảy tranh chấp đồng thời Giao tác Giao tác Nhận xét Đọc Đọc Khơng xảy tranh chấp Đọc Ghi Có tranh chấp xảy Ghi Đọc Có tranh chấp xảy Ghi Ghi Cùng lúc chỉ có giao tác ghi đơn vị dữ liệu Như có transaction (của connection khác nhau) có thao tác ghi đơn vị liệu xảy tình trạng tranh chấp Nếu để tình trạng tranh chấp xảy dẫn đến sai sót CSDL Giải • Giải tranh chấp cách sử dụng phương thức khố • Đơn vị liệu chia thành nhiều cấp độ sau: • • • • ƒ Một dòng liệu ƒ Một trang (page) (8KB) ƒ Một bảng (table) sở liệu ƒ Một sở liệu (database) Một số lỗi truy xuất đồng thời Đọc liệu rác Dirty read Lost update Unrepeatable read Mất liệu cập nhật Khơng thể đọc lại liệu Bóng ma Phantom 10 Bảng tương thích loại khố Cho phép (tương thích) Khơng cho phép (khơng tương thích) 17 Xử lý tranh chấp đồng thời Một số quy tắc đọc / ghi CSDL HQTCSDL xử lý tranh chấp đồng thời mức nhờ quy tắc đọc/ghi dvdl nhờ hỗ trợ việc cấp phát thu hồi khóa Sử dụng mức cô lập Mức cô lập cấu hình thiết lập giao tác quy định việc xin khóa/giữ khóa thao tác đọc/ghi lên đvdl Khóa trực tiếp từ dịng lệnh 18 Sử dụng mức cô lập Read Uncommitted Read Committed Repeatable Read Serializable Mức cô lập mặc định BEGIN TRAN SET TRAN ISOLATION LEVEL Tên_mức_cô_lập - Các lệnh giao tác Tất lệnh đọc ghi -trong giao tác chịu ảnh hưởng mức cô lập COMMIT 19 Read Uncommitted • Đặc điểm: – Đọc khơng cần xin khóa – Khi dùng mức lập có khả bị lỗi: Đọc liệu rác Không đọc lại liệu Bóng ma Mất liệu cập nhật Không giải lỗi tranh chấp 20 Read Committed • Đặc điểm: – Đọc phải xin khóa – Khóa đọc xong trả liền – Khi dùng mức lập có khả bị lỗi: Khơng đọc lại liệu Bóng ma Mất liệu cập nhật giải lỗi Dirty read - đọc liệu rác 21 Repeatable Read • Đặc điểm: – Đọc phải xin khóa – Khóa đọc giữ đến hết giao tác – Khi dùng mức lập có khả bị lỗi: Bóng ma Mất liệu cập nhật giải lỗi đọc phải liệu rác lỗi không đọc lại liệu 22 Serializable • Đặc điểm: – Đọc phải xin khóa – Khóa đọc giữ đến hết giao tác – Khơng cho insert dịng liệu thỏa điều kiện thiết lập share-lock – Khi dùng mức lập có khả bị lỗi: Mất liệu cập nhật •  giải lỗi dirty read lỗi unrepeatable read phantom 23 Dead-lock Trong truy xuất đồng thời, deadlock trạng thái giao tác chờ mặt tài nguyên làm cho hệ thống đứng yên Circle deadlock • Minh hoạ tình • Demo tình •Tránh deadlock Conversion deadlock • Minh hoạ tình • Demo tình •Tránh deadlock 25 Cycle deadlock Transaction Giữ X-lock bảng Bảng Bảng Bảng Giữ X-lock bảng Transaction Deadlock Giữ X-lock bảng Bảng Giữ X-lock bảng1 26 Cycle deadlock T1 chờ T2 trả khóa ghi B, T2 chờ T1 trả khóa ghi A  Hệ thống bị treo 27 Conversion deadlock Transaction Transaction Giữ S-lock Giữ S-lock Yêu cầu X-lock Yêu cầu X-lock Deadlock 28 Conversion deadlock T1 chờ T2 trả khóa đọc A, T2 chờ T1 trả khóa đọc A  Hệ thống bị treo 29 Tránh deadlock Chuyển dạng - phối hợp transaction, mức độ lập lock 30 Demo • Tình lỗi truy xuất liệu Đọc phải liệu rác  Khơng đọc lại liệu  Bóng ma  Mất liệu cập nhật • Các tình tranh chấp đồng thời • Deadlock • Cài đặt tránh deadlock 31 Thank You! 32 ... => tranh chấp đồng thời Tranh chấp đồng thời (tt) Các tình xảy tranh chấp đồng thời Giao tác Giao tác Nhận xét Đọc Đọc Không xảy tranh chấp Đọc Ghi Có tranh chấp xảy Ghi Đọc Có tranh chấp xảy... tran - commit] [begin tran - rollback] thực thi Tranh chấp đồng thời Tranh chấp đồng thời ? • Các tình xảy tranh chấp • Một số lỗi truy xuất đồng thời:  Đọc phải liệu rác  Không đọc lại liệu...Nội dung Trình bày tình tranh chấp cách xử lý Transaction Tranh chấp đồng thời Xử lý tranh chấp đồng thời Deadlock Tránh deadlock Transaction • Nhắc lại kiến

Ngày đăng: 15/03/2014, 17:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan