궁극적 일관성
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
궁극적 일관성은 분산 데이터 시스템에서 여러 복제본 간의 일관성을 유지하기 위한 개념으로, 충돌 해결과 강력한 최종 일관성(SEC)을 포함한다. 충돌 해결은 데이터 버전 교환(안티 엔트로피)과 동시 업데이트 시 최종 상태 선택(조정)으로 구성되며, "최종 작성자 우선", 사용자 지정 충돌 처리기, 타임스탬프, 벡터 시계 등을 활용한다. 조정은 읽기, 쓰기, 비동기 복구 시점에 수행될 수 있다. SEC는 동일한 업데이트 집합을 받은 노드들이 동일한 상태가 되도록 보장하며, 단조성을 통해 롤백을 방지한다. SEC는 충돌 없는 복제 데이터 유형(CRDT)을 통해 구현될 수 있다.
더 읽어볼만한 페이지
궁극적 일관성 | |
---|---|
일반 정보 | |
![]() | |
유형 | 일관성 모델 |
특징 | |
장점 | 낮은 지연 시간 높은 가용성 분할 내성 |
단점 | 읽기 일관성 보장 없음 충돌 해결 필요 |
관련 개념 | |
관련 개념 | ACID |
반대 개념 | 강한 일관성 |
사용 사례 | |
예시 | DNS 이메일 시스템 |
사용 시스템 | Amazon DynamoDB Apache Cassandra Couchbase Riak |
추가 정보 | |
참고 자료 | Vogels, W. (2009). Eventually consistent. Communications of the ACM, 52(1), 40–44. Vogels, W. (2008). Eventually Consistent. Queue, 6(6), 14–19. Terry, D. B., Theimer, M. M., Petersen, K., Demers, A. J., Spreitzer, M. J., & Hauser, C. H. (1995). Managing update conflicts in Bayou, a weakly connected replicated storage system. Proceedings of the fifteenth ACM symposium on Operating systems principles - SOSP '95, 172. Petersen, K., |
2. 충돌 해결 (Conflict Resolution)
분산 시스템에서 복제본의 일관성을 유지하기 위해서는 여러 복제본 간의 데이터 차이를 조정해야 한다. 이 과정을 조정이라고 하며, 안티 엔트로피와 함께 복제본 일관성을 보장하는 핵심 요소이다.
조정 방식은 응용 프로그램에 따라 달라지는데, "최종 작성자 우선", 사용자 지정 충돌 처리기 호출, 타임스탬프 및 벡터 시계를 이용한 동시성 감지 등의 방법이 사용된다. "최종 작성자 우선" 방식이 허용되지 않을 때는 "최초 작성자 우선" 방식을 사용하기도 한다.[11]
동시 쓰기 조정은 다음 읽기 전에 수행되어야 하며, 읽기 복구, 쓰기 복구, 비동기 복구 등의 시점에 예약될 수 있다.[3][12]
2. 1. 안티 엔트로피 (Anti-entropy)
복제본의 일관성을 보장하기 위해 시스템은 분산된 데이터의 여러 사본 간의 차이점을 조정해야 한다. 이는 다음 두 부분으로 구성된다.- 서버 간 데이터의 버전 또는 업데이트를 교환하는 것 (종종 '''안티 엔트로피'''라고 함)[10]
- 동시 업데이트가 발생했을 때 적절한 최종 상태를 선택하는 것 (이를 '''조정'''이라고 한다)
2. 2. 조정 (Reconciliation)
복제본의 일관성을 보장하기 위해 시스템은 분산 데이터의 여러 사본 간의 차이점을 조정해야 한다. 이는 서버 간 데이터의 버전 또는 업데이트를 교환하는 것('''안티 엔트로피'''[10])과 동시 업데이트가 발생했을 때 적절한 최종 상태를 선택하는 과정[1]으로 구성된다.2. 2. 1. 조정 방식
조정에 가장 적합한 접근 방식은 응용 프로그램에 따라 다르다. 널리 사용되는 접근 방식은 "최종 작성자 우선"이다.[1] 또 다른 방법은 사용자가 지정한 충돌 처리기를 호출하는 것이다.[4] 타임스탬프와 벡터 시계는 업데이트 간의 동시성을 감지하는 데 자주 사용된다. 일부 사람들은 "최종 작성자 우선"이 용납될 수 없는 상황에서 "최초 작성자 우선"을 사용한다.[11]2. 2. 2. 조정 시점
동시 쓰기의 조정은 다음 읽기 전에 수행되어야 하며, 다른 시점에 예약될 수 있다.[3][12]- 읽기 복구: 읽기에서 불일치가 발견될 때 복구를 수행한다. 읽기 작업이 느려질 수 있다.
- 쓰기 복구: 쓰기 작업 중에 복구를 수행한다. 쓰기 작업이 느려질 수 있다.
- 비동기 복구: 읽기 또는 쓰기 작업과 별개로 복구를 수행한다.
3. 강력한 최종 일관성 (Strong Eventual Consistency)
'''강력한 최종 일관성'''(Strong Eventual Consistency, SEC)은 생존성 보장(업데이트는 결국 관측됨)에 더해, 동일한 (순서가 지정되지 않은) 업데이트 집합을 수신한 두 노드가 동일한 상태가 된다는 안전성 보장을 추가한다.[13][25]
3. 1. 특징
동일한 업데이트 집합을 수신한 모든 노드는 결국 동일한 상태에 도달한다. 시스템이 단조성을 가질 경우, 애플리케이션은 롤백을 겪지 않는다. 이러한 특징을 보장하기 위한 일반적인 접근 방식은 충돌 없는 복제 데이터 유형이다.[13][25]3. 2. 구현
결국 일관성은 단지 생존성 보장(업데이트는 결국 관찰될 것임)일 뿐이지만, '''강력한 최종 일관성'''(Strong Eventual Consistency, SEC)은 동일한 (순서가 없는) 업데이트 집합을 수신한 두 노드는 동일한 상태가 될 것이라는 안전성 보장을 추가한다. 또한 시스템이 단조성을 가진다면, 애플리케이션은 롤백을 겪지 않을 것이다. SEC를 보장하는 일반적인 접근 방식은 충돌 없는 복제 데이터 유형이다.[13]참조
[1]
논문
Eventually consistent
[2]
논문
Eventually Consistent
[3]
서적
Proceedings of the fifteenth ACM symposium on Operating systems principles - SOSP '95
[4]
논문
Flexible update propagation for weakly consistent replication
[5]
논문
Base: An Acid Alternative
[6]
논문
Eventual Consistency Today: Limitations, Extensions, and Beyond
[7]
웹사이트
ACID vs. BASE: The Shifting pH of Database Transaction Processing
https://www.datavers[...]
DATAVERSITY Education, LLC
2012-03
[8]
Citation
Distributed Storage
Amazon
2013
[9]
서적
Designing data-intensive applications: the big ideas behind reliable, scalable, and maintainable systems
O'Reilly
2017
[10]
서적
Proceedings of the sixth annual ACM Symposium on Principles of distributed computing - PODC '87
[11]
웹사이트
Concurrency techniques
http://www.lhotka.ne[...]
2003
[12]
웹사이트
Let's play with Cassandra… (Part 1/3)
http://blog.octo.com[...]
OCTO Talks!
2010-06-09
[13]
논문
Conflict-free replicated data types
Springer-Verlag Berlin, Heidelberg
2011-10-10
[14]
논문
Eventually consistent
[15]
논문
Eventually Consistent
[16]
서적
Proceedings of the fifteenth ACM symposium on Operating systems principles - SOSP '95
[17]
논문
Flexible update propagation for weakly consistent replication
[18]
논문
Base: An Acid Alternative
[19]
논문
Eventual Consistency Today: Limitations, Extensions, and Beyond
[20]
웹사이트
ACID vs. BASE: The Shifting pH of Database Transaction Processing
https://www.datavers[...]
DATAVERSITY Education, LLC
2012-03
[21]
Citation
Distributed Storage
Amazon
2013
[22]
서적
Proceedings of the sixth annual ACM Symposium on Principles of distributed computing - PODC '87
[23]
웹사이트
Concurrency techniques
http://www.lhotka.ne[...]
2003
[24]
웹사이트
Let's play with Cassandra… (Part 1/3)
http://blog.octo.com[...]
OCTO Talks!
2010-06-09
[25]
논문
Conflict-free replicated data types
Springer-Verlag Berlin, Heidelberg
2011-10-10
[26]
뉴스
빅데이터는 어떻게 백업·복구 '게임의 룰'을 바꾸는가
http://www.ciokorea.[...]
CIO코리아, 한국IDG
2016-06-22
[27]
뉴스
AWS 대신 다른 클라우드를 선택할 13가지 이유
http://www.itworld.c[...]
IT월드, 한국IDG
2017-06-21
[28]
저널
Eventually consistent
[29]
저널
Eventually Consistent
[30]
서적
Proceedings of the fifteenth ACM symposium on Operating systems principles - SOSP '95
[31]
저널
Base: An Acid Alternative
[32]
저널
Eventual Consistency Today: Limitations, Extensions, and Beyond
[33]
인용
Distributed Storage
http://openlibrary.o[...]
Amazon
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com