Cập nhật hoãn lại so với cập nhật ngay lập tức
Cập nhật hoãn lại 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 của Hệ thống quản lý cơ sở dữ liệu (DBMS). Nhật ký giao dịch (còn được gọi là nhật ký nhật ký hoặc nhật ký làm lại) là một tệp vật lý lưu ID giao dịch, dấu thời gian của giao dịch, giá trị cũ và 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 các 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 bớt để loại bỏ các giao dịch đã cam kết.
Cập nhật hoãn lại
Cập nhật hoãn lại còn đượ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 xảy ra do lỗi hệ điều hành, nguồn, bộ nhớ hoặc máy. Khi một giao dịch chạy, mọi cập nhật hoặc thay đổi được thực hiện cho cơ sở dữ liệu của giao dịch sẽ 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 trong tệp nhật ký được áp dụng cho cơ sở dữ liệu trên cam kết. Quá trình này được gọi là Hồi làm lại. Khi khôi phục, mọi thay đổi đối với dữ liệu được ghi 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 thất bại và nó không được cam kết do bất kỳ lý do nào được đề cập ở trên, các hồ sơ trong tệp nhật ký sẽ bị loại bỏ và giao dịch được khởi động lại. Nếu các thay đổi trong giao dịch được cam kết trước khi gặp sự cố, thì sau khi hệ thống khởi động lại, các thay đổi được ghi trong tệp nhật ký sẽ được áp dụng cho cơ sở dữ liệu.
Cập nhật ngay lập tức
Cập nhật ngay lập tức còn được gọi là UNDO / REDO, cũng là một kỹ thuật khác được sử dụng để khôi phục / hỗ trợ các lỗi giao dịch xảy ra do lỗi hệ điều hành, nguồn, bộ nhớ hoặc 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 đều được ghi trực tiếp vào cơ sở dữ liệu. Cả giá trị gốc và giá trị mới cũng được ghi lại trong tệp nhật ký trước khi thay đổi được thực hiện cho 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ý sẽ bị loại bỏ. Khi khôi phục các giá trị cũ được khôi phục vào cơ sở dữ liệu bằng các giá trị cũ được lưu 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 đến cơ sở dữ liệu đều bị loại bỏ và quá trình này được gọi là không thể thực hiện được. Khi hệ thống khởi động lại sau sự cố, 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 được cam kết, các giá trị ban đầu được khôi phục bằng các giá trị trong tệp nhật ký.
Sự khác biệt giữa Cập nhật hoãn lại và Cập nhật tức thời là gì
Mặc dù Cập nhật hoãn lại và Cập nhật tức thời là hai phương pháp để khôi phục sau khi lỗi hệ thống, quy 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 nhau, mọi thay đổi được thực hiện đối với dữ liệu theo giao dịch trước tiên được ghi lại trong tệp nhật ký và được áp dụng cho cơ sở dữ liệu theo cam kết. Trong phương pháp cập nhật ngay lập tức, các thay đổi được thực hiện bởi một giao dịch được áp dụng trực tiếp vào 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ý. Những hồ sơ này được sử dụng để khôi phục các giá trị cũ trên rollback. Trong phương pháp cập nhật khác nhau, các bản ghi trong tệp nhật ký sẽ bị loại bỏ khi khôi phục và không bao giờ được áp dụng cho cơ sở dữ liệu. Một nhược điểm của phương pháp cập nhật hoãn lại là tăng thời gian thực hiện để khôi phục trong trường hợp lỗi hệ thống. Mặt khác, hoạt động I / O thường xuyên trong khi giao dịch được kích hoạt, là một bất lợi trong phương pháp cập nhật ngay lập tức.