트랜잭션(Transaction)

이정아·2022년 1월 30일
0

Database

목록 보기
2/5
post-thumbnail

트랜잭션이란?

  • 쪼개질 수 없는 업무 처리의 단위를 의미합니다.
  • 트랜잭션을 처리 중 오류가 발생하면 모든 작업을 원상태로 되돌립니다.

1. 트랜잭션을 처리하기 위한 명령어

커밋 commit

  • 모든 부분 작업이 정상적으로 완료하면 변경사항을 한꺼번에 db에 반영합니다.

롤백 rollback

  • 부분 작업이 실패하면 트랜잭션 실행 전으로 되돌립니다.

모든 연산을 취소하지 않고 정해진 부분까지만 되돌리고 싶을 땐?

savepoint

  • 특정 부분에서 트랜잭션을 취소할 수 있습니다.

  • 취소하려는 지점을 SAVEPOINT로 명시합니다.

  • ROLLBACK TO 세이브포인트이름; 을 실행하면 지정한 해당 SAVEPOINT 지점까지 처리한 작업이 ROLLBACK 됩니다.

  • SAVEPOINT를 지정하는 방법

SAVEPOINT 세이브포인트이름;
  • ROLLBACK 형태 :
ROLLBACK TO 세이브포인트이름;

2. 특징

ACID (Atomicity, Consistency, Isolation, Durability)

db 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 특징

  • 원자성(Atomicity) : 트랜잭션이 DB에 모두 반영되거나, 혹은 전혀 반영되지 않아야 합니다.

  • 일관성(Consistency) : 트랜잭션의 작업 처리 결과는 항상 일관성이 있어야 합니다.

  • 독립성(Isolation) : 둘 이상의 트랜잭션이 동시에 병행 실행되고 있을 때, 어떤 트랜잭션도 다른 트랜잭션 연산에 끼어들 수 없습니다.

  • 영속성(Durability) : 트랜잭션이 성공적으로 완료 되었으면 결과는 영구적으로 반영되어야 다.

0개의 댓글

관련 채용 정보