KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

트랜잭션(ACID)

연결된 노트와 함께 읽기

트랜잭션(ACID)

2026년 8월 28일

트랜잭션(ACID)

  • 트랜잭션은 여러 변경을 "전부 되거나 전부 안 되거나" 하나로 묶는 단위다.
  • 중간 상태가 남으면 안 되는 데이터(돈, 재고, 권한)가 여기 있어야 한다.

ACID

글자뜻
Atomicity원자성. 일부만 반영되는 일이 없다
Consistency일관성. 제약조건을 깨는 상태로 끝나지 않는다
Isolation격리. 동시에 실행돼도 서로의 중간 상태를 보지 않는다
Durability지속성. 커밋됐으면 죽어도 남는다
SQL

없는 곳에서는 어떻게 하나

MongoDB도 트랜잭션을 지원하지만 단일 문서 단위 원자성에 기대는 설계가 더 흔하다. AI Agent 원장은 트랜잭션 대신 upsert 멱등성 + 원장 append로 정합성을 만든다. 재실행이 안전하면 롤백이 덜 필요해진다.

한 줄 정리

트랜잭션은 전부 아니면 전부 아님을 보장하는 묶음이고, 없는 환경에서는 멱등성이 그 자리를 대신한다.

관련

  • SQL
  • upsert
  • MongoDB

Synapse Map Insight

START TRANSACTION; UPDATE accounts SET balance = balance - 1000 WHERE id = 1; UPDATE accounts SET balance = balance + 1000 WHERE id = 2; COMMIT; -- 둘 중 하나라도 실패하면 ROLLBACK