트랜잭션 이란? - 논리적인 작업 단위
- 원자성 ( Atomicity )
- 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것을 말합니다.
- 즉, All or Noting의 개념으로서 작업 단위를 일부분만 실행하지 않는다는 것을 의미합니다.
-
일관성 ( Consistency )
-
트랜잭션이 성공적으로 완료되면 일관적인 DB상태를 유지하는 것을 말합니다.
-
여기서 말하는 일관성이란, 위의 송금 예제에서 금액의 데이터 타입이 정수형(integer)인데, 갑자기 문자열(string)이 되지 않는 것을 말합니다.
-
즉, 송금 전후 모두 금액의 데이터 타입은 정수형이여야 한다는 것이 일관성입니다.
-
격리성 ( Isolation )
-
트랜잭션 수행시 다른 트랜잭션의 작업이 끼어들지 못하도록 보장하는 것을 말합니다.
-
즉, 트랜잭션끼리는 서로를 간섭할 수 없습니다.
-
지속성 ( Durability )
-
성공적으로 수행된 트랜잭션은 영원히 반영이 되는 것을 말합니다.
-
commit을 하면 현재 상태는 영원히 보장됩니다.
'데이터베이스' 카테고리의 다른 글
DB SubQuery (0) | 2019.07.24 |
---|