データの保全性

データの保全性は、すべての共用データに関係した問題です。 データを共用するすべての当事者が、読み取りだけを行う場合、問題は生じません。しかし、1 人でもデータを更新した場合、他の当事者が読み取っている間に、そのデータは古くなる可能性があります。読み取りの保全性 が失われることの重大度は、タスクによって異なります。顧客のクレジット・カードの残高データを確認し、高額の買い物を許可するタスクでは、重大です。顧客の買い物の傾向を分析するタスクでは、それほど重大ではありません。

複数の当事者がファイルを更新する場合には、データの保全性に対するリスクが大きくなります。 2 つのタスクが同じデータ項目を更新しようとして読み取った場合、最初のタスクが行った更新は、2 番目のタスクが更新したときに失われます。これは、2 番目のタスクが、最初のタスクによる変更を反映していないデータのコピーを処理するために発生します。この、更新が失われる現象は、常に問題になります。ほとんどのシステムでは、書き込みの保全性 を適用して保護しています。

書き込みの保全性は、すべての更新を逐次化することにより確保することができます。 逐次化プロセスでは、タスクが更新を行うときにデータをロック し、ロック所有者が更新してロックを解放するまで、同一データの更新を必要とする他のタスクを遅らせます。 アップデーターだけでなく、リーダーも同じようにデータをロックすることで、読み取りの保全性を保つことができます。

ただし、ロックは遅延を暗黙指定するので、完全な読み取りの保全性は通常、オプションです。

ロックを作動させるためには、 データを使用する可能性のある全ユーザーを制御するプログラムがロックを強制しなければなりません。 制御するユーザー間での競合の発生を防止するために、データベース・マネージャー、アクセス方式、CICS®、およびオペレーティング・システムのすべてが何らかのロックを行います。 CICS は単一領域内のタスクの間で書き込みの保全性を保ち、オプションで部分的な読み取りの保全性を保ちます。 ただし、CICS は、外部ユーザーによる共用の影響は制御できません。また、保全性で実行できる共用のタイプは、ストレージ機能によって大幅に異なります。

データ保全性に関連した問題については、以下のトピックを参照してください。