ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 트랜잭션, 롤백
    SQL 2021. 10. 26. 16:57

    1.트랜잭션(Transaction)

    1-1 트랜잭션이란?

    데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하는 작업 단위

     

    1-2 특징

    연산 순서 보장

    트랜잭션 내의 모든 연산은 실행되어야 하며, 하나라도 오류가 발생할 경우 처음의 상태로 되돌림.

    동시에 많은 사용자가 트랜잭션을 실행하더라도 서로 간섭할 수 없음.

     

    1-3 목적

    데이터 베이스 완전성(integrity) 유지

    *완전성: 데이터를 보호하고, 항상 정상인 데이터를 유지하는 것.

    예시: 입금을 예로 들어보자. 트랜잭션이 보장되지 않은 상태라면 A의 계좌에서 돈을 빼는 것을 성공했지만 B의 계좌에 돈을 넣어주는 것 실패할 경우 돈이 세상에서 사라지게 된다. 하지만 트랜잭션의 완전성 덕에 트랜잭션 내의 어떤 부분이 오류가 발생할 경우 Rollback을 통해 처음 상태로 되돌린다.

     

    1-4 트랜잭션 처리과정

     

    2.롤백(Rollback)

    1-1 롤백이란?

    트랜잭션 중 오류가 발생할 경우 변경된 사항을 모두 취소하고 트랜잭션을 종료 시키는 것.

    트랜잭션이 처리되기 이전 상태로 되돌리는 것.

     

    1-2 특징

    커밋 이전까지 복구.

    비정상적으로 SQL이 종료 될 경우 자동으로 롤백 수행.

     

    1-3 롤백 처리과정

     

    사진출처:

    http://www.expertsmind.com/questions/what-are-the-various-states-of-transaction-process-30161774.aspx

    https://www.researchgate.net/figure/Flow-chart-of-rollback-recovery-using-checkpoint_fig1_224577873

    'SQL' 카테고리의 다른 글

    Oracle SQL(기초 개념)  (0) 2020.09.03
CokeWorld DevLog