트랜잭션(Transaction) 개념을 알려면 기본적으로 DML이라는 것을 알아야 한다.
얼마 어렵지 않으니 가볍게 읽어 보는것을 추천한다.
정리하자면 DML이란?
SQL 명령문장문에서 테이블안에 있는
데이터들의 관점에서 조작(=변경)이 일어나는 단위이다.
트랜잭션(Transaction)개념
DML 명령어의 작업단위
이것이 트랜잭션의 개념이다.
무슨소리일까? 아래의 사례를 통해 살펴보자
일상사례로 살펴보기
위의 그림은 A가 B에게 돈을 이체 할 때 하나의 트랜잭션에 들어가는 4개의 문장이다.
즉 이런 일련의 작업 단위들을(Seelct문, Update문 등..) 일어나는 과정들을 묶어서 트랜잭션이라고 말을 한다.
위 사례를 통해서 알 수 있는 트랜잭션의 특징은 아래와 같다.
트랜잭션의 특징
1. Atom(원자성 = All or Nothing) : 위의 사례에서 4개의 명령어가 모두 처리되거나 아니면 하나도 처리되지 않아야 한다.
2. Consistency(일관성) : 일관성 있는 통일이 되어야 하지 않을까?
3. Isolation(독립성) : 상대방의 갱신을 못 봐야 한다.(계좌를 생각하면 쉽다.)
ㄴ> Lock 정책
4. Durability(지속성) : 영구적으로 보관되어야 하지 않겠는가?
ACID, 외우기 보다는 하나의 사례 즉, 계좌를 통해 생각하면 매우 쉬운 특징이다.
'* Computer Science > Database' 카테고리의 다른 글
[DB, SQLD] 데이터베이스 SQL 명령문 유형 (0) | 2021.09.21 |
---|---|
[Database] 데이터베이스에서 Index란?(초간단 주의) (0) | 2021.05.27 |
댓글