본문 바로가기
AI/섹션 3

트랜잭션(transaction)이란? ACID 란?

by 남오공 2022. 3. 30.
728x90

트랜잭션의 예로 자주 드는 은행 예시

 

트랜잭션이란?

  • 다수의 사용자가 동시에 사용하더라도 모순이 없는 정확한 데이터를 유지하기 위해 데이터 베이스가 일관된 상태를
    유지하기 위해 데이터베이스의 연산을 모아놓은 것
  • 데이터베이스의 상태를 변경하기 위해 읽기와 쓰기로 구성된 하나의 연속처리단위(작업의 단위)
  • 논리적인 하나의 작업 단위이기 때문에 하나의 트랜잭션은 반드시 commit / rollback이 된다.
  • 트랜잭션을 만족시키기위해 4개의 특징이 있는데 이것이 acid이다.

ACID 이란?

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

Atomoicity 원자성

  • 트랜잭션 내 성공적으로 모든 오퍼레이션이 커밋, 또는 롤백이 되야한다.
  • 즉 트랜잭션과 관련된 작업들이 부분적으로나 실행 중 중단되지 않는 것을 보장해야 한다.

Consistency 일관성

  • 트랜잭션이 성공적으로 이루어질때 항상 일관성(무결성) 상태가 이루어져야한다
  • 무결성? 데이터 베이스에 저장된 데이터의 정확성을 보장하기 위해 정확하지 않은 데이터베이스 내에
    저장되는 것을 방지하기 위한 제약 조건

Isolation 고립성

  • 현재 실행되는 트랜잭션이 완료될 떄 까지 다른 트랜잭션이 시작될 수 없다.

Durability 지속성

  • 반영된 트랜잭션은 영구적으로 손실되지 않고 반영되어야 한다.

 

댓글