기록장
트랜잭션 주요 특성 4가지 (ACID) 본문
728x90
트랜잭션이란?
트랜잭션은 DB에서 하나의 논리적인 작업 단위를 의미
데이터의 일관성과 무결성을 보장하기 위해 여러 개의 연산을 묶엉서 처리하는 개념임
📌 예시: 은행에서 A 계좌에서 B 계좌로 10만 원을 이체한다고 하면,
- A 계좌에서 10만 원을 출금
- B 계좌에 10만 원을 입금
👉 이 두 과정이 함께 성공해야 하고, 하나라도 실패하면 원래 상태로 되돌아가야 해.
👉 이걸 보장하는 게 바로 트랜잭션의 ACID 특성이야.
트랜잭션의 4가지 주요 특성 (ACID)
트랜잭션이 제대로 동작하려면 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability) 이 네 가지 특성을 가져야 해.
특성설명예시
1) 원자성 (Atomicity) | 트랜잭션의 연산이 모두 실행되거나, 아예 실행되지 않아야 함. 하나라도 실패하면 전체 취소 (Rollback). | 이체 도중 오류 발생하면, 출금된 돈이 다시 A 계좌로 복구됨. |
2) 일관성 (Consistency) | 트랜잭션 실행 전후의 데이터가 항상 일관된 상태를 유지해야 함. | 이체 후에도 A와 B 계좌의 총합이 변하지 않아야 함. |
3) 고립성 (Isolation) | 여러 개의 트랜잭션이 서로 간섭 없이 독립적으로 실행되어야 함. | A → B 이체 중 다른 트랜잭션이 A 계좌 잔액을 조회하면 변동 전의 값을 봐야 함. |
4) 지속성 (Durability) | 트랜잭션이 완료되면 변경 사항이 영구적으로 저장되어야 함. | 은행 서버가 꺼지더라도 완료된 이체 내역이 사라지지 않음. |
728x90
Comments