기록
database - 트랜잭션의 ACID 특성 본문
반응형
DBMS 트랜잭션에는 지켜야 할 네 가지 약속이 표준규격으로 정해져 있다.
1. 원자성 (Atomicity)
트랜잭션이 끝난 시점에 모든 갱신 처리가 실행된 상태 또는 모두 실행되지 않은 상태로 종료되는 것을 보증하는 성질이다. All or Nothing이라고도 한다.
앞의 예를 사용하면, 와이셔츠 값은 내렸는데 티셔츠 값은 올리지 않은 상태로 끝나는 트랜잭션은 절대로 없다는 것이다.
트랜잭션의 종료 상태는 둘 다 실행되거나(COMMIT) 둘 다 실행되지 않는(ROLLBACK) 양자택일이어야 한다.
(트랜잭션의 어중간한 종료를 방지 위하여 원자성은 중요하다)
2. 일관성 (Comsistency)
트랜잭션에 포함되는 처리는 데이터베이스에 미리 설정된 제약을 지켜야 한다.
( 추후 책보고 다시 보완 )
3. 독립성 (Isolation)
트랜잭션 상호 간에 서로 간섭하지 않음을 보증하는 성질이다.
4. 지속성 (Durablity)
영속성이라고도 하며, 트랜잭션이 종료되면 해당 시점의 데이터가 저장되는 것을 보증하는 성질이다.
가장 일반적인 구현방법은, 트랜잭션 실행 기록을 디스크 등에 기록해 두었다가 (이와 같은 실행 기록을 '로그'라고 한다) 장애가 발생한 경우에 이 로그를 사용해서 장애 이전 상태로 복원하는 것이다.
다음 포스팅부터는 이제 진짜 목적이였던 복잡한 쿼리문 공부를 해보자 !!
반응형
'[Study] > Database' 카테고리의 다른 글
database - 서브쿼리와 뷰 (0) | 2019.07.29 |
---|---|
database - 뷰(View) (0) | 2019.07.28 |
database - 트랜잭션의 정의와 구문 (0) | 2019.07.28 |
database - ORDER BY (0) | 2019.07.26 |
HAVING - 그룹에 조건을 지정한다 (0) | 2019.07.26 |