1. 트랜잭션 (Transaction)
트랜잭션이란 질의(query)를 하나로 묶음처리해서 중간에 실행이 중단 되었을 경우
처음부터 다시 실행하는 Rollback을 수행하고 오류 없이 실행을 마치면 Commit을 실행
한마디로, 작업수행의 논리적 단위이다
예를 들어 내가 친구에게 돈을 송금했는데 전송과정에서 실행이 중단되어 도착하지 못하는 상황이 생겼다
이런경우 내가 보낸 돈이 증발하는 상황이 생긴다
이러한 상황을 막기 위해서 트랜잭션에서는 Rollback 해주어 처음부터 다시 실행하게 된다
그리고 오류 없이 일이 잘 처리되면 Commit 을 한다
이것을 트랜잭션이라고한다
2. ACID
트랜잭션에는 4가지 특징이 있다
- 원자성 (Atomicity)
트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것을 말함
즉, ALL or Nothing의 개념으로서 작업 단위를 일부분만 실행하지 않는다는 것을 의미함
- 일관성 (Consistency)
트랜잭션이 성공적으로 완료되면 일관적인 DB상태를 유지하는 것을 말함
여기서 말하는 일관성이란 , 데이터 타입이 정수형(integer)인데, 갑자기 문자열(String)이 되지 않는 것을 말함
- 격리성 (Isolation)
트랜잭션 수행시 다른 트랜잭션의 작업이 끼어들지 못하도록 보장하는 것을 말함
- 지속성 (Durability)
성공적으로 수행된 트랜잭션은 영원히 반영이 되는 것을 말함
commit을 하면 현재 상태는 영원히 보장됨
데이터 병령처리하는데 있어서 부정합을 방지하는데 트랜잭션 사용은 중요하다
'개발 개념 > 이론' 카테고리의 다른 글
[개발 개념] 컨테이너 vs 가상머신 쿠버네티스 (0) | 2022.02.08 |
---|---|
[Java] 객체지향 프로그램 (다형성 , SOLID) (0) | 2022.01.14 |
[JAVA] DTO, DAO, VO 개념 (0) | 2022.01.07 |
[네트워크] HTTP 개념 (0) | 2022.01.05 |
[네트워크] 인터넷 네트워크 통신 개념 (0) | 2021.12.27 |
댓글