태그: ACID
3편
-
데이터베이스 내부 동작: ACID 구현, 격리 수준, 인덱스 구조와 쿼리 최적화
관계형 데이터베이스가 WAL, 버퍼 풀, 잠금으로 ACID를 구현하는 방식과 네 가지 격리 수준에서 생기는 이상 현상, MVCC 스냅샷을 설명합니다. B-tree와 해시 인덱스의 차이, 옵티마이저 통계와 실행 계획 읽기, 연결 풀과 복제 운영 패턴도 다룹니다.
-
C++로 작은 DB 엔진 만들기: Pager·B-Tree 저장 엔진, SQL 파서, 실행기, WAL 트랜잭션
페이지 기반 Pager, B-Tree 인덱스, SQL 토크나이저/파서, 실행기, WAL 트랜잭션까지 간단한 DB 엔진의 핵심 구성 요소를 C++로 구현합니다. 풀 스캔 병목, 부분 커밋, WAL fsync 누락 같은 실전 문제 시나리오를 함께 다룹니다.
-
C++ 데이터베이스 엔진 구현: B-Tree 인덱스, WAL, MVCC, SQL 파서와 실행 계획
SQLite처럼 작은 DB 엔진을 만들며 페이지 기반 저장, B-Tree 인덱스 노드, WAL로 트랜잭션을 복구하는 원리, 간단한 SQL 파서와 실행 계획을 C++로 구현합니다. 잘못된 페이지 읽기, WAL 복구 후 데이터 손실 같은 에러와 그룹 커밋 등 성능 팁도 다룹니다.