MySQL InnoDB Redo Log, 내부 깊숙이 파헤치기!

by DD
9개월 전
조회수 7

InnoDBRedo Log는 데이터의 영속성을 보장하는 핵심 메커니즘이다.

MTR(mini-Transaction)은 Redo Log의 최소 작업 단위로, 성능 향상에 기여한다.

Mutex 기반의 Redo Log 동작 방식은 MySQL 5.7에서 안정성을 확보한다.

Redo Log와 WAL의 관계

Redo LogWAL(Write-Ahead Log)의 일종으로, 데이터 변경 사항을 디스크에 안전하게 기록한다. 구체적으로, Log Buffer에 변경 정보를 저장하고, Log File에 순차적으로 기록한다. 따라서, 시스템 장애 시 데이터 무결성을 보장한다.

MTR 구조와 성능 최적화

MTR(mini-Transaction)은 Redo Log의 최소 작업 단위로, 여러 내부 작업을 동시에 진행한다. MTR원자성을 보장하며, Redo Log Record 크기를 줄여 Disk I/O를 최소화한다. 따라서, MySQL 5.7에서 성능 최적화에 기여한다.

Mutex 기반 Redo Log 동작 방식

MySQL 5.7Mutex를 사용하여 Redo Log의 안정성을 확보한다. 구체적으로, Redo Log Buffer에 쓰기 전에 log_sys_mutex를 확보한다. 따라서, 동시성 이슈를 방지하고, 데이터 일관성을 유지한다.

MySQL InnoDB Log에 대한 이해 - (1)