미소의 세상

트랜잭션 쉽게 이해하기 본문

SQL

트랜잭션 쉽게 이해하기

짱미소 2022. 10. 24. 14:28

* 트랜잭션(Transaction)

- 트랜잭션이란 '거래'라는 뜻으로 데이터베이스 내에서 하나의 그룹으로 처리되어야 하는 명령문들을 모아 놓은 논리적인 작업 단위이다.

- 데이터베이스 응용 프로그램은 트랜잭션들의 집합으로 정의 할 수 있다.

- 여러 단계의 처리를 하나의 처리처럼 다루는 기능이다.

- 여러 개의 명령어의 집합이 정상적으로 처리되면 정상 종료된다.

- 하나의 명령어라도 잘못되면 전체 취소된다.

- 트랜잭션을 쓰는 이유는 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구하기 위함이다.

 

 

* 트랜잭션 필요성

1. 트랜잭션은 '거래'라는 뜻으로, 은행에서 입금과 출금을 하는 그 거래를 뜻한다.

2. A 은행에서 출금하여 B은행으로 송금한다고 가정하자.

3. 송금한느 중에 알 수 없는 오류가 발생하여 A은행 계좌에서 돈이 빠져 나갔는데 B은행 계좌에 입금되지 않았다.

4. 이때, 우리는 A은행 계좌의 출금을 취소하거나, 출금된 금액만큼 B은행 계좌로 다시 송금하면 된다.

5. 하지만 이 방법은 번거롭고 더 심한 오류를 발생시킬수 있다.

6. 그래서 생각해낸 해결책이, 거래가 성공적으로 모두 끝난 후에야 이를 완전한 거래로 승인하고, 거래 도중 뭔가 오류가 발생했을 때는 이 거래를 아예 처음부터 없었던 거래로 되돌리는 것이다.

7. 이렇게 거래의 안전성을 확보하는 방법이 트랜잭션이다.

8. 데이터베이스에선 테이블에서 데이터를 읽어 온 후 다른 테이블에 데이터를 입력하거나 갱신, 삭제하는데 처리 도중 오류가 발생하면 모든 작업을 원상태로 되돌린다.

9. 데이터베이스에선 처리 과정이 모두 성공했을 때만 최종적으로 데이터베이스에 반영한다.

'SQL' 카테고리의 다른 글

오라클 CASE WHEN 예제  (0) 2022.06.03
Mybatis forEach 사용 예시  (0) 2022.06.03
Mybatis resultMap 사용하는 법  (0) 2022.06.03
프로시저의 장단점  (0) 2022.05.11
Mybatis #, $ 차이  (0) 2022.05.04
Comments