태그: MVCC
3편
-
MySQL 엔진 이해하기: InnoDB 페이지와 리두, MVCC, 옵티마이저, 복제와 백업
MySQL이 느릴 때 엔진보다 스키마·인덱스·락·복제 지연을 먼저 의심해야 하는 이유를 InnoDB 클러스터 인덱스와 버퍼 풀, MVCC와 REPEATABLE READ 갭 락, EXPLAIN과 통계, GTID 복제, 파티셔닝, ngram 전문 검색 예제로 설명합니다.
-
데이터베이스 트랜잭션 심화 — MVCC·2PL·데드락·WAL·실무 패턴
트랜잭션이 ACID를 어떻게 보장하는지 엔진 내부 관점에서 정리합니다. 격리 수준과 이상 현상, MVCC 가시성과 VACUUM, 2단계 락킹, 데드락 탐지와 희생자 선택, WAL과 체크포인트, 갱신 손실을 막는 SQL 패턴을 PostgreSQL과 InnoDB 예로 설명합니다.
-
C++ 데이터베이스 엔진 구현: B-Tree 인덱스, WAL, MVCC, SQL 파서와 실행 계획
SQLite처럼 작은 DB 엔진을 만들며 페이지 기반 저장, B-Tree 인덱스 노드, WAL로 트랜잭션을 복구하는 원리, 간단한 SQL 파서와 실행 계획을 C++로 구현합니다. 잘못된 페이지 읽기, WAL 복구 후 데이터 손실 같은 에러와 그룹 커밋 등 성능 팁도 다룹니다.