
[DB] 트랜잭션의 ACID 특성과 격리 레벨(isolation level)
2022. 8. 7. 20:52
DB
트랜잭션 Atomic (원자성) 모든 작업이 실행되거나 모두 실행되지 않아야 한다. ex) 송금 과정에서 중간에 오류가 날 수 있으므로 A계좌의 잔액이 줄어드는 것과 B계좌의 잔액이 늘어나는 것은 모두 실행되거나 모두 실패해야 한다. Consistency (일관성) 모든 트랜잭션이 종료되고 데이터를 저장하는 시점에 DB의 제약조건을 모두 지키고 있는 상태여야 한다. 위반하는 트랜잭션은 중단된다. Isolation (고립성) 각 트랜잭션은 다른 트랜잭션과 독립적으로 동작해야한다. 격리성 레벨은 READ_UNCOMMITTED > READ_COMMITTED > REPEATABLE_READ > SERIALIZABLE 순서로 성능은 떨어지고 고립성은 증가한다. READ_UNCOMMITTED : 처리중인 트랜잭션의..