Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Eventual consistency

From noriwiki


개요

Eventual Consistency란, 데이터베이스에 새로운 업데이트가 없으면 분산된 데이터 베이스 환경에서 결국 최적적으로 마지막 업데이트된 쿼리가 나오는 것을 보장하는 것을 말한다. 즉 데이터 베이스의 노드들이 서로 동기화 하여 결국에는 모두 동기화가 완료되기 때문에 요청에 대한 답이 수렴하게 설계하는 방법론을 말한다. 즉 어떠한 시점에서 하나의 쿼리에 대한 리턴은 처음에는 서로 각기 다른 답을 낼 수 있지만 결국에는 수렴하여 같은 답을 내게 됨을 말한다.

ACID모델과 비교하여, Eventual Consistency는 write-write conflicts (commite되지 않은 데이터가 덮여 써지는 오류)가 존재하지 않는 환경, 그리고 업데이트가 적고 많은 reader가 있는 환경에서 유리하다. 예를 들어 DNS와 같은 경우에는 Authority들만이 Update를 할 수 있으며, 또한 update가 적지만 Query는 그에 비해서 매우 많기 때문에 Eventual Consistency를 적용하기 좋은 환경이라고 할 수 있다.

Eventual Consistency는 BASE시멘틱을 제공한다고 볼 수 있다. 또한 Eventual Consistency는 많은 변종을 가지고 있다. 예를 들어서 Monotonic read consistency, monotonic write consistency, read-your-writes consistency, session consistency와 같은 것들이 있다.

Contents