트랜잭션

    [Database] 트랜잭션 격리수준(Transaction Isolation Level)

    트랜잭션 ACID 중 I(Isolation)에 해당하는 격리성에 관한 격리 수준을 의미합니다. 병렬처리되는 트랜잭션을 완전한 격리가 아닌 격리의 수준을 지정해서 작동을 하게됩니다. DIRTY READ, NON-REPEATABLE READ, PHANTOM READ와같이 각각 격리 단계에서 발생할 수 있는 부정합이 있습니다. SERIALIZABLE(직렬화) 가장 엄격한 격리 수준으로 완벽한 읽기 일관성 모드 제공합니다. 한 트랜잭션에서 읽고 쓰는 레코드를 다른 트랜잭션에서는 절대 접근할 수 없습니다. 교착상태가 많이 발생하여 DB성능이 떨어집니다. REPEATABLE READ 한 트랜잭션이 접근하는 데이터에대해 다른 트랜잭션이 수정하지 못하는 격리수준을 의미합니다. 하지만 새로운 데이터를 추가하는 INSER..

    [Database] 트랜잭션(Transaction) 과 ACID

    [Database] 트랜잭션(Transaction) 과 ACID

    트랜잭션이란? 하나의 논리적 작업 단위를 구성하는 일련의 연산들의 집합, 작업단위 트랜잭션의 4가지 특징 ACID 원자성(Atomicity) - 트랜잭션은 DB에 모두 반영되거나, 전혀 반영되지 않아야 합니다. - Commit & Rollback을 활용합니다. 일관성(Consistency) - 트랜잭션의 작업 처리 결과는 항상 일관성 있어야 합니다. - 허용된방식으로만 데이터를 변경하는것을 의미합니다. - 데이터베이스에 기록된 모든 조건, 제약들을 적용하며 수행하는것을 의미합니다. 독립성(Isolation) - 둘 이상의 트랜잭션이 동시에 병행 실행되고 있을때, 어떤 트랜잭션도 다른 태랜잭션 연산에 끼어들 수 없습니다. 지속성(Durability - 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의..