ACID란?

ACID?

  • 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 지속성(Durability)의 약자

  • 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질

  • 원자성(Atomicity)

    • All or Nothing

    • 내부 연산들이 부분적으로 실행되고 중단되지 않는 것을 보장함

    • 트랜잭션은 전체 성공과 전체 실패중 한가지만 수행함

  • 일관성(Consistency)

    • 트랜잭션이 성공적으로 완료되면언제나 일관성 있는 데이터베이스 상태로 유지하는 것

      (예: data type은 integer이여야 한다는 것)

  • 격리성(Isolation)

    • 동시에 실행되는 여러 트랜잭션이 서로 독립적임을 보장

    • 트랜잭션을 순차적으로 실행하기도함

    • 다른 트랜잭션이 해당 작업 사이에 끼어들지 못하도록 보장함

    • A와 B의 잔고 총합이 10000원으로 시작할 때, 특정 순간에는 총합이 10000원이 아닌 경우도 있음. 하지만 다른 트랜잭션은 10000원을 볼 수 있도록 보장해야함

  • 지속성/내구성(Durability)

    • 성공적으로 수행된 트랜잭션은 영원히 반영되어야함.

    • 장애가 발생해도 성공적으로 수행된 트랜잭션의 결과는 항상 DB에 반영되어야함

참고

Last updated