Study/DB

트랜잭션(Transaction)이란?

ujam 2021. 9. 7. 21:30
728x90
반응형

트랜잭션이란?

데이터베이스의 상태들을 변경시키기 위해 수행하는 작업 단위를 뜻 합니다.

 

데이터베이스의 상태들을 변경시킨다는 의미의 작업들은

  • SELECT
  • INSERT
  • UPDATE
  • DELETE

이와 같은 행동들을 뜻 합니다.

 

 

연산

커밋(Commit)

모든 부분 작업이 정상적으로 완료되면 변경사항들을 한꺼번에 데이터베이스에 반영하여 변경합니다.

 

롤백(Rollback)

부분 작업이 실패하게 되면 트랜잭션을 실행하기 전으로 되돌립니다.

(한 부분의 트랜잭션 작업이 비정상적으로 종료되어 데이터베이스 일관성을 깨뜨렸을 때 다른 트랜잭션 작업들이 정상적으로 처리가 되었어도 트랜잭션의 원자성을 구현하기 위해서 트랜잭션이 수행한 모든 작업을 취소합니다.)

 

 

 

특징

원자성(Atomicity)

트랜잭션 작업 처리가 데이터베이스에 모두 반영 혹은 모두 반영되지 않은 것을 뜻 합니다.

 

일관성(Consistency)

트랜잭션 작업 처리 결과가 항상 일관되어야 한다는 것을 뜻 합니다.

 

독립성(Isolation)

둘 이상의 트랜잭션이 동시에 실행되는 경우 특정 트랜잭션 실행중에 다른 트랜잭션 연산이 끼어들 수 없는 것을 뜻 합니다.

 

지속성(Durablility)

성공적으로 완료된 트랜잭션의 결과는 영구적으로 결과에 반영되어야 하는 것을 뜻 합니다.

 

 

 

 

항상 부족한 부분이나 피드백할 부분을 댓글로 남겨주시면 적극적으로 수용하여 수정하겠습니다.

 

728x90
반응형

'Study > DB' 카테고리의 다른 글

RDB vs NoSQL  (0) 2021.12.15
[DB]데이터베이스 정규화란?  (0) 2021.10.06
ERD란? DB 1:1, 1:N, N:M 관계  (1) 2021.08.27
MySQL이란?  (0) 2021.08.24
ORM (Object Relational Mapping) 이란?  (0) 2021.08.11