Deadlock 분석: LATEST DETECTED DEADLOCK을 읽고 재현하는 방법
MySQL InnoDB deadlock의 발생 조건과 희생자 선택을 이해하고 LATEST DETECTED DEADLOCK 보고서를 읽어 재현·예방하는 절차를 정리한다.
전체 문서 62개 · 2 / 4 페이지
MySQL InnoDB deadlock의 발생 조건과 희생자 선택을 이해하고 LATEST DETECTED DEADLOCK 보고서를 읽어 재현·예방하는 절차를 정리한다.
InnoDB 자동 증가 값 할당 방식과 innodb_autoinc_lock_mode별 동시성, 복제 안전성, 운영 판단 기준을 정리한다.
MySQL InnoDB가 Phantom read를 제어하는 MVCC와 next-key lock의 역할, 격리 수준별 차이와 운영 진단법을 설명한다.
InnoDB의 record lock, gap lock, next-key lock이 B+Tree 검색 구간을 보호하는 원리와 진단·설계 기준을 설명한다.
InnoDB locking read가 최신 커밋 버전을 읽고 record·gap lock을 획득하는 원리와 FOR UPDATE, FOR SHARE의 운영 기준을 설명한다.
InnoDB snapshot read가 Read View와 트랜잭션 ID, undo chain으로 과거 행 버전을 선택하는 원리와 운영 진단 기준을 설명한다.
InnoDB의 READ COMMITTED와 REPEATABLE READ를 Read View 수명, phantom, gap lock, 운영 선택 기준으로 비교한다.
InnoDB MVCC에서 consistent read와 current read가 서로 다른 버전을 읽는 원리와 격리 수준별 운영 영향을 정리한다.
InnoDB Foreign key의 인덱스 요구 조건, 참조 무결성 검사 잠금, cascade 비용과 운영 진단 절차를 쓰기 경로 중심으로 정리한다.
MySQL Composite index의 leftmost prefix, equality와 range 조건의 경계, 정렬 지원 여부를 실행 계획과 함께 설명한다.
InnoDB Primary Key의 단조 증가성, 폭, 변경 불가성, 분산 ID 생성이 쓰기와 보조 인덱스에 미치는 영향을 설명한다.
InnoDB B+Tree의 root·branch·leaf page 구조와 탐색 비용, 클러스터형·보조 인덱스의 차이를 운영 관점에서 설명한다.
SHOW ENGINE INNODB STATUS 출력의 구조와 핵심 지표를 InnoDB 운영 진단 관점에서 정리한다.
InnoDB crash recovery가 redo 적용, undo rollback, purge 재개 순서로 일관성을 회복하는 과정을 운영 관점에서 정리한다.
InnoDB fuzzy checkpoint가 dirty page flush, redo log 재사용, crash recovery 시간에 어떤 영향을 주는지 운영 관점에서 정리한다.
InnoDB의 동기·비동기 I/O 경로, read/write thread, fsync 비용을 운영 관점에서 정리한다.
InnoDB purge thread와 history list length의 관계를 통해 오래 열린 트랜잭션이 undo, 성능, 운영 안정성에 미치는 영향을 정리한다.
InnoDB page cleaner, purge, IO thread가 dirty page 정리, undo 정리, 비동기 I/O를 어떻게 분담하는지 운영 관점에서 정리한다.
InnoDB Insert Buffer와 Change Buffer의 용어 변화, 내부 동작, 운영상 의미, MySQL 8.0 기준 점검 방법을 정리한다.
InnoDB Doublewrite Buffer가 torn page를 방지하는 원리와 스토리지 신뢰성, 운영 진단 기준, Aurora MySQL 차이를 정리한다.