본문 바로가기
개발/데이타베이스

트랜젝션 ACID?

by 로그인시러 2017. 3. 17.

CID(원자성,일관성,독립성,지속성)는 데이터베이스 트랜젝션이 안전하게 수행되는 것을 보장하는 특성 집합이다. 데이터베이스에서 데이터에 대한 하나의 논리적 실행단계를 트랜잭션이라고 한다. 여러 개별 단계로 이루어진다하더라도 은행 계좌이체를 트랜잭션의 예로 들 수 있다.

  • 원자성(Atomicity)은 트래잭션과 관련 된 일들이 모두 수행되었는지 아니면 모두 실행이 안되었는지를 보장하는 능력이다. 자금 이체는 성공할 수도 실패할 수도 있지만 원자성은 중간 단계까지 실행되고 실패하는 일은 없도록 하는 것이다.
  • 일관성(Consistency)은 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미한다. 무결성 제약이 모든 계좌는 잔고가 있어야 한다면 이를 위반하는 트랜잭션은 중단된다.
  • 독립성(Isolation)은 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미한다. 이것은 트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼 수 없음을 의미한다. 은행 관리자는 이체 작업을 하는 도중에 쿼리를 실행하더라도 특정 계좌간 이체하는 양 쪽을 볼 수 없다. 공식적으로 독립성은 트랜잭션 실행내역은 연속적이어야 함을 의미한다. 성능관련 이유로 인해 이 특성은 가장 유연성 있는 제약 조건이다. 자세한 내용은 관련 문서를 참조해야 한다.
  • 지속성(Durability)은 성공적으로 수행된 트랜잭션은 영원히 반영되야 함을 의미한다. 시스템 문제, DB 일관성 체크 등을 하더라도 유지되야 함을 의미한다. 전형적으로 모드 트랜잭션은 로그로 남고 시스템 장애 발생 전 상태로 되도릴 수 있다. 트랜잭션은 로그에 모든 것이 저장된 후에만 commit 상태로 간주될 수 있다.



출처 : http://jjeong.tistory.com/377

'개발 > 데이타베이스' 카테고리의 다른 글

grant all  (0) 2017.08.23
data consistency (데이터 일관성)  (0) 2017.03.17
OLTP, OLAP, DW  (0) 2017.03.17
조인 JOIN 방식  (0) 2017.03.10
ORACLE BETWEEN DATE 쿼리  (0) 2017.03.09

댓글