ACID

이동현·2023년 4월 19일
0

코드 캠프 블로그

목록 보기
32/50

트랜잭션의 속성들 (ACID)

ACID 는 Transaction을 정의하는 4가지 속성을 가리키는 약어 입니다.

  • A(Atomicity) : 원자성 → 안전성 보장을 위해 가져야 할 성질 중의 하나로 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력.
    • 모두 성공할 것 아니면 모두 실패하게 만드는 것(DB의 오염을 막기 위함).
  • C(Consistency) : 일관성 → 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것.
    • 똑같은 쿼리를 조회할 때마다 동일한 결과값이 나타나야하는 것.
    • 수정과 삭제로 인해 결과값이 달라지는 것은 당연함.
  • I(Isolation) : 격리성 → 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것.
    • A 사람의 요청을 처리하는 동안 B사람의 요청은 잠시 기다리는 것
  • D(Durability) : 지속성 → 성공적으로 수행된 트랜잭션에 대한 로그가 남아야하는 성질로 런타임 오류나 시스템 오류가 발생하더라도, 해당 기록은 영구적이어야 하는 것.
    • 성공하여 commit이 되었으면 서버를 다시 켜도 그 데이터는 그대로 유지가 되어야 되는 것.

0개의 댓글