Transaction

윤라윤·2022년 12월 20일
0
post-custom-banner

Transaction

Transaction은 처리되는 작업의 단위로, 서로 다른 Transaction들을 처리하는 도중 하나의 단위 Transaction에서 에러가 발생하면 이전에 성공했던 Transaction들을 다시 rollback시켜 데이터의 Consistency가 깨지지 않도록 해주는 것 이다.

Transaction의 사전적 정의는 누군가가 무언가를 사거나 팔때, 돈이 오고 갈 것이다. 이 때 발생하는 거래내역이다.

Transaction Process

Transaction의 속성

ACID

A(Atomicity) : 원자성 -> 안전성 보장을 위해 가져야 할 성질 중의 하나로 트랜젝션과 
						관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 
                        보장
              * 모두가 성공할 것 아니면 모두 실패하게 만드는 것(DB의 오염방지)

C(Consistency) : 일관성 -> 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것. 
			  * 똑같은 쿼리를 조회할 때마다 동일한 결과값이 나타나야하는 것
              * 수정과 삭제로 인해 결과값이 달라지는 것

I(Isolation) : 격리성 -> 트랜젝션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 
						보장하는 것
              * A 사람의 요청을 처리하는 동안 B사람의 요청은 잠시 기다리는 것
             
D(Durability) 지속성 -> 성공적으로 수행된 트랜잭션에 대한 로그가 남아야하는 설질로 런타임 
					   오류나 시스템 오류가 발생해도, 해당 기록은 영구적이여야 하는 것
               * 성공해서 커밋이 되면 서버를 다시 켜도 그 데이터는 유지되어야 하는 것
profile
개발 공부중
post-custom-banner

0개의 댓글