Database

    ACID 원칙

    ACID 는 데이터베이스 무결성 보장하기 위해 트랜잭션의 설계 원칙이다. 'A' 는 Atomic 원자성으로 트랜잭션의 원자성이 보장되어야 한다. 트랜잭션 단위는 더이상 쪼개질 수 없는 작업 단위여야 한다. 트랜잭션이 중간에 중단되어도 트랜잭션 실행 전으로 DB 상태가 되어야 한다. 실행됐거나 안됐거나 2가지 결과 상태만 존재할 수 있어야 한다. 예를 들어, 새 유저를 추가하고 Role을 할당하는 트랜잭션이 있다고 가정한다. 실행 중에 새 유저만 추가되고 트랜잭션이 중단되었다면 새 유저 추가된 것은 rollback 되거나 DB에 반영되면 안된다. 반면 정상적으로 트랜잭션 완료되었다면 DB에 잘 반영되어야 한다. 'C'는 Consistency 일관성으로 트랜잭션 실행 전후로 DB 상태는 모순이 없어야 한다...