트랜잭션

Eunkyung·2022년 10월 31일
0

DB

목록 보기
3/3

트랜잭션의 개념

데이터베이스는 다수의 사용자가 동시에 사용하더라도 항상 정확한 데이터를 유지해야 하며, 장애 발생 시 빠른 시간 내에 원상태로 복구할 수 있어야 한다.
트랜잭션은 하나의 작업을 수행하는 데 필요한 데이터베이스의 연산들을 모아놓은 것으로, 데이터베이스에서 논리적인 작업의 단위이며, 장애 발생 시 데이터를 복구하는 작업의 단위이기도 하다. (ex. 계좌이체)

트랜잭션의 특성 ACID

트랜잭션이 성공적으로 처리되어 데이터베이스의 무결성과 일관성이 보장되려면 네 가지 특성을 꼭 만족해야 한다.
1. 원자성 (atomicity)
트랜잭션을 구성하는 연산들이 모두 정상적으로 실행되거나 하나도 실행되지 않아야 한다.
2. 일관성 (consistency)
트랜잭션이 성공적으로 수행된 후에도 데이터베이스가 일관된 상태를 유지해야 한다.
3. 격리성 (isolation)
현재 수행 중인 트랜잭션이 완료될 때까지 트랜잭션이 생성한 중간 연산 결과에 다른 트랜잭션들이 접근할 수 없다.
4. 지속성 (durability)
트랜잭션이 성공적으로 완료된 후 데이터베이스에 반영한 수행 결과는 어떠한 경우에도 손실되지 않고 영구적이어야 한다.

트랜잭션의 연산

트랜잭션에는 작업 완료를 의미하는 commit 연산과 작업 취소를 의미하는 rollback 연산이 있다.
commit 연산이 실행된 후 트랜잭션의 수행 결과가 데이터베이스에 반영되어 데이터베이스가 일관된 상태를 지속적으로 유지하게 된다.
rollback 연산이 실행되면 트랜잭션이 지금까지 실행한 연산의 결과가 취소되고 트랜잭션이 수행되기 전의 상태로 돌아간다.

출처
  • 데이터베이스 개론 - 김연희 지음
profile
꾸준히 하자

0개의 댓글