[DB] 트랜잭션 정리
* 관련 기술 스택이 없습니다
![emoji](https://cdn.jsdelivr.net/npm/emoji-datasource-twitter/img/twitter/64/1f605.png)
• 트랜잭션은 데이터베이스의 상태를 변화시키는 논리적 작업 단위로, 전체가 수행되거나 전혀 수행되지 않아야 함(ALL or Nothing). 트랜잭션 연산에는 Commit(성공적 반영)과 Rollback(실패 시 원상 복구)이 있다.
• 트랜잭션의 특성(ACID)은 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 영구성(Durability)으로 구성되며, 트랜잭션 격리 수준에 따라 Read Uncommitted, Read Committed, Repeatable Read 등의 수준이 있다.
• InnoDB의 MVCC 메커니즘은 트랜잭션에 대해 데이터의 이전 버전을 유지하고 일관된 스냅샷을 제공하여 격리 수준이 높아도 Phantom Read가 발생하지 않는다.
• 트랜잭션의 주의점으로는 필요한 최소의 코드에만 적용하고 범위를 최소화하여 교착 상태를 방지하는 것이 중요하다.
![thumbnail](https://image.wanted.co.kr/optimize?src=https://static.codenary.co.kr/content_img/thumbnail/4301.png&w=480&q=95)
북마크
공유하기
신고하기