본문 바로가기
기타 개념정리

트랜잭션(Transaction)이 뭔말?

by wakestand 2020. 2. 2.
반응형

트랜잭션(Transaction)이란

데이터베이스의 작업 단위를 말하는데

데이터베이스에서 select, insert, update, delete 등 각종 작업을 수행한 뒤에 

commit이나 rollback을 하면 그 전까지의 내용이 트랜잭션 하나가 되는 것이다

 

트랜잭션의 특징으로는

원자성, 일관성, 독립성, 지속성(ACID)가 있는데

각각의 특징은 다음과 같다

 

원자성(Atomicity)

- 트랜잭션이 데이터베이스에 모두 적용되거나 모두 적용되지 않아야 함

(EX:여러 쿼리를 실행 중 오류가 나면 여러 쿼리중 하나도 적용이 안됨)

 

일관성(Consistency)

- 트랜잭션 수행 중 DB가 바뀌더라도 트랜잭션은 바뀌기 전 내용을 가지고 수행

 

독립성(Isolation)

- 여러 트랜잭션이 동시에 수행되어도 한 트랜잭션이 다른 트랜잭션의 연산에 끼어들 수 없음

- 트랜잭션이 수행중이면 해당 트랜잭션 완료 전까지는 다른 트랜잭션이 참조 불가능

 

지속성(Durability)

- 트랜잭션이 수행 완료됐을 경우 결과가 무조건 적용되어야 한다

 

마지막으로 트랜잭션의 연산으로

Commit, Rollback이 있는데

수행 시에는 한 트랜잭션이 완전히 끝나고

특징은 다음과 같다

 

Commit

- 트랜잭션이 성공적으로 수행되었을 시 작업한 내용을 DB에 반영

 

Rollback

- 트랜잭션 수행 도중 실패하였을 시 트랜잭션 실행 전으로 돌아감, DB는 건드리지 않음

반응형

'기타 개념정리' 카테고리의 다른 글

그리드 텍스트 왼쪽, 가운데, 오른쪽 정렬 기준  (0) 2020.02.18
프레임워크가 뭔말?  (0) 2020.02.06
라이브러리가 뭔말?  (0) 2020.02.06
API가 뭔말?  (0) 2020.02.05
SQL이란 무엇인가?  (0) 2020.01.01

댓글