약속된 데이터
트랜잭션은 왜 태어났는가
당신이
commit한 줄을 칠 때, 그 뒤에서는 수십 년의 역사와 네 개의 약속, 자물쇠와 로그가 동시에 작동한다. 이 책은 그 보이지 않는 세계를 처음부터 끝까지 보여준다.
이 책은 RDB에 본격적으로 입문하기 전, “왜 트랜잭션이 필요한가” 를 근본부터 이해하고 싶은 예비·주니어 개발자를 위해 썼다. 정의를 외우는 대신, 트랜잭션이 없던 세계의 고통에서 출발해 — 손으로 쓰던 장부, 반쯤 부서진 파일, 그리고 “Transaction”이라는 단어가 처음 이름을 얻던 연구실까지 — 왜 이 개념이 그 순서로 태어났는지를 이야기로 따라간다.
각 장은 배경 → 스토리 → 핵심 세 걸음으로 나아가고, 개념마다 실행 가능한 SQL과 Spring/Java 예제, 그리고 그 장을 한 컷으로 요약한 삽화가 함께한다.
목차
제1부 · 트랜잭션이 없던 세계
제2부 · ACID, 네 개의 약속 5. 전부 아니면 전무 — 원자성 6. 규칙은 깨지지 않는다 — 일관성 7. 서로를 방해하지 않는 척 — 격리성 8. 한번 약속하면 영원히 — 지속성
제3부 · 동시성이라는 전쟁터 9. 유령과 오염 — 동시성 괴현상 10. 네 개의 문 — 격리 수준 11. 표준이 말하지 않은 것 — 스냅샷 격리
제4부 · 질서를 지키는 장치들 12. 자물쇠를 채우다 — 락 13. 시간을 여러 겹으로 — MVCC 14. 믿음의 문제 — 낙관적 제어 15. 재난 후의 복구 — WAL
제5부 · 현장의 트랜잭션 16. 서로를 붙든 채 멈추다 — 데드락 17. 프레임워크가 숨긴 트랜잭션 경계
제6부 · 트랜잭션의 확장과 미래 18. 경계를 넘는 약속 — 분산 트랜잭션