트렌젝션?

작업 수행의 논리적 단위

ACID란 트렌젝션에서 만족해야 하는 특성이다.

**Atomicity(원자성): ****트렌젝션의 작업은 모두 실행되던지 모두 실행되지 않는다. (All or Nothing)

Consistency(일관성): 트렌젝션이 성공했다면 데이터베이스는 일관성을 유지해야 한다.

일관성이란 트렌젝션 수행 전 후의 모든 제약 조건(기본키, 외래키, 도메인, 도메인 제약조건)이 일치함을 뜻한다. (갑자기 타입이 Int → String으로 변하는 건 안됨)

Isolation(독립성): 트렌젝션이 수행되는 도중 다른 작업은 끼어들 수 없다.

트렌젝션 끼리는 서로 간섭할 수 없다. (임계영역을 둬서 처리할 수 있다.)

Durability(지속성): 성공적으로 트렌젝션이 수행되었으면, 결과는 영원히 반영되어야 한다.

완전히 반영되면 로그를 남기는데, 이 로그를 이용해 트렌젝션을 수행 전으로 돌릴 수 있다. 따라서 트렌젝션은 로그 저장이 완료된 시점에 종료되어야 한다.

ACID : 원자성, 일관성, 독립성, 지속성

[DB이론] 트랜잭션(transaction)과 ACID 특성을 보장하는 방법