본문 바로가기
반응형
SMALL

Undo3

Redo/Undo 튜닝 시나리오 실습 Redo / Undo 튜닝 시나리오 실습이 실습은 TPS 향상, 트랜잭션 안정성 확보, 디스크 IO 절감을 목표로 설계합니다.1. 실습 환경 준비 항목 설정값 MySQL 버전8.0 이상 권장테스트 테이블대량 Insert/Update/Select용트랜잭션 부하 도구sysbench 추천 or 간단한 스크립트 제작예시: 테스트용 테이블 생성CREATE TABLE t1 ( id BIGINT AUTO_INCREMENT PRIMARY KEY, c1 VARCHAR(255), c2 INT, c3 DATETIME) ENGINE=InnoDB;2. 기본 Redo/Undo 설정 확인먼저 현재 설정을 확인합니다:SHOW VARIABLES LIKE 'innodb_log_file_size';SHOW VARIA.. 2025. 4. 18.
Redo, Undo, Doublewrite Buffer 이해 InnoDB Redo / Undo / Doublewrite Buffer 심층 이해1. Redo Log무엇인가?Redo = "변경된 것을 다시 적용"하기 위한 로그트랜잭션 커밋 이후에도,서버 장애가 발생했을 때 데이터를 복구할 수 있도록 변경 기록을 보존하는 메커니즘입니다.주요 역할Crash Recovery: 장애 발생 시, 아직 디스크에 저장되지 않은 변경 사항을 복구Durability (ACID의 D)구조Redo Log Buffer (메모리)변경사항이 버퍼에 임시 저장됨Redo Log Files (ib_logfile0, ib_logfile1, ...)버퍼에서 주기적으로 디스크에 플러시LSN (Log Sequence Number): Redo 기록의 절대 위치Redo 작성/플러시 흐름 1. 데이터 변경 →.. 2025. 4. 18.
InnoDB Undo/Redo 내부 구조 InnoDB Undo / Redo 내부 구조 심층 분석InnoDB는Undo와 Redo를 통해 트랜잭션 무결성과 장애 복구를 보장합니다.둘은 역할이 다르지만 서로 긴밀히 연결되어 있습니다.1. Undo LogUndo = 과거로 되돌리는 기록목적트랜잭션 롤백 지원MVCC (Multi-Version Concurrency Control) 구현동작 흐름 1. 데이터 변경 전 상태(Old Version)를 Undo Log에 저장2. 트랜잭션 실패 시 Undo Log를 이용해 원상 복구3. 다른 트랜잭션이 읽을 때, Undo Log를 통해 일관된 Snapshot 제공Undo 내부 구조 구성요소 설명Undo SegmentUndo Record를 묶어 저장하는 논리적 단위Undo Page실제 Undo Record를 저장하.. 2025. 4. 18.
LIST