커밋 시점의 검증
트랜잭션은 자신이 읽거나 쓴 레코드를 스레드별로 추적한다. 커밋 과정에서 읽은 자료가 유효한지 검사하고, 검증에 실패하면 중단하는 방식으로 동시 실행의 정확성을 유지한다.
읽기의 공유 쓰기 회피
읽기만 한 레코드에 공유 메모리 쓰기를 남기지 않도록 구성한 점이 핵심이다. 중앙에서 모든 트랜잭션 식별자를 할당하는 경합도 피하려는 설계를 사용한다.
실행 순서와 복구
공유 상태의 수정을 줄이더라도 장애 복구 뒤 트랜잭션 순서를 지켜야 한다. Silo는 주기적으로 갱신하는 에포크를 커밋 프로토콜 및 로깅과 연결해 이 문제를 다뤘다.
관련 문서
데이터베이스 트랜잭션 / Masstree / 병렬 컴퓨팅 / 스레드 (컴퓨팅) / CPU 캐시 / 데이터베이스