[DB] Transaction

kjihye0340·2021년 5월 14일
0

db

목록 보기
4/4

Transaction

데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위
데이터 질의어(SELECT, INSERT, DELETE, UPDATE)를 이용해 데이터베이스에 접근

작업 단위 != 질의어 한 문장
질의어 여러 문장이 하나의 작업이 될 수 있음

Commit 호출 -> 트랜잭션 종료
Rollback 호출 -> 트랜잭션 취소

트랜잭션의 4가지 특징(ACID)

원자성, 일관성, 독립성, 지속성이 있다.

원자성(atomicity)

  • 트랜잭션은 분해가 불가능한 최소의 단위인 하나의 원자처럼 동작한다는 의미
  • 트랜잭션의 작업들이 모두 수행되거나 전혀 수행되지 않아야 함
  • 부분적으로 수행되면 전부 반영x

일관성(consistency)

  • 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 함
  • 트랜잭션 작업 처리 전과 후 모두 일관성을 가지고 있어야 함
  • 트랜잭션 진행 도중에 데이터베이스가 변경되어도 변경되기 전 기준으로 트랜잭션 진행

독립성(isolation)

  • 트랜잭션 작업 수행 중에 다른 트랜잭션에 영향을 주어선 안되며, 간섭을 받아서도 안됨

지속성(durability)

  • 트랜잭션이 성공적으로 완료됐을 경우, 결과는 영구적으로 반영되어야 함
  • 데이터베이스 로그를 이용하여, 장애가 발생하면 해당 로그를 사용해 장애 발생 전으로 복원하는 것으로 지속성 실현

출처
https://mommoo.tistory.com/62
https://pjh3749.tistory.com/225
https://covenant.tistory.com/85

0개의 댓글