데이터 일관성
일관된 데이터는 네트워크에서 동일한 데이터입니다. 즉, 데이터가 일관된 경우 서버의 데이터와 모든 클라이언트가 동기화됩니다. 데이터 일관성을 제공하는 소프트웨어 시스템의 한 가지 유형은 RCS(수정 제어 시스템)입니다. 이러한 시스템은 일반적으로 매우 간단하며 한 번에 한 명의 사용자만 지정된 파일을 수정할 수 있습니다. 다른 사용자는 파일을 읽을 수 있지만 변경할 수는 없습니다.
파일을 변경할 수 있는 사용자는 파일을 체크 아웃했다고 합니다. 그러면 사용자가 수정된 파일을 확인하여 다른 사용자가 변경 내용을 볼 수 있도록 합니다. 사용자가 파일을 다시 체크 인한 후에만 다른 사용자가 체크 아웃할 수 있습니다.
RCS를 사용하려면 사용자의 적극적인 개입이 유용한 방식으로 작동해야 합니다. 네트워크에서 작동하는 파일 시스템은 문제를 자동으로 처리해야 합니다.
한 클라이언트에서 한 번에 하나의 스레드가 네트워크를 통해 파일에 액세스하는 경우 일관된 데이터의 로컬 캐싱을 제공하는 것은 매우 간단합니다. 그러나 대부분의 경우 하나 이상의 컴퓨터에서 여러 스레드가 동일한 파일을 읽고 있을 수 있습니다. 이 상황은 여전히 매우 간단합니다. 파일의 데이터는 정적이므로 각 클라이언트 컴퓨터는 데이터 일관성에 영향을 주지 않고 자체 로컬 복사본을 가질 수 있습니다.
더 일반적인 상황은 파일을 수정하는 스레드 하나와 파일을 읽는 다른 많은 스레드입니다. 쓰기 작업이 발생하는 순간 해당 파일의 모든 로컬 캐시는 사용되지 않습니다. 서버는 각 클라이언트에 캐시를 중단하도록 알려야 합니다. 파일에 대한 모든 후속 읽기 작업은 네트워크를 통해 수행해야 합니다.
또 다른 일반적인 상황에서는 하나 이상의 네트워크 클라이언트에 있는 여러 스레드가 동일한 파일에 쓰려고 할 수 있습니다. 이 상황은 여러 RCS 사용자가 모두 동일한 파일을 변경하려는 상황과 유사합니다. 순서대로 각 사용자는 파일을 체크 아웃하고 변경한 다음 파일을 다시 체크 인해야 합니다. 마찬가지로 로컬 캐싱 체계에서 서버는 한 번에 하나의 클라이언트 스레드에 파일에 쓸 수 있는 권한을 부여해야 합니다.