본문으로 바로가기

[DB]Transaction

category Programming/TIL 2023. 1. 22. 17:29

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

데이터베이스에 접근하는 것과 같은 말이다.

예를 들면 게시글 작성, 게시글 리스트 불러오기 와 같은 행동 액션들인데 게시글을 post하고 다시 게시글 리스트를 get하면 이게 하나의 트랜잭션이다

트랜잭션을 개발자가 얼마나 잘하냐에 따라 통신속도가 결정될 정도로 기본적이고 이해가 중요한 부분이다.

트랜젝션의 특징

1 원자성

트랜잭션이 작동하면 모두 반영되거나 전혀 반영되지 않는 것 하나만이라도 오류가 생기면 트랜잭션 모두 취소

2 일관성

작업처리 결과가 항상 일관성이 있어야 한다.

3 독립성

둘 이상의 트랜잭션이 실행될때 도중에 다른 트랜잭션의 연산이 끼어들 수 없다.

4 지속성

성공된 트랜잭션은 시스템오류가 발생하더라도 영구적으로 반영된다.

트랜잭션의 연산

1 Commit연산

한개의 트랜잭션이 성공적으로 끝나면 연산이 완료된것을 트랜잭션 관리자에게 알려주는 연산

2 Rollback연산

트랜잭션이 비정상종료되었을때 트랜잭션의 일부가 정상적으로 처리되더라도 원자성을 구현하며 트랜잭션 모든 연산을 취소하는 연산

트랜잭션의 상태

1 활동

트랜잭션이 실행중

2 실패

트랜잭션에 오류가 발생해서 중단상태

3 철회

트랜잭션 비정상적 종료로 Rollback연산 수행상태

4 부분완료

commit 연산을 하기 전의 상태

5 완료

commit 연산을 수행한 후의 상태 - 트랜잭션이 성공적으로 완료

 

 

'Programming > TIL' 카테고리의 다른 글

[DB] DBMS RDBMS 개념, 차이  (0) 2023.01.22
Flutter 설치  (0) 2023.01.17
git | readme 생성 후 push 불가능 에러  (0) 2023.01.16
mysql 서버오류  (0) 2023.01.14
DRF | many=True 에러  (0) 2023.01.12