Sự khác biệt giữa Cập nhật Deferred và Cập nhật Ngay

Anonim

Cập nhật Deferred hoặc Cập nhật Ngay

Cập nhật Deferred và Cập nhật Tức thời là hai kỹ thuật được sử dụng để duy trì các tệp nhật ký giao dịch. DBMS). Nhật ký giao dịch (còn gọi là nhật ký nhật ký hoặc nhật ký làm lại) là một tệp tin vật lý lưu trữ ID giao dịch, tem thời gian của giao dịch, giá trị cũ và các giá trị mới của dữ liệu. Điều này cho phép DBMS theo dõi dữ liệu trước và sau mỗi giao dịch. Khi giao dịch được cam kết và cơ sở dữ liệu được trả về trạng thái nhất quán, nhật ký có thể bị cắt ngắn để loại bỏ các giao dịch đã cam kết.

Cập nhật Deferred

Cập nhật Deferred được gọi là NO-UNDO / REDO là một kỹ thuật được sử dụng để khôi phục / hỗ trợ các lỗi giao dịch diễn ra do hệ điều hành, nguồn, bộ nhớ hoặc lỗi máy. Khi một giao dịch chạy, bất kỳ bản cập nhật hoặc thay đổi nào được thực hiện cho cơ sở dữ liệu bằng giao dịch không được thực hiện ngay lập tức. Chúng được ghi lại trong tệp nhật ký. Thay đổi dữ liệu được ghi lại trong tệp nhật ký được áp dụng cho cơ sở dữ liệu về cam kết. Quá trình này được gọi là "Re-doing". Khi quay trở lại, bất kỳ thay đổi nào đối với dữ liệu được ghi lại trong tệp nhật ký sẽ bị loại bỏ; do đó không có thay đổi sẽ được áp dụng cho cơ sở dữ liệu. Nếu một giao dịch không thành công và nó không phải là cam kết vì bất kỳ lý do nào nêu trên, các bản ghi trong tệp nhật ký sẽ bị loại bỏ và giao dịch được khởi động lại. Nếu những thay đổi trong một giao dịch được thực hiện trước khi bị lỗi, thì sau khi hệ thống khởi động lại, các thay đổi được ghi lại trong tệp nhật ký được áp dụng cho cơ sở dữ liệu.

Cập nhật tức thời cũng được gọi là UNDO / REDO, cũng là một kỹ thuật khác được sử dụng để phục hồi / hỗ trợ sự cố giao dịch xảy ra do hệ điều hành, nguồn điện, bộ nhớ hoặc hỏng máy. Khi một giao dịch chạy, bất kỳ cập nhật hoặc thay đổi nào được thực hiện bởi giao dịch được ghi trực tiếp vào cơ sở dữ liệu. Cả hai giá trị ban đầu và các giá trị mới cũng được ghi lại trong tệp nhật ký trước khi thay đổi cơ sở dữ liệu. Trên cam kết tất cả các thay đổi được thực hiện cho cơ sở dữ liệu được thực hiện vĩnh viễn và các bản ghi trong tệp nhật ký bị loại bỏ. Trên các giá trị khôi phục cũ được khôi phục vào cơ sở dữ liệu bằng cách sử dụng các giá trị cũ được lưu trữ trong tệp nhật ký. Tất cả các thay đổi được thực hiện bởi các giao dịch với cơ sở dữ liệu bị loại bỏ và quá trình này được gọi là "Un-doing". Khi hệ thống khởi động lại sau vụ tai nạn, tất cả các thay đổi cơ sở dữ liệu được thực hiện vĩnh viễn cho các giao dịch cam kết. Đối với các giao dịch không cam kết, giá trị ban đầu được khôi phục bằng cách sử dụng các giá trị trong tệp nhật ký.

Sự khác biệt giữa Cập nhật Deferred và Cập nhật Ngay

Mặc dù Cập nhật Deferred và Cập nhật Tức thời là hai phương pháp để phục hồi sau khi lỗi hệ thống, quá trình mà mỗi phương pháp sử dụng là khác nhau.Trong phương pháp cập nhật khác, mọi thay đổi đối với dữ liệu của một giao dịch được ghi lại lần đầu tiên trong tệp nhật ký và được áp dụng cho cơ sở dữ liệu về cam kết. Trong phương pháp cập nhật tức thời, các thay đổi được thực hiện bởi một giao dịch được áp dụng trực tiếp cho cơ sở dữ liệu và các giá trị cũ và các giá trị mới được ghi lại trong tệp nhật ký. Các bản ghi này được sử dụng để khôi phục các giá trị cũ về việc quay lại. Trong phương pháp cập nhật khác, các bản ghi trong tệp nhật ký sẽ bị loại bỏ khi quay trở lại và không bao giờ được áp dụng cho cơ sở dữ liệu. Một bất lợi của phương pháp cập nhật trì hoãn là thời gian tăng để phục hồi trong trường hợp hệ thống thất bại. Mặt khác, các hoạt động I / O thường xuyên trong khi giao dịch đang hoạt động, là một bất lợi trong phương pháp cập nhật ngay lập tức.