TÀI LIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

11 19 0
TÀI LIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Đ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

Crash: Là các sự cố xảy ra không lường trước được, ví dụ như cúp điện, hư ổ cứng, RAM hoặc các thiết bị khác … Nói chung các sự cố này xảy ra làm cho việc thực hiện các transaction bị gián đoạn hoặc mất đi tình toàn vẹn dữ liệu. Như vậy có thể thấy có 2 trường hợp có thể xảy ra với 1 Transaction khi có sự cố:  Transaction chưa thực hiện commit (begin trans mà không có commit). Ở trường hợp này thì database  Transaction đã thực hiện commit nhưng vẫn chưa lưu dữ liệu...

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Bài viết về: PHỤC HỒI SỰ CỐ Nội dung: Một vài giả định quy ước: 1.1 Transaction: 1.2 Checkpoint: 1.3 Logging: Một vài khái niệm bản: 2.1 Crash: 2.2 Logging: 2.3 Recovery: 2.4 Checkpoint chế Logging: DBMS áp dụng chế phục hồi nào: 3.1 Các kỹ thuật Recovery (3 kỹ thuật): 3.1.1 Undo Logging (Sử dụng cho chế phục hồi Immediate Update): 3.1.2 Undo Logging Checkpoint: 3.1.3 Redo Logging (Sử dụng cho chế phục hồi Defer Update): 10 3.1.4 Undo/ Redo Logging 10 Bài tập: 11 Một vài giả định quy ước: 1.1 Transaction:  Bắt đầu transaction:  Hoàn tất transaction:  Hủy bỏ giao tác < start T1 > < commit T1 > < abort T1 > 1.2 Checkpoint:  Tạo checkpoint: 1.3 Logging: Một vài khái niệm bản: 2.1 Crash: Là cố xảy không lường trước được, ví dụ cúp điện, hư ổ cứng, RAM thiết bị khác … Nói chung cố xảy làm cho việc thực transaction bị gián đoạn tình tồn vẹn liệu Như thấy có trường hợp xảy với Transaction có cố:  Transaction chưa thực commit (begin trans mà khơng có commit) Ở trường hợp database  Transaction thực commit chưa lưu liệu từ nhớ đệm xuống datafile (begin trans commit) 2.2 Logging: Là chế lưu vết lại tất yêu cầu thay đổi từ phía User Cần phải ý đôi lúc việc kết truy vấn hay update sở tưởng chừng hoàn tất phía người dùng, nhiên, số trường hợp DBMS thực chưa hoàn thành việc update (nói xác lưu trữ xuống datafile) Việc hiển thị kết DBMS thực nhớ đệm 2.3 Recovery: Là phục hồi liệu ổ cứng (datafile) trạng thái đảm bảo tính tồn vẹn liệu gần Có chế phục hồi:  Defer Update: kết thay đổi liệu lưu từ nhớ đệm xuống datafile transaction thực commit Như rõ ràng, trước giao tác thực commit, có có xảy khơng ảnh hưởng đến datafile bên  Immediate Update: kết thay đổi lưu xuống datafile sau thực thao tác liệu giao tác mà không cần chờ đến lệnh commit 2.4 Checkpoint chế Logging:  Theo chế logging kỹ thuật Recovery Immedia Update sau lần commit abort giao tác DBMS lại yêu cầu DataFile Management ghi toàn liệu xuống datafile đồng thời ghi entry vào logfile Chú ý việc lưu trữ tiêu hao nhiều thời gian đặc biệt hệ thống nhiều User thực lúc  Người ta đề checkpoint để giảm thiểu vấn đề Như sau thời gian hạn định DBMS thực lưu checkpoint mà giao tác vừa commit xong lưu liệu từ nhớ đệm xuống datafile Nếu khoảng thời gian giao tác thời chưa hồn tất(commit) DBMS đợi khoảng thời gian giao tác hoàn tất Trong khoảng thời gian DBMS không nhận thêm giao tác khác Sau lưu thông tin xuông datafile , Log Manager ghi entry vào logfile Như vậy, thấy ràng cơng việc hồn tất trước checkpoint Nếu có cố xảy sau cần quay lại vị trí checkpoint đảm bảo tính chất liêu Tuy nhiên, phải nhận định rằng, việc chờ đợi giao tác hoàn tất mà khơng tiếp nhận giao tác khác thời gian làm trì hỗn hoạt động DBMS, đặc biệt với DBMS nhiều người dùng Vì người ta đưa kỹ thuật Nonquiescent Checkpoint Nonquiescent Checkpoint: Cơ chế hoạt động loại checkpoint là: Ví dụ, có giao tác T1, T2, T3, T4 Ở thời điểm t1, Log Manager bắt đầu thực lưu checkpoint Tại thời điểm có giao tác hoạt động T1 T2 T3 T4 chưa bất đầu giao tác Log Manager lưu vào logfile: Log Manager tiếp tục đợi T1, T2 hồn tất giao tác t2 Trong khoảng thời gian từ t1 đến t2 khơng ngăn cản giao tác vào hệ thống Sau giao tác hoàn tất Log Manager thực lưu Như cố xảy thời điểm t3 > t2 > t1 giao tác T1 T2 xem hồn thành khơng cần phục hồi Chỉ cần xét giao tác T3 T4 mà thơi Tiếp tục xét thấy T3 hồn thành trước thời điểm t3 logfile tồn entry lưu commit cho giao tác T3 Như công việc phục hồi cần thực với T4 mà  DBMS áp dụng chế phục hồi nào: 3.1 Các kỹ thuật Recovery (3 kỹ thuật): 3.1.1 Undo Logging (Sử dụng cho chế phục hồi Immediate Update): Như trình bày trên, thao tác update CSDL Log Manager lưu lại entry vào logfile Việc phục hồi (Recovery) thực việc rà soát thực sửa lỗi dựa theo việc Logging Như vậy, chế Recovery phải phụ thuộc hỗ trợ chế lưu entry Logging Ở chế Undo Logging hỗ trợ cho thao tác phục hồi CSDL theo dạng Undo, có nghĩa phục hồi lại CSDL trạng thái trước nhiều giao tác diễn chưa hồn tất xảy cố Quy tắc Logging:  Một entry có dạng: < Tn, X, v > Trong đó, Tn giao tác yêu cầu update sở liệu, X ĐVDL CSDL v giá trị trước thay đổi Ví dụ: UPDATE FROM Student AS s SET s.name= “Nam” WHERE s.id=”1” Vậy: - X entry student.name có id=1 - Giá trị cũ giá trị “XYZ”  Entry logfile < Tn, X, “XYZ” > mà < Tn, X, “Nam” >  Entry logfile phải ghi trước ghi cập nhật liệu cho DVDL X xuống datafile Quy tắc nhằm đảm bảo việc phục hồi có cố việc lưu liệu từ nhớ đệm xuống datafile Nhw ví dụ bên việc lưu entry báo hiệu thay đổi vào logfile (2) phải thực trước lưu A với giá trị 103 vào datafile (3) Công việc gọi Output(X) thực ngầm định bên triệu gọi hàm flush() Hàm thực đẩy toàn liệu nhớ đệm xuống vùng nhớ Datafile  Entry phải lưu cuối cùng, sau tất công việc lưu từ đệm xuống datafile hồn tất Quy tắc nhằm thơng báo giao tác hoàn tất cách thành cơng Nếu có cố xảy q trình lưu trữ khơng tồn entry logfile Điều thông báo việc cần phải phục hồi liệu lại trạng thái gần Time Transaction T Start T T = Read(A) T = T + 100 Write(A,T) Ouput(A) Commit T A (on Buffer) 103 103 3 103 A (on Disk) 3 3 103 LogFile Như ví dụ trên, giả dụ có cố xảy có trường hợp sau:    Sự cố điễn trước : Chẳng cần xét đến giao tác T cịn chưa bắt đầu Sự cố diễn sau (hoặc abort): Cũng không cần xét đến việc phục hồi giao tác T hồn thành trước Sự cố diễn khoảng (hoặc abort): ví dụ cố cúp điện, vào thời điểm từ 5, tồn logfile mà không tồn Khi hệ thống khởi động lại sau Nó đọc logfile phát dấu hiệu cố Biện pháp xử lý sau: Cơ chế Phục hồi: Phục hồi giao tác chưa hoàn tất trạng thái ban đầu B1: Đọc lại logfile từ trở lên B2: Với Entry có dạng thực lưu (phục hồi) vào DVDL X giá trị cũ X v Có nghĩa thực Write(X,v) Output(X) B3: Thực B2 gặp dừng lại Và thực lưu entry vào logfile để thông báo kết thúc giao tác phục hồi Có thể thấy việc Undo làm cho CSDL quay trạng thái toàn vẹn gần 3.1.2 Undo Logging Checkpoint: Cũng tương tự Undo Logging ý vài điểm sau:  Đối với Checkpoint thông thường:   Trong qua trình ngược entry logfile từ lên trên: o Khi gặp entry có dạng: Giao tác bắt đầu trước hồn tất khơng cần phục hồi Checkpoint thơng thường DBMS khơng tiếp nhận giao tác thời gian chờ đợi giao tác hoạt động hoàn tất Dừng việc phục hồi Ví dụ: xem ví dụ slide Phục hồi cố Đối với Nonquisecent Checkpoint:  Trong trình đọc ngườc entry logfile từ lên cần ý: o Nếu gạp entry có dạng Giao tác bắt đầu trước hoàn tất Loại bỏ entry giao tác khỏi việc phục hồi o Khi gặp entry có dạng: dừng cơng tác phục hồi Ví dụ: xem ví dụ slide Phục hồi cố Nhận xét: Cơ chế Undo Logging truy xuất ổ cứng nhiều 3.1.3 Redo Logging (Sử dụng cho chế phục hồi Defer Update): Vì chế Defer Update lưu tất update nhớ đệm Giao tác thực commit thực đẩy liệu xuống datafile Quy tắc Logging: - Lưu entry update có dạng u giá trị dùng để thay đổi cho giá trị cũ DVDL X Cơ chế Phục hồi: - Phục hồi lại giao tác hoàn tất giao tác hoàn tất bỏ qua giao tất chưa hoàn tất B1: Đọc lại logfile từ trở lên B2:  Đối với giao tác T mà tồn entry logfile thực lại tất thao tác với tất entry giao tác từ entry Mỗi Entry có dạng thực lưu (phục hồi) vào DVDL X giá trị cũ X v Có nghĩa thực Write(X,v) Output(X)  Đối với giao tác T mà tồn entry mà không tồ bỏ qua giao tác cơng tác phục hồi chưa hồn tất Và thực lưu entry vào logfile cho giao tác chưa hoàn tất Nhận xét: chế làm tốn nhớ đệm 3.1.4 Undo/ Redo Logging Kết hợp chế Undo Redo để đưa chế chung giảm thiểu nhược điểm chế này, quy tắc chế kết hợp lại là: Quy tắc Logging: - Lưu entry có dạng Trong đó: o T giao tác o X ĐVDL o V giá trị cũ o U giá trị Cơ chế Phục hồi: - Phục hồi lại giao tác chưa hoàn thành theo chế Undo Phục hồi lại giao tác hoàn thành theo chế Redo Ví dụ: xem slide Phục hồi cố Bài tập: Các tập phần có dạng sau: - Dạng 1: Cho nội dung (các entry) logfile o Yêu cầu: Phát chế Logging sử dụng thực phục hồi lại liệu o Hướng dẫn: Dựa vào cấu trúc entry update để xét chế Logging    Sau dựa vào loại chế mà thực thao tác phục hồi cho phù hợp - Dạng 2: Cho chuỗi thao tác thao tác T1,T2, T3 … o Yêu cầu: Thực logging theo chế (Undo, Redo, Undo/Redo …) sau thực phục hồi liệu có cố xảy thao tác o Hướng dẫn: Dựa vào loại chế Undo, Redo hay Undo, Redo mà thực lưu giá trị mới, cũ hay hai - Khi có cố xảy tốn quay dạng ... yêu cầu update sở liệu, X ĐVDL CSDL v giá trị trước thay đổi Ví dụ: UPDATE FROM Student AS s SET s.name= “Nam” WHERE s.id=”1” Vậy: - X entry student.name có id=1 - Giá trị cũ giá trị “XYZ”  Entry... nhớ đệm Giao tác thực commit thực đẩy liệu xuống datafile Quy tắc Logging: - Lưu entry update có dạng u giá trị dùng để thay đổi cho giá trị cũ DVDL X Cơ chế Phục hồi: - Phục hồi lại giao... trị 103 vào datafile (3) Công việc gọi Output(X) thực ngầm định bên triệu gọi hàm flush() Hàm thực đẩy toàn liệu nhớ đệm xuống vùng nhớ Datafile  Entry phải lưu cuối cùng, sau tất cơng

Ngày đăng: 21/05/2021, 14:51

Từ khóa liên quan

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

Tài liệu liên quan