문서 작업하면서 트랜잭션 때문에 고생했다..
대충대충 알던 개념을 자세하게 조사하자니 힘들었다ㅎ...
1. 트랜잭션(Transaction)
- 데이터베이스의 상태를 변환시키는 하나의 논리적인 기능을 수행하는 작업의 단위
- 한번에 모두 수행되어야 하는 연산들
2. 트랜잭션 성질(ACID)
성질 | 설명 |
원자성 (Atomicity) | 트랜잭션에 포함된 작업은 전부 수행되거나 전부 수행되서는 안된다. (all or nothing) |
일관성 (Consistency) | 트랜잭션을 수행하기 전이나 수행 후나 데이터베이스는 항상 일관된 상태를 유지해야 한다. |
고립성 (Isolation) | 트랜잭션 수행 중 다른 트랜잭션으로 인해 변경 중인 데이터 값을 훼손하는 일은 없어야 한다. |
지속성 (Durability) | 수행을 완료한 트랜잭션은 변경한 데이터를 영구히 저장한다. |
3. Commit과 Rollback
Commit | 트랜잭션에 대한 작업이 성공적으로 끝난 후 해당 트랜잭션이 행한 갱신 연산이 완료 되었음을 알려주는 작업 |
Rollback | 트랜잭션 처리가 비정상적으로 종료되는 등 일관성이 맞지 않을 때, 작업의 일부가 정상적으로 처리가 되었어도 원자성 구현을 위해 모든 연산을 취소하는 작업 |
'데이터베이스' 카테고리의 다른 글
관계 데이터 모델의 개념 (0) | 2020.05.31 |
---|---|
1. 데이터베이스의 개념 (0) | 2020.05.31 |
[Database] RDBMS, NoSQL, In-memory Database (0) | 2020.03.10 |
[MySQL] time zone 변경 (0) | 2020.02.23 |
[Database] DML(Data Manipulation Language) (0) | 2020.02.22 |