1. 트랜잭션이란
- a unit of work
- 일련의 작업단위
- 생명주기 : begin ~ commit
- commit : 메모리에 있던 데이터들이 disk로 flush 되는 것
- commit 이전에 crash 하면 -> rollback
- commit 도중에 crash 하면 -> rollback
- commit 은 디스크에 쓰는과정이라 느릴 수 있다
- 롤백은 메모리를 샷 없에는거라서 빠르다
- 존재하는 데이터- 하나의 스냅샷을 본다
2. atomicity
- cannot be splited
- 1개라도 실패하면 -> failure -> rollback 되어야 한다
- DB 는 트랜잭션이 crash 했는지를 알아차리고 restart 했을때 rollback 전부 해야한다
- lack of atomicity는 inconsistent 한 데이터로 이어지게 된다
댓글 없음:
댓글 쓰기