핵심 구조
읽기는 최신값을 쫓지 않고,
자기 snapshot이 허용하는 버전에서 멈춥니다.
하나의 행이 여러 버전을 남기면 쓰기 중에도 읽기는 대기하지 않습니다. 대신 각 읽기는 같은 체인을 따라가다가 자기 시작 시점에 맞는 버전을 결과로 선택합니다.
과거 버전
최신 커밋 버전
v1
100
이전 상태
v2
200
중간 버전
v3
300
현재 값
읽기 A
먼저 시작
v2에서 멈춤
200
읽기 B
나중에 시작
v3까지 보임
300
해석:
읽기 A는 v3가 생기기 전에 시작했으므로 200에서 멈추고, 읽기 B는 더 늦게 시작해 300까지 봅니다.
같은 행이라도 snapshot이 다르면 읽기 결과가 달라집니다.