Skip to content

Transactions

  • Published on
    ACID가 실제로 무엇을 보장하는지부터, 네 가지 격리 수준(read uncommitted → serializable), 각 수준이 허용하는 이상 현상(dirty·non-repeatable·phantom read, write skew), MVCC와 잠금·낙관적 동시성, SELECT FOR UPDATE, 그리고 PostgreSQL과 MySQL의 기본값 차이까지. 트랜잭션이 왜 어렵고 무엇을 지켜 주는지 실전 관점에서 정리합니다.
  • Published on
    한 데이터베이스 안에서는 쉬웠던 ACID가 왜 여러 서비스에 걸치면 무너지는지, 2단계 커밋(코디네이터, 블로킹, 실패 모드)의 원리와 한계, Saga 패턴(코레오그래피 vs 오케스트레이션, 보상 트랜잭션), 이중 쓰기 문제를 푸는 아웃박스 패턴, 그리고 결과적 일관성이 실무에서 뜻하는 바까지. 마이크로서비스 시대의 트랜잭션을 정리합니다.