트랜잭션의 특성 (ACID)

원자성 (Atomicity)
트랜잭션은 논리적으로 더 이상 분할할 수 없는 작업단위여 하면 모든 데이터 수정 작업이 수행되거나 하나도 수행되지 않아야 한다.
예) 출금계좌에서 -1000 하고, 입금계좌 +1000 두 개가 처리가 모두 완료되거나 둘 중 하나라도 실패하면 전체가 실패해야 한다.

일관성(Consistency)
완료된 트랜잭션의 모든 데이터는 일관되어야 합니다. 관계형 데이터베이스에서는 트랜잭션 수정에 모든 규칙을 적용하여 모든 데이터 무결성을 유지해야 합니다. 트랜잭션 마지막에는 B-tree 인덱스 또는 이중 연결 목록 등 모든 내부적 데이터 구조를 반드시 수정해야 합니다.

격리성(Isolation)
동시 트랜잭션에 의한 수정은 다른 동시 트랜잭션에 의한 수정과 격리되어야 합니다. 트랜잭션에서 다른 동시 트랜잭션이 수정하기 전 상태의 데이터를 보거나 두 번째 트랜잭션이 완료된 후의 데이터를 볼 수는 있지만 중간 상태는 볼 수 없습니다. 결과적으로 시작 데이터를 다시 로드하고 일련의 트랜잭션을 재생하여 원래 트랜잭션이 수행된 후의 상태로 데이터를 되돌릴 수 있는데 이를 순차성이라고 합니다.

영속성(Durability)
트랜잭션이 완료되고 나면 그 영향이 영구적으로 시스템에 적용됩니다. 수정은 시스템에 오류가 발생한 경우에도 지속됩니다.

참조 : SQL Server BOL
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 좐군

2009/02/09 02:55 2009/02/09 02:55
, ,
Response
No Trackback , No Comment
RSS :
http://John.tobe30.com/tc/rss/response/72

Trackback URL : http://John.tobe30.com/tc/trackback/72

Leave a comment
[로그인][오픈아이디란?]