낙관적 잠금(optimistic lock)은 자주 경합되지 않을 것을 가정하고, 최대한 잠금을 나중에 하는 것을 의미한다. 


사용자가 A 트랜잭션에서 데이터를 수정했는데 B 트랜잭션에서 그 데이터가 변경되었다는 것을 트랜잭션에서 알면 사용자는 수동으로 작업을 진행한다.


일래스틱서치는 낙관적 잠금을 지원하며, 낙관적 잠금은 타임스탬프로 구현되어 있다.

http://knight76.tistory.com/entry/elasticsearch-%EB%82%99%EA%B4%80%EC%A0%81-%EB%8F%99%EC%8B%9C-%EC%A0%9C%EC%96%B4-optimistic-concurrency-control



레디스도 낙관적 잠금을 지원한다. WATCH 커맨드를 사용하여, 지켜볼 키가 변경되는지 안되는지 를 확인할 수 있다. 

http://redis.io/topics/transactions


Posted by '김용환'

댓글을 달아 주세요