본문
데이터베이스 트랜잭션(ACID)
DB(Oracle) 2015. 10. 30. 20:43
# 데이터베이스 트랜잭션(ACID)
# 트랜잭션이란?
데이터베이스 내에 하나의 그룹으로 처리해야하는 명령문들을 모아놓은 작업단위.
즉, 데이터를 처리하는 하나의 작업단위로 데이터베이스 시스템은 각각의 트랜잭션에 대해 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 영구성(Durability)를 보장한다.
# 트랜잭션 특징
1. 원자성(Atomicity)
한 트랜잭션의 모든 작업이 수행되든지, 아니면 하나도 수행되지 않아야 한다. 트랜잭션이 제대로 실행되지 않았으면 롤백(roll back)한다.
2. 일관성(Consistency)
모든 트랜잭션은 데이터베이스에서 정한 무결성 조건을 만족해야 한다. (무결성 : 데이터에 결손과 부정합이 없음을 보증하는 것을 의미)
3. 고립성(Isolation)
두 개의 트랜잭션이 서로에게 영향을 미칠 수 없다. 트랜잭션이 실행되는 동안의 값은 다른 트랜잭션이 접근할 수 없어야 한다.
4. 영구성(Durability)
트랜잭션이 성공적으로 끝난 뒤에는, (시스템 실패가 일어나더라도) 그 결과가 데이터베이스에 계속 유지되어야 한다.
댓글