트랜잭션
사람이 주관적으로 하나의 작업으로 지정한 sql의 묶음이자 작업 수행의 논리적 단위.
혹은 sql을 이용해 데이터베이스에 접근하고 상태를 변화시키기 위해서 수행하는 작업의 단위.
혹은 쪼갤 수 없는 업무 처리의 최소 단위라고도 합니다.
단위가 헷갈려서 적어보게 되었습니다.
예로 들면,
A은행 → B은행으로 돈을 보내기 위해 출금하고 송금한다고 가정하면,
A은행에서 돈이 출금하고 나서 B은행으로 송금하려고 하는데
갑자기 시스템이 멈추면!! 돈은 출금되었지만 송금되지 않고 증발하게 되는 대참사가 발생합니다.
트랜잭션은 이러한 상황이 일어나지 않도록 보장해주는 가장 기본적인 방법으로
출금 작업과 송금 작업을 사람이 주관적으로 하나의 작업으로 지정한 최소의 단위를 트랜잭션이라고 합니다.
데이터의 유효성을 보장해주고 트랜잭션 설계에 따라 데이터 효율을 높여 줍니다.
트랜잭션 O 트랜젝션 X 트렌잭션 X
ACID
데이터의 유효성을 보장하기 위한, 트랜잭션의 특징들의 앞글자를 딴 단어 입니다.
Atomicity(원자성) : 트렌젝션이 중간에 중단되지 않고 처음부터 끝까지 수행하는 것
Consistency(일관성) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것
Insolation(격리성) : 트렌젝션 처리 중에 간섭하지 못하도록 하는 것
Durability(지속성) : 하나의 트렉젝션이 발동하면 하드디스크에 영구히 저장되는 것
반응형
'STUDY > Python' 카테고리의 다른 글
OSI 7계층 (0) | 2022.09.20 |
---|---|
TODO 0901 (0) | 2022.09.01 |
CS간단정리 50문답(41~52) (0) | 2022.07.27 |
CS간단정리 50문답(31-40) (0) | 2022.07.26 |
Array vs Linked List (0) | 2022.07.20 |