트랜잭션
트랜잭션은 데이터베이스에서 하나의 논리적 작업 단위이다.
예시:
A 계좌에서 10만원 출금 / B 계좌에 10만원 입금
둘 다 성공해야 정상이고, 하나라도 실패하면 전체가 취소되어야 한다.
핵심 암기
트랜잭션 / 하나의 논리적 작업 단위
ACID
| 속성 | 뜻 | 의미 |
|---|---|---|
| Atomicity | 원자성 | 모두 실행되거나 모두 취소 |
| Consistency | 일관성 | 실행 전후 DB 상태가 일관됨 |
| Isolation | 고립성 | 동시에 실행돼도 서로 간섭하지 않음 |
| Durability | 지속성 | 완료 결과는 영구 반영 |
일관성
일관성은 트랜잭션 실행 전후 데이터베이스 상태가 모순 없이 유지되는 것이다.
예시:
계좌 이체 전 전체 금액 100만원 / 계좌 이체 후 전체 금액도 100만원
돈이 갑자기 생기거나 사라지면 일관성이 깨진 것이다.
핵심 암기
일관성 / 작업 전후 DB 상태가 모순 없이 유지
충돌
충돌은 여러 작업이 같은 데이터를 동시에 수정하려 할 때 발생하는 문제이다.
예시:
작업 A: 재고 10개를 8개로 수정
작업 B: 재고 10개를 9개로 수정
동시에 처리되면 최종 결과가 꼬일 수 있다.
핵심 암기
충돌 / 같은 데이터를 동시에 수정 / 결과 꼬임