コンピュータサイエンスにおいて、シャドウ ページングは、データベース システムに原子性と耐久性( ACID特性の 2 つ)を提供する技術です。この文脈におけるページとは、通常は 1 ~ 64 KiB程度の物理ストレージ (おそらくハード ディスク上 )の単位を指します。
シャドウ ページングは、ページのインプレース更新を回避するためのコピー オン ライト手法です。代わりに、ページを変更するときにシャドウ ページが割り当てられます。シャドウ ページには参照 (ディスク上の他のページからの参照) がないため、一貫性の制約などを気にすることなく自由に変更できます。ページが永続的になる準備ができたら、元のページを参照していたすべてのページが更新され、代わりに新しい置換ページを参照します。ページは準備ができたときにのみ「アクティブ化」されるため、アトミックです。
参照ページもシャドウ ページングで更新する必要がある場合、この手順は何度も再帰的に実行される可能性があり、コストがかなり高くなります。Write Anywhere File Layout (WAFL) ファイル システムで採用されている 1 つの解決策は、ページの永続化を怠ることです (つまり、write-behind キャッシュ)。これにより、コミット待ち時間が長くなるという代償を払って、参照階層の上位にあるホットスポット (ファイル システム スーパーブロックなど) への多数の書き込みを回避することで、パフォーマンスが大幅に向上します。[1]
先行書き込みログは、インプレース更新を使用するより一般的なソリューションです。[引用が必要]
シャドウ ページングは、メインフレーム データベース システムで使用される古いマスター - 新しいマスターバッチ処理手法に似ています。これらのシステムでは、各バッチ実行の出力 (おそらく 1 日の作業) が 2 つの別々のディスクまたはその他の形式のストレージ メディアに書き込まれました。1 つはバックアップ用に保持され、もう 1 つは翌日の作業の開始点として使用されました。
シャドウ ページングは、インプレース更新が回避されるという点で、 純粋に機能的なデータ構造に似ています。
参考文献
- ^ 「NFS ファイル サーバー アプライアンスのファイル システム設計」(PDF) 1994 年. 2019 年11 月 1 日に閲覧。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です
