하나의 팩소스 그룹에서 스패너의 읽기 전용 트랜잭션을 이해합니다.스패너의 읽기 전용 트랜잭션
그러나 하나 이상의 paxos 그룹에 대한 읽기 전용 트랜잭션은 어떻게 작동합니까? 이 신문은 타임 스탬프로 TT.now().latest
을 사용하여 지정된 타임 스탬프로 스냅 샷을 읽는다고합니다. 그러나 이것이 왜 효과가 있습니까?
각 복제본에는 안전한 시간이 있습니다. 안전 시간은 복제본 내의 최종 쓰기 트랜잭션의 시간 소인입니다. asked timestamp <= safe time
인 경우 복제본이 최신입니다.
또한 타임 스탬프 (읽기 전용 트랜잭션의 두 번째 단계)로 읽은 스냅 샷은 복제본이 최신 상태가 될 때까지 기다려야 할 수도 있습니다. 읽기 트랜잭션 후에 쓰기 트랜잭션이 발생하지 않으면 어떻게됩니까? 그러면 안전한 시간이 업데이트되지 않고 읽기 트랜잭션이 영원히 차단됩니다.