될때까지

((Transaction)) 트랜잭션 본문

학습/개념정리

((Transaction)) 트랜잭션

랖니 2022. 11. 2. 12:57
728x90

🔥 트랜잭션이란?

데이터베이스의 상태를 변화시키는 하나의 논리적인 작업 단위를 구성하는 연산들의 집합이다.
DB로 데이터 관련 요청을 날릴 때 하나 이상의 쿼리들을 하나로 모아놓은 작업 단위라고 생각하자.

 

🔥 하나의 트랜잭션은 모두 Commit 되거나 Rollback된다.

  • commit : 트랜잭션이 성공적으로 끝났을 경우 실행결과를 DB에 반영한다.
  • rollback : 트랜잭션이 실패했을 경우 DB에 반영시키지 않고 원래 상태로 되돌린다.

 

🔥 트랜잭션의 특징(ACID)

  • Atomicity(원자성) : 한 트랜잭션의 모든 연산들은 전부 성공 or 전부 실패해야한다.
  • Consistency(일관성) : 트랜잭션 전 후의 데이터베이스 상태는 똑같아야 한다. 데이터타입 등의 제약조건이 일치해야한다.
  • Isolation(독립성) : 트랜잭션을 수행하는 도중에 다른 연산작업이 끼어들 수 없다. 서로 간섭이 없어야한다.
  • Durability(지속성) : 성공적으로 수행된 트랜잭션은 기록을 남긴다. 그래서 트랜잭션을 복구할 수 있도록 한다.

 

728x90