Mục tiêu chính của chương 8 Các kỹ thuật phục hồi của cơ sở dữ liệu nằm trong bài giảng Quản trị cơ sở dữ liệu trình bày về lịch trình khả năng phục hồi, tổng quan về phục hồi, kĩ thuật phục hồi dựa trên Deferred Update, kĩ thuật phục hồi dựa trên Immediate Update và kĩ thuật phục hồi dựa trên Shadow Paging. | Các kĩ thuật phục hồi CSDL ThS. Hoàng Mạnh Hà hoangha84@ Nội dung Lịch trình khả phục hồi. Tổng quan về phục hồi. Kĩ thuật Write-Ahead Logging. Kĩ thuật phục hồi dựa trên Deferred Update. Kĩ thuật phục hồi dựa trên Immediate Update. Kĩ thuật phục hồi dựa trên Shadow Paging. SGU - CNTT - Hệ quản trị cơ sở dữ liệu 2 Lịch trình khả phục hồi SGU - CNTT - Hệ quản trị cơ sở dữ liệu 3 Tính khả phục hồi của lịch trình Trong việc tìm hiểu về điều khiển song hành, ta chưa xét nhiều đến sự thất bại của giao dịch. Nếu giao dịch Ti thất bại vì lý do nào đó (thường là các sự cố - failures), ta cần hủy bỏ giao dịch này để đảm bảo tính nguyên tử của giao dịch. Và để đảm bảo tính nhất quán, ta cần phải hủy bỏ tất cả các hiệu quả liên quan của giao dịch T. SGU - CNTT - Hệ quản trị cơ sở dữ liệu 4 Tính khả phục hồi của lịch trình Một số lịch trình dễ dàng phục hồi trong khi 1 số khác không thể phục hồi. Lịch trình mà có các giao dịch sau khi đã được bàn | Các kĩ thuật phục hồi CSDL ThS. Hoàng Mạnh Hà hoangha84@ Nội dung Lịch trình khả phục hồi. Tổng quan về phục hồi. Kĩ thuật Write-Ahead Logging. Kĩ thuật phục hồi dựa trên Deferred Update. Kĩ thuật phục hồi dựa trên Immediate Update. Kĩ thuật phục hồi dựa trên Shadow Paging. SGU - CNTT - Hệ quản trị cơ sở dữ liệu 2 Lịch trình khả phục hồi SGU - CNTT - Hệ quản trị cơ sở dữ liệu 3 Tính khả phục hồi của lịch trình Trong việc tìm hiểu về điều khiển song hành, ta chưa xét nhiều đến sự thất bại của giao dịch. Nếu giao dịch Ti thất bại vì lý do nào đó (thường là các sự cố - failures), ta cần hủy bỏ giao dịch này để đảm bảo tính nguyên tử của giao dịch. Và để đảm bảo tính nhất quán, ta cần phải hủy bỏ tất cả các hiệu quả liên quan của giao dịch T. SGU - CNTT - Hệ quản trị cơ sở dữ liệu 4 Tính khả phục hồi của lịch trình Một số lịch trình dễ dàng phục hồi trong khi 1 số khác không thể phục hồi. Lịch trình mà có các giao dịch sau khi đã được bàn giao (Commit) không bao giờ phải rollback lại gọi là lịch trình khả phục hồi. Với mỗi cặp giao dịch Ti và Tj trong lịch trình khả phục hồi: nếu Ti đọc hạng mục dữ liệu được ghi bởi Tj thì hoạt động bàn giao của Ti phải diễn ra sau hoạt động bàn giao của Tj. SGU - CNTT - Hệ quản trị cơ sở dữ liệu 5 Ví dụ Giả sử trường hợp T1 gặp sự cố và phải rollback. T2? Lịch trình không thể phục hồi và không được phép. SGU - CNTT - Hệ quản trị cơ sở dữ liệu 6 T1 T2 Read(X) Write(X) Read(Y) Abort Read(X) Write(X) Commit Lịch trình S1 Ví dụ Khả phục hồi? SGU - CNTT - Hệ quản trị cơ sở dữ liệu 7 T1 T2 Read(X) Write(X) Read(Y) Write(Y) Commit Read(X) Write(X) Commit Lịch trình S2 T1 T2 Read(X) Write(X) Read(Y) Write(Y) Commit Read(X) Write(X) Commit Lịch trình S3 Lịch trình Cascadeless Ngay cả khi lịch trình là khả phục hồi, việc phục hồi đúng sau thất bại của một giao dịch cũng xảy ra vấn đề. Việc rollback của S4 diễn ra như thế nào? SGU - CNTT - Hệ quản trị cơ sở dữ liệu 8 T1 T2 Read(A) Read(B) .