データの一貫性
一貫性のあるデータは、ネットワーク全体で同じデータです。 つまり、データが一貫性がある場合は、サーバー上のデータとすべてのクライアントが同期されます。 データの一貫性を提供するソフトウェア システムの 1 つの種類は、リビジョン制御システム (RCS) です。 通常、このようなシステムは非常に単純であり、一度に指定されたファイルを変更できるユーザーは 1 人だけです。 他のユーザーはファイルを読み取ることができますが、変更することはできません。
ファイルを変更できるユーザーは、チェックアウトしたと言われます。その後、ユーザーは変更されたファイルをチェックインして、他のユーザーに変更が表示されるようにします。 ユーザーがファイルをチェックインし直した後にのみ、別のユーザーがファイルをチェックできます。
RCS では、ユーザーのアクティブな介入が有用な方法で動作する必要があります。 ネットワーク全体で動作するファイル システムは、問題を自動的に処理する必要があります。
一度にネットワーク経由でファイルにアクセスする 1 つのクライアントに 1 つのスレッドがある場合、一貫性のあるデータのローカル キャッシュを提供することは非常に簡単です。 ただし、ほとんどの場合、1 つ以上のコンピューター上の多くの異なるスレッドが同じファイルを読み取っている可能性があります。 この状況はまだ非常に簡単です。 ファイル内のデータは静的であるため、各クライアント コンピューターは、データの一貫性に影響を与えずに、独自のローカル コピーを持つことができます。
より一般的な状況は、1 つのスレッドがファイルを変更し、他の多くのスレッドがそれを読み取る場合です。 書き込み操作が発生した時点で、そのファイルのすべてのローカル キャッシュは古くなっています。 サーバーは、キャッシュを破棄するように各クライアントに通知する必要があります。 ファイルの後続の読み取り操作は、ネットワーク経由で実行する必要があります。
別の一般的な状況では、1 つ以上のネットワーク クライアント上の複数のスレッドが同じファイルに書き込もうとすることがあります。 この状況は、複数の RCS ユーザー全員が同じファイルに変更を加えたいと考える状況に似ています。 順番に各ユーザーは、ファイルをチェックし、変更を加え、ファイルをチェックする必要があります。 同様に、ローカル キャッシュ スキームでは、サーバーは一度に 1 つのクライアント スレッドにファイルに書き込む特権を受け取る必要があります。