트랜잭션

    Django Transaction

    트랜잭션(Transaction)이란 데이터베이스의 상태를 변환시키려는 작업의 단위를 의미한다. 트랜잭션의 목적은 데이터베이스 완전성(integrity)의 유지에 있다. 데이터베이스를 저장하고 수정하는 여러작업을 하나의 쿼리로 처리할 수 없기 때문에 여러개의 쿼리로 나누어 실행하는데, 그 결과의 원자성을 보장하기 위해 동일한 DB connection 객체를 이용하는 기술이라 볼 수 있다. 즉 하나의 실행단위로, 존재하는 중간 과정들에 대해서 모두 성공하면 데이터베이스의 상태가 변하게 되고, 중간에 실패하면 기존에 작업들 모두 RollBack된다. Transaction의 4가지 특성 (ACID) 원자성 (Atomicity) 모두 실패하거나, 모두 완성되거나 둘 중 하나의 상태만 존재한다. 100개 명령어로 ..