Database

트랜젝션 ACID 란?

리거니 2022. 9. 22. 10:26
 
트랜젝션 ( Transaction )

DB 내에서 하나의 논리적 기능을 수행하기 위해 행해지는 작업의 단위 또는
      한번에 사용되는 하나이상의 쿼리를 모아 놓은 쪼갤 수 없는 논리적인 작업 단위이다.

 


ACID 란?

  •   A(Atomicity) 원자성
  •   C(Consistency) 일관성
  •   I(Isolatioin) 고립성
  •   D(Durablility) 지속성

 

# 원자성

    ○ 트랜젝션 내 모든 연산들은 반드시 완전하게 수행이 완료되거나 아니면 수행되지 않아야 한다.
      ( DB에 성공적으로 저장되거나 , 아예 실패하거나 )

 

# 일관성

    ○ 트랜젝션 이전과 이후, DB 상태는 이전과 같이 유효해야한다.
      ( 트랜젝션이 일어난 이후의 DB는 DB의 제약이나 규칙을 일관성있게 만족해야 한다 )

 

# 격리성,고립성

    ○ 트랜젝션 작업 수행 중에는 다른 트랜젝션에 영향을 주어서도 안되고 간섭을 받아서도 안된다.

 

    ○ 실제로 동시에 여러 트랜젝션이 수행될 경우, 격리성으로 인해 연속으로 실행된 것과 동일한 결과를 나타낸다.
      ( 각 트랜젝션은 독립적이므로 다른 트랜젝션의 작업 내용을 알 수 없다.
        또한, 하나의 트랜젝션이 종료되기 전까지 다른 트랜젝션은 실행되지 않는다.)

 

# 지속성

    ○ 트랜젝션 수행이 완료되면 그 작업이 영구적으로 저장되어야 한다    
      ( 런타임 또는 시스템 오류가 발생하더라도, 해당 기록은 영구적이어야함.)