Skip to content

Latest commit

 

History

History
22 lines (17 loc) · 1.25 KB

ACID&Transaction.md

File metadata and controls

22 lines (17 loc) · 1.25 KB

Transaction

  • 데이터베이스의 상태를 변환시키는 기능을 수행하기 위한 하나 이상의 쿼리를 모아 놓은 하나의 작업 단위
  • 각 트랜잭션은 묶여 있는 모든 작업을 완료해야 정상적으로 종료한 것으로 간주
  • 중간에 작업이 하나라도 실패하면 트랜잭션이 실패한 것
  • 이러한 트랜잭션은 ACID라는 특성을 가지고 있다.

ACID

  • 데이터베이스 내에서 일어나는 하나의 트랜잭션의 안전성을 보장하기 위해 필요한 성질

Atomicity (원자성)

  • 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력

Consistency (일관성)

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

Isolation (독립성)

  • 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것
  • 트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼 수 없음을 의미

Durability (지속성)

  • 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미
  • 시스템 문제, DB 일관성 체크 등을 하더라도 유지되어야 함