사용자 컬럼
id, balance
id = 1, balance = 1000
애플리케이션이 직접 읽고 쓰는 현재 값입니다.
겉으로는 값 하나처럼 보이지만, 오른쪽 hidden column이 이 값의 이력을 추적하게 만듭니다.
사용자 컬럼만 보면 최신 값 하나뿐이지만, hidden column을 같이 보면 누가 이 값을 만들었는지와 어디서 더 오래된 버전을 찾아야 하는지가 드러납니다. 그래서 읽기는 필요한 시점까지 뒤로 따라갈 수 있습니다.
id = 1, balance = 1000
애플리케이션이 직접 읽고 쓰는 현재 값입니다.
겉으로는 값 하나처럼 보이지만, 오른쪽 hidden column이 이 값의 이력을 추적하게 만듭니다.
최신 버전을 만든 트랜잭션 ID입니다. 현재 값이 어느 변경 결과인지 알려 줍니다.
이전 버전으로 가는 핵심 포인터입니다. 일관성 읽기가 더 오래된 값을 원하면 이 위치부터 따라갑니다.
기본 키가 없을 때만 추가되는 내부 식별자입니다.
일관성 읽기가 지금 값이 너무 최신이라고 판단하면, 포인터를 따라 Undo 버전으로 이동해 필요한 시점의 값을 찾습니다.