본문 바로가기
* Computer Science/Database

[DB, SQLD] 트랜잭션(Transaction) 개념? 일상 사례로 한 번에 이해하기

by codinguser 2021. 9. 21.

트랜잭션(Transaction) 개념을 알려면 기본적으로 DML이라는 것을 알아야 한다.

얼마 어렵지 않으니 가볍게 읽어 보는것을 추천한다.

 

 

 

[DB, SQLD] 데이터베이스 SQL 명령문 유형

SQL 명령문 유형은 크게 4가지가 있다. DDL, DML, DCL ,TCL 1. DDL(Database Definition Language) "테이블"의 관점에서 정의(테이블(생성, 변경, 제거))" Ex) CREATE, ALTER, DROP, RENAME 2. DML(Database M..

codinglevelup.tistory.com

 

 

정리하자면 DML이란?

 

SQL 명령문장문에서 테이블안에 있는

데이터들의 관점에서 조작(=변경)이 일어나는 단위이다.

 

 

트랜잭션(Transaction)개념


DML 명령어의 작업단위

 

 

이것이 트랜잭션의 개념이다.

무슨소리일까? 아래의 사례를 통해 살펴보자

 

 

 

 

일상사례로 살펴보기


[DB, SQLD] 트랜잭션(Transaction) 개념?
트랜잭션

위의 그림은 A가 B에게 돈을 이체 할 때 하나의 트랜잭션에 들어가는 4개의 문장이다.

즉 이런 일련의 작업 단위들을(Seelct문, Update문 등..) 일어나는 과정들을 묶어서 트랜잭션이라고 말을 한다.

 

위 사례를 통해서 알 수 있는 트랜잭션의 특징은 아래와 같다.

 

 

 

트랜잭션의 특징


1. Atom(원자성 = All or Nothing) : 위의 사례에서 4개의 명령어가 모두 처리되거나 아니면 하나도 처리되지 않아야 한다.

2. Consistency(일관성) : 일관성 있는 통일이 되어야 하지 않을까?

3. Isolation(독립성) : 상대방의 갱신을 못 봐야 한다.(계좌를 생각하면 쉽다.)

    ㄴ> Lock 정책

4. Durability(지속성) : 영구적으로 보관되어야 하지 않겠는가?

 

ACID, 외우기 보다는 하나의 사례 즉, 계좌를 통해 생각하면 매우 쉬운 특징이다.

 

댓글