최종 일관성이란 무엇입니까?

최종 일관성은 프로그래머가 시스템을 변경하지 않고 충분히 긴 시간 동안 특정 프로그램의 현재 버전이 프로그램의 모든 복제본이 일관 될 때까지 배포 될 것이라고 가정하는 프로그래밍 모델입니다. 최종 일관성 개념은 낙관적 복제, 분산 공유 메모리 및 분산 트랜잭션과 같은 프로그래밍 방법에 사용됩니다. 데이터베이스와 관련하여 최종 일관성은 3 단계 프로세스를 통해 달성됩니다. 먼저, 분산 정보는 시스템에서 사용 가능합니다. 그 다음에는 다른 사용자가 다른 버전의 데이터로 작업 할 수있는 소프트 상태가 이어집니다. 마지막으로 일관성이 유지되고 모든 컴퓨터가 동일한 데이터에 액세스 할 수 있습니다.

최종 일관성이 적용되는 가장 눈에 띄는 방법 중 하나는 온라인으로 배포 된 소프트웨어 업데이트와 관련이 있습니다. 업데이트가 릴리스 된 후 처음 몇 초 동안 아무도 업데이트를받지 못합니다. 소프트웨어 사용자가 업데이트를 다운로드하여 설치하는 데 시간이 충분하지 않았습니다. "사용 가능한"상태입니다. 업데이트가 존재하지만 아직 배포되지 않았습니다. 시간이 지남에 따라 사용자가 업데이트를 다운로드 할 때 일부는 업데이트를 보유하고 일부는 보유하지 않을 수 있습니다. 그러나 충분한 시간이 지나면 소프트웨어를 사용하는 모든 사람이 최신 버전으로 업데이트됩니다. 이는 최종 일관성 상태의 전제입니다. 충분한 시간이 주어지면 모든 업데이트가 시스템 전체에 완전히 전파됩니다.

시스템이 최종 일관성을 유지하기 위해 충돌이 불가피합니다. 이러한 문제는 현재 컴퓨터에있는 프로그램 버전이나 정보가 프로그램의 "모델 버전"과 일치하지 않을 때 발생합니다. 프로그램은 일반적으로 그러한 충돌을 인식하고 관리하도록 설정됩니다. 특정 컴퓨터의 파일이 문제가있는 소프트웨어 또는 데이터의 최신 모델 버전보다 오래된 경우 시스템은 일반적으로 불일치를 해결하기 위해 업데이트를 시작하라는 메시지를 표시합니다.

이러한 해결 방법에 영향을 미치는 세 가지 가능한 방법은 쓰기 복구, 읽기 복구 및 비동기 복구입니다. 이 방법들은 모두 프로그램 버전이나 데이터를 일관된 모델과 일치시킵니다. 이들 사이의 주요 차이점은 시스템이 수리 작업을 수행하는 방식과 관련이 있습니다. 이러한 모든 작업에는 장점과 단점이 있습니다.

쓰기 복구에서는 컴퓨터가 시스템의 하드 드라이브에 이미 무언가를 쓰고있을 때 쓰기 작업 중에 컴퓨터에 저장된 코드가 변경됩니다. 이렇게하면 불일치가 수정되어 프로그램이나 데이터가 모델과 일치하지만 원래 쓰기 작업이 일시적으로 느려집니다. 읽기 복구의 경우 하드 드라이브에서 읽기주기 동안 수정 작업이 수행됩니다. 결과적으로 읽기 작업이 느려집니다. 비동기 복구에서는 읽기 또는 쓰기 작업이 수행되지 않으면 복구가 수행되어 CPU에서 유휴주기가 소비됩니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?