본문 바로가기
공부/기타궁금

mysql MyISAM, InnoDB 언두 로그, 리두 로그

by 띵커베르 2023. 3. 15.
728x90

myISAM 엔진은 리두 로그와 언두 로그를 지원하지 않습니다. 따라서, 데이터를 복구하거나 롤백하는 과정에서 문제가 발생할 가능성이 높습니다.

반면에 InnoDB 엔진은 리두 로그와 언두 로그를 사용하여 데이터베이스의 일관성과 복구를 보장합니다. InnoDB 엔진에서 데이터가 변경되면, 변경 사항은 리두 로그에 기록됩니다. 이는 변경 사항을 디스크에 먼저 기록하고, 메모리에 데이터를 로드하는 것보다 빠릅니다. 따라서, 시스템이 다운되거나 데이터베이스에 문제가 발생한 경우, InnoDB 엔진은 리두 로그를 사용하여 데이터베이스를 복구할 수 있습니다. 또한, InnoDB 엔진은 언두 로그를 사용하여 롤백 기능을 제공합니다. 이는 데이터베이스에 문제가 발생한 경우 변경 사항을 취소할 수 있는 기능입니다.

따라서, InnoDB 엔진은 데이터의 안전성과 일관성을 보장하기 위해 리두 로그와 언두 로그를 사용합니다. myISAM 엔진은 이러한 로그 기능을 제공하지 않기 때문에 데이터의 일관성과 안전성을 보장하기 어렵습니다.

 

===

InnoDB 관련해서 좀 더..

 

InnoDB는 트랜잭션 기반의 데이터베이스 엔진으로, 데이터 일관성과 내구성을 보장하기 위해 여러 가지 방법을 사용합니다. 이 중 언두와 리두 로그는 데이터 일관성을 유지하기 위한 중요한 요소입니다.

언두 로그는 트랜잭션이 수행되기 전에 이전 상태를 저장하는 데 사용됩니다. 이전 상태는 데이터베이스에서 수정하기 전의 원래 데이터의 복사본입니다. 이전 상태가 저장되면 트랜잭션이 수행되면서 데이터가 수정됩니다. 이후에 문제가 발생할 경우, 이전 상태를 사용하여 데이터베이스를 이전 상태로 되돌릴 수 있습니다.

리두 로그는 트랜잭션이 수행되면서 발생하는 모든 변경 사항을 기록합니다. 이 로그는 데이터베이스에 커밋되기 전에 디스크에 기록됩니다. 데이터베이스에 문제가 발생할 경우, 리두 로그는 마지막 커밋 이후의 변경 사항을 사용하여 데이터베이스를 복원합니다. 이를 통해 데이터의 무결성을 보장할 수 있습니다.

이러한 언두와 리두 로그를 사용하여 InnoDB 엔진은 데이터 일관성과 내구성을 보장합니다.

728x90

댓글