← 질문 목록
#20깊이 0
데이터베이스 격리 수준을 높이면 전체 처리량은 어떻게 변화하는가?
동시성 제어에 드는 비용이 늘어 처리량이 깎이기 쉽다. 얼마나 깎이는지는 DB 구현과 부딪히는 빈도에 달렸다.
- 격리 수준 높음Serializable
- 격리 수준 낮음Read Uncommitted
수준이 높아질수록 강한 일관성을 보장하지만 그 값을 치른다. 잠금 방식이면 잠금 범위와 유지 시간이, MVCC면 스냅샷 관리와 충돌 검사 비용이 는다.
동시성 제어 비용이 커지기 때문이다. 높은 격리 수준일수록 더 많은 락(Lock)을 걸거나 스냅샷을 관리하는 비용이 증가한다.
트랜잭션 간의 대기 시간이 길어진다. 충돌이 잦아지면 트랜잭션이 롤백되거나 대기하는 시간이 늘어나 단위 시간당 처리량이 떨어진다.