JUST WRITE

Transaction 본문

Database

Transaction

천재보단범재 2021. 11. 23. 16:53
이 글은 Guru99 사이트 'DBMS Transaction Management'를 해석, 정리한 글입니다.

 

Transaction

Transaction

데이터베이스 Transaction하나 이상의 데이터베이스 작업을 수행하는 논리적 처리 단위입니다.

Transaction 시작과 끝 사이에 진행하는 데이터베이스 작업은 모두 하나의 Transaction에 속한다.

Transaction 중에는 데이터베이스 데이터가 일치하지 않을 수 있다.

Commit 한 후가 돼야 데이터가 일치한다.

특징

  • Transaction 동안 데이터베이스 내 데이터 변경이 있을 수도 있고 없을 수 도 있다.
  • 데이터베이스 데이터 변경이 없는 Transaction은 read-only Transaction이라고 한다.
  • Transaction 성공적으로 끝나면 Consistent 상태로 된다.
  • Transaction 전에 Inconsistent 상태라면 Transaction이 끝나도 Inconsistent 상태이다.

상태

상태 설명
Active State  Process가 시작되면 Transaction이 Active State가 된다. 
 이 상태동안 Read, Write가 가능하다.
Partially Committed  Transaction 종료 후 Partially Commit이 된다.
Committed State  Transaction 성공적으로 끝이 나면 Commit이 된다. 
 Transaction 동안 변경된 사항도 데이터베이스에 반영된다.
Failed State  Check 중 실패가 발견되거나 Transaction 진행 중에 종료되면 Failed State가 된다.
Terminated State  Transaction이 다시 시작할 수 없을 때 Terminated State가 된다.

출처 : https://www.guru99.com/dbms-transaction-management.html

ACID

ACID는 Transaction 동안 데이터베이스의 무결성을 유지하기 위한 특성이다.

ACID 아래와 같다.

  • Atomicity(원자성)
    • Transaction 중 데이터베이스 작업은 모두 성공되야 하며, 하나라도 실패하면 모두 취소되야 한다.
  • Consistency(일관성)
    • Transaction이 성공하면 Consistent 상태가 된다.
  • Isolation(독립성)
    • Transaction 중 다른 Transaction 내 작업이 끼어들 수 없다.
    • 동시에 실행된 Transaction은 중간에 결과에 영향을 끼칠 수 없다.
  • Durability(지속성)
    • Transaction이 성공하면 데이터베이스 변경사항은 시스템이 고장 나더라도 영구적으로 반영되야 한다.
728x90
반응형

'Database' 카테고리의 다른 글

MariaDB 설치  (0) 2023.01.09
Stored Procedure  (0) 2022.01.02
Normalization vs Denormalization  (0) 2021.11.16
DBMS vs RDBMS  (0) 2021.11.02
Index  (0) 2021.11.01
Comments