원자성 (Atomicity)
트랜잭션은 논리적으로 더 이상 분할할 수 없는 작업단위여 하면 모든 데이터 수정 작업이 수행되거나 하나도 수행되지 않아야 한다.
예) 출금계좌에서 -1000 하고, 입금계좌 +1000 두 개가 처리가 모두 완료되거나 둘 중 하나라도 실패하면 전체가 실패해야 한다.
일관성(Consistency)
완료된 트랜잭션의 모든 데이터는 일관되어야 합니다. 관계형 데이터베이스에서는 트랜잭션 수정에 모든 규칙을 적용하여 모든 데이터 무결성을 유지해야 합니다. 트랜잭션 마지막에는 B-tree 인덱스 또는 이중 연결 목록 등 모든 내부적 데이터 구조를 반드시 수정해야 합니다.
격리성(Isolation)
동시 트랜잭션에 의한 수정은 다른 동시 트랜잭션에 의한 수정과 격리되어야 합니다. 트랜잭션에서 다른 동시 트랜잭션이 수정하기 전 상태의 데이터를 보거나 두 번째 트랜잭션이 완료된 후의 데이터를 볼 수는 있지만 중간 상태는 볼 수 없습니다. 결과적으로 시작 데이터를 다시 로드하고 일련의 트랜잭션을 재생하여 원래 트랜잭션이 수행된 후의 상태로 데이터를 되돌릴 수 있는데 이를 순차성이라고 합니다.
영속성(Durability)
트랜잭션이 완료되고 나면 그 영향이 영구적으로 시스템에 적용됩니다. 수정은 시스템에 오류가 발생한 경우에도 지속됩니다.
참조 : SQL Server BOL
Posted by 좐군


