지연된 업데이트와 즉시 업데이트 간의 차이

Anonim

지연된 업데이트와 즉시 업데이트

지연된 업데이트 및 즉시 업데이트는 데이터베이스 관리 시스템의 트랜잭션 로그 파일을 유지 관리하는 데 사용되는 두 가지 기술입니다 DBMS). 트랜잭션 로그 (저널 로그 또는 재실행 로그라고도 함)는 트랜잭션 ID, 트랜잭션의 시간 소인, 이전 값 및 새 데이터 값을 저장하는 실제 파일입니다. 이를 통해 DBMS는 각 트랜잭션 전후의 데이터를 추적 할 수 있습니다. 트랜잭션이 확약되고 데이터베이스가 일관성있는 상태로 리턴되면 로그는 절단되어 확약 된 트랜잭션을 제거 할 수 있습니다.

지연된 업데이트

NO-UNDO / REDO라고도하는 지연된 업데이트는 운영 체제, 전원, 메모리 또는 시스템 오류로 인해 발생하는 트랜잭션 오류를 복구 / 지원하는 데 사용되는 기술입니다. 트랜잭션이 실행되면 트랜잭션에 의해 데이터베이스에 수행 된 모든 갱신 또는 변경이 즉시 수행되지 않습니다. 로그 파일에 기록됩니다. 로그 파일에 기록 된 데이터 변경 사항은 커밋시 데이터베이스에 적용됩니다. 이 과정을 "Re-doing"이라고합니다. 롤백시, 로그 파일에 기록 된 데이터 변경 사항은 무시됩니다. 따라서 데이터베이스에 변경 사항이 적용되지 않습니다. 트랜잭션이 실패하고 위에 언급 된 이유로 인해 커밋되지 않으면 로그 파일의 레코드가 삭제되고 트랜잭션이 다시 시작됩니다. 충돌 이전에 트랜잭션의 변경 사항이 커밋되면 시스템이 다시 시작된 후 로그 파일에 기록 된 변경 사항이 데이터베이스에 적용됩니다.

즉각적인 업데이트

UNDO / REDO라고도하는 즉시 업데이트는 운영 체제, 전원, 메모리 또는 시스템 오류로 인해 발생하는 트랜잭션 오류를 복구 / 지원하는 데 사용되는 또 다른 기술입니다. 트랜잭션이 실행되면 트랜잭션에 의해 수행 된 모든 갱신 또는 변경 사항이 데이터베이스에 직접 기록됩니다. 원래 값과 새 값은 데이터베이스를 변경하기 전에 로그 파일에도 기록됩니다. 커밋시 데이터베이스에 대한 모든 변경 사항이 영구적으로 적용되고 로그 파일의 레코드는 삭제됩니다. 롤백시 이전 값은 로그 파일에 저장된 이전 값을 사용하여 데이터베이스로 복원됩니다. 트랜잭션과 데이터베이스의 모든 변경 사항은 무시되며이 프로세스를 "수행하지 않음"이라고합니다. 크래시 후 시스템이 다시 시작되면 커미트 된 트랜잭션에 대해 모든 데이터베이스 변경 사항이 영구적으로 적용됩니다. 커미트되지 않은 트랜잭션의 경우, 원래 값은 로그 파일의 값을 사용하여 복원됩니다.

Deferred Update와 Immediate Update의 차이점은 무엇입니까?

Deferred Update와 Immediate Update는 시스템 장애가 발생한 후 복구하는 두 가지 방법이지만 각 방법에서 사용하는 프로세스가 다릅니다.다른 업데이트 방법에서는 트랜잭션에 의해 데이터에 적용된 모든 변경 내용이 로그 파일에 기록되고 커밋되면 데이터베이스에 적용됩니다. 즉시 업데이트 방법에서는 트랜잭션에 의한 변경 내용을 데이터베이스에 직접 적용하고 이전 값과 새 값을 로그 파일에 기록합니다. 이러한 레코드는 롤백시 이전 값을 복원하는 데 사용됩니다. 다른 업데이트 방법에서는 롤백시 로그 파일의 레코드가 삭제되고 데이터베이스에 적용되지 않습니다. 지연된 업데이트 방법의 한 가지 단점은 시스템 장애가 발생할 경우 복구하는 데 걸리는 시간이 증가한다는 것입니다. 반면에 트랜잭션이 활성화되는 동안 빈번한 I / O 작업은 즉시 업데이트 방법에서 단점입니다.