데이터베이스의 무결성과 일관성을 위해서 트랜잭션은 4가지 특징인 ACID를 만족해야 합니다. ACID는 각 특징의 앞글자로 만들어졌고 원자성, 일관성, 격리성, 지속성을 뜻 합니다.
- 특징 중 첫번째는 원자성으로, 한 트랜잭션내 실행한 작업은 모두 성공하거나 실패해야됩니다.
- 두번째는 일관성으로, 일관성 있는 데이터베이스 (상태)를 유지시키는 것 입니다.
- 그리고 격리성은, 동시에 실행되는 트랜잭션은 서로에게 영향을 미치지 않아야 된다는 의미입니다.
- 마지막으로 지속성은, 트랜잭션 완료시 결과가 영구적으로 반영되어야 한다는 뜻 입니다.
트랜잭션 상태
- 활동 (Active)
트랜잭션이 실행 중에 있는 상태, 연산들이 정상적으로 실행 중인 상태
- 장애 (Failed)
트랜잭션이 실행에 오류가 발생하여 중단된 상태
- 철회 (Aborted)
트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태
- 부분 완료 (Partially Committed)
트랜잭션이 마지막 연산까지 실행했지만, Commit 연산이 실행되기 직전의 상태
- 완료 (Committed)
트랜잭션이 성공적으로 종료되어 Commit 연산응 실행한 후의 상태