다음을 통해 공유


데이터 일관성

일관성 있는 데이터는 네트워크 전체에서 동일한 데이터입니다. 즉, 데이터가 일관성이 있으면 서버와 모든 클라이언트의 데이터가 동기화됩니다. 데이터 일관성을 제공하는 소프트웨어 시스템의 한 가지 유형은 RCS(수정 제어 시스템)입니다. 이러한 시스템은 일반적으로 매우 간단하며 한 번에 한 명의 사용자만 지정된 파일을 수정할 수 있습니다. 다른 사용자는 파일을 읽을 수 있지만 변경할 수는 없습니다.

파일을 변경할 수 있는 사용자는 파일을 체크 아웃했다고 합니다. 그런 다음, 사용자는 다른 사용자가 변경 내용을 볼 수 있도록 수정된 파일을 체크 인합니다. 사용자가 파일을 다시 체크 인한 후에만 다른 사용자가 체크 아웃할 수 있습니다.

RCS가 유용한 방식으로 작동하려면 사용자의 적극적인 작업이 필요합니다. 네트워크에서 작동하는 파일 시스템은 문제를 자동으로 처리해야 합니다.

한 번에 한 클라이언트에서 하나의 스레드가 네트워크를 통해 파일에 액세스하는 경우에는 일관된 데이터의 로컬 캐싱을 제공하는 것이 매우 간단합니다. 그러나 대부분의 경우 하나 이상의 컴퓨터에서 여러 개의 다른 스레드가 동일한 파일을 읽을 수 있습니다. 이 상황도 여전히 매우 간단합니다. 파일의 데이터는 정적이기 때문에 각 클라이언트 컴퓨터는 데이터 일관성에 영향을 주지 않고 자체 로컬 복사본을 가질 수 있습니다.

보다 일반적인 상황은 하나의 스레드는 파일을 수정하고 다른 많은 스레드는 파일을 읽는 경우입니다. 쓰기 작업이 발생하는 순간 해당 파일의 모든 로컬 캐시가 사용되지 않습니다. 서버는 각 클라이언트에 캐시를 중단하도록 알려야 합니다. 파일에 대한 모든 후속 읽기 작업은 네트워크를 통해 수행되어야 합니다.

또 다른 일반적인 상황에서는 하나 이상의 네트워크 클라이언트에 있는 여러 스레드가 동일한 파일에 쓰려고 할 수 있습니다. 이 상황은 여러 RCS 사용자가 모두 동일한 파일을 변경하려는 상황과 비슷합니다. 각 사용자는 순서대로 파일을 체크 아웃하고 변경한 다음, 파일을 다시 체크 인해야 합니다. 마찬가지로 로컬 캐싱 체계에서 서버는 파일 쓰기 권한을 한 번에 하나의 클라이언트 스레드에 전달해야 합니다.