무엇을 막느냐로 단계를 푸는 결
격리 수준은 동시에 도는 트랜잭션이 서로를 얼마나 안 보게 막느냐의 단계로 이해합니다. 가장 낮은 단계는 아직 확정 안 된 남의 변경까지 보여 잘못된 값을 읽을 수 있습니다. 한 단계 올리면 확정된 것만 보게 그건 막힙니다. 더 올리면 같은 걸 두 번 읽을 때 값이 안 바뀌게 막고, 가장 높은 단계는 없던 행이 갑자기 끼어드는 것까지 막습니다. 즉 단계마다 막는 이상 현상이 하나씩 더 늘어납니다. 대신 엄격할수록 동시에 못 도는 구간이 늘어 처리량이 떨어지는 대가가 있습니다. 그래서 현실에선 가장 높은 단계를 기본으로 쓰기보다, 확정된 것만 보는 정도를 기본으로 두고 꼭 필요한 거래만 더 엄격하게 가는 경우가 많다고 이해합니다. 무턱대고 안전한 쪽이 아니라 이 거래가 어떤 어긋남을 못 견디는지로 단계를 고르는 게 핵심이라고 봅니다.