MySQL에서 트랜잭션 로그와 리두 로그의 차이점


14

MySQL에 대해 읽었습니다. 제 생각에는 두 가지 로그 유형이 매우 유사하다고 생각합니다. MySQL은 데이터가 변경되는 방법과시기를 로그에 저장합니다. 정보는 MySQL 복구에 사용됩니다. 두 가지 로그 유형의 기능을 혼동하고 있습니다.

답변:


18

REDO 로그는 Oracle 용어이고 트랜잭션 로그는 InnoDB 용어입니다. 이제 모두 Oracle 엔지니어이므로 사람들은 모두 MySQL에서 동일한 것을 참조하기 위해 사용합니다 .

트랜잭션 로그는 $ DATADIR에있는 두 개의 파일 호출 바껴도 할 수있다 default-함으로써, ib_logfile0하고 ib_logfile1. 다른 RDMS와 기능이 다른 구현에 대한 세부 정보가 있지만, 다른 데이터베이스의 REDO 로그와 동일한 기능을 제공합니다. InnoDB의 주요 구성 요소는 트랜잭션 엔진입니다.

트랜잭션 로그를 MySQL의 바이너리 로그와 혼동하지 마십시오 . binlog는 기본적으로 $ DATADIR에 있으며 is *hostname*-bin.index및 several *hostname*-bin.00001등입니다. 다른 데이터베이스에서 온 사람들이 다른 데이터베이스에서 REDO 로그를 사용하는 다른 용도로 사용되기 때문에 특히 혼동됩니다. 복제 및 특정 시점 회복. 가장 큰 차이점은 트랜잭션 로그가 InnoDB 전용이고 이진 로그는 트랜잭션 기반이든 아니든 모든 스토리지 엔진에 대해 (대부분) 트랜잭션 독립적이라는 것입니다. MyISAM은 바이너리 로그에 (활성화 된 경우) 기록합니다. InnoDB는 트랜잭션 로그와 바이너리 로그에 기록합니다.

매뉴얼에 대한 추가 정보 : REDO log , binary log .


-2

SQL Server에서 TLog 파일은 실행 취소 및 재실행 정보를 모두 저장합니다. 그러나 MYSQL 및 Oracle에서 TLog / Redo Log는 리두 정보 만 저장합니다.

MySQL의 이진 로깅은 특정 시점으로 복구 할 수있는 방법입니다. 이진 로깅을 활성화하는 것은 SQL Server에서 전체 복구 모델을 사용하는 것과 같습니다.


1
Oracle은 여전히 ​​개별적으로 실행 취소를 저장한다는 것을 분명히해야합니다.
Philᵀᴹ
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.