반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

오늘부터 공부한다

트랜잭션이란? 본문

데이터베이스

트랜잭션이란?

1000hg 2019. 10. 7. 10:34
반응형

트랜잭션 (Transaction)이란?

데이터 베이스의 상태를 변화시키기 위해 수행해야하는 것이다.

 

간단하게는 SELECT, INSERT, DELETE, UPDATE등을 이용하여 데이터베이스를 접근 하는 것을 의미한다.

 

이들은 모두 원자성, 일관성, 지속성, 독립성의 특징을 가진다.


 

원자성(Atomicity)  : 원자성은 db에 모두 반영되던가 전혀 반영되지 않아야한다.

 

만약 트랜잭션 단위로 데이터가 처리되지 않는다면, 설계한 사람은 데이터 처리 시스템을 이해하기 힘들 뿐만 아니라, 오작동 했을시 원인을 찾기가 매우 힘들어질것이다.


 


일관성(Consistency) : 트랜잭션의 작업 처리 결과가 항상 일관성을 가져야한다.

 

트랜잭션이 진행되는 동안에 데이터베이스가 변경 되더라도 업데이트된 데이터베이스로 트랜잭션이 진행되는것이 아니라, 처음에 트랜잭션을 진행 하기 위해 참조한 데이터베이스로 진행된다. 이렇게 함으로써 각 사용자는 일관성 있는 데이터를 볼 수 있는 것이다.

 




지속성(Durability) : 트랜잭션이 성공적으로 완료시, 결과는 영구 반영되야한다.

 



독립성(Lsolation) : 어느 하나의 트랜잭션이라도 다른 트랜잭션의 연산에 끼어들 수 없다.

 

하나의 특정 트랜잭션이 완료될때까지, 다른 트랜잭션이 특정 트랜잭션의 결과를 참조할 수 없다.


트랜잭션의 Commit 연산

하나의 트랜잭션 작업을 성공하고 DB가 일관성 있는 상태일 때 트랜잭션이 끝났다고 알려주기 위해 사용하는 연산

 

=> 수행 시 수행한 트랜잭션이 로그에 저장된다.

 

트랜잭션의 RollBack 연산

 

하나의 트랜잭션 처리가 비정상적으로 종료되어 원자성이 깨진 경우,

다시 시작하거나 부분적으로만 연산 결과를 취소시킨다.

반응형

'데이터베이스' 카테고리의 다른 글

데이터베이스 정규화  (0) 2019.10.15
무결성 제약조건  (0) 2019.10.11
트랜잭션(Transaction) 내용 추가 및 기타  (0) 2019.10.08
데이터베이스 모델링  (0) 2019.10.08
2단계 Commit(Two Phase Commit)  (0) 2019.10.07