반응형
트랜잭션(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 |
댓글