본문 바로가기

db2

[DB] Transaction (트랜잭션)이란? Transaction이란? 데이터베이스 관리 시스템 또는 유사한 시스템에서의 상호작용 단위. (유사한 시스템: 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미) 전부 성공하거나 전부 실패되거나 둘 중 하나의 작업을 수행하며 모든 연산은 반드시 한꺼번에 완료가 되어야 하고 그렇지 않은 경우에는 한꺼번에 취소되어야 한다. (원자성) 한꺼번에 완료가 된 경우에는 COMMIT을 호출해 작업 결과를 DataBase에 반영한다. 취소가 되거나 문제가 발생한 경우에는 ROLLBACK을 호출하고 작업결과를 모두 취소하여 DataBase에 영향을 미치지 않게 한다. Transaction의 성질 Atomicity (원자성) 분리할 수 없는 하나의 단위로 작업은 모두 완료되거나 모두 취소되어야.. 2021. 5. 13.
[DB] Isolation Level (트랜잭션 격리 수준) 트랜잭션 격리 수준 (Isolation Level) 동시에 여러 트랜잭션이 처리 될 때, 트랜잭션끼리 얼마나 서로 고립되어 있는지를 나타내는 것. Read Uncommitted Read Committed Repeatable Read Serializable READ UNCOMMITTED 어떤 트랜잭션의 변경 내용이 COMMIT이나 ROLLBAK과 상관없이 다른 트랜잭션에서 보여진다. Dirty Read 발생 가능 A 트랜잭션에서 10번 사원의 나이를 27살에서 28살로 변경 커밋하지 않음 B 트랜잭션에서 10번 사원의 나이를 조회 28살이 조회됨 (Dirty Read) A 트랜잭션에서 문제가 발생해 ROLLBACK 함 B 트랜잭션은 10번 사원이 여전히 28살이라고 생각하고 로직을 수행 READ COMMI.. 2021. 5. 13.