インライン・キャッシングは、データベース・バックエンドに構成することも、データベースのサイド・キャッシュとして構成することもできます。インライン・キャッシングは、データと対話するための基本手段として eXtreme Scale を
使用します。eXtreme Scale がインライン・キャッシュとして使用される場合、
アプリケーションは、Loader プラグインを使用してバックエンドと対話します。
インライン・キャッシュ
インライン・キャッシュとして
使用される場合、
WebSphere® eXtreme
Scale は Loader プラグインを使用してバックエンドと対話します。このシナリオでは、
アプリケーションが直接
eXtreme Scale API にアクセスできるため、データ・アクセスが単純化されます。キャッシュ内のデータとバックエンドのデータが確実に同期されるようにするための数種類のキャッシング・シナリオが、
eXtreme Scale においてポートされています。
次の図は、
インライン・キャッシュがアプリケーションおよびバックエンドと対話する方法を
示しています。
インライン・キャッシング・オプションにより、アプリケーションが eXtreme Scale API に直接アクセスできるようになるため、データ・アクセスが単純化されます。
WebSphere
eXtreme Scale は、以下のような複数のインライン・キャッシング・シナリオをサポートします。
リードスルー・キャッシングのシナリオ
リードスルー・キャッシュは、データ・エントリーの要求時にキーによるそのロードが暫時的に行われるスパース・キャッシュです。これが行われる場合、呼び出し元は、エントリーがどのように取り込まれるかを知る必要はありません。データが
eXtreme Scale キャッシュに見つからない場合、
eXtreme Scale は、その欠落データを Loader プラグインから取得します。このプラグインは、バックエンド・データベースからデータをロードして、そのデータをキャッシュに挿入します。
同じデータ・キーに対する後続の要求は、削除、無効化、または除去されるまでキャッシュに存在します。
ライトスルー・キャッシングのシナリオ
ライトスルー・キャッシュでは、キャッシュへの書き込みが行われるたびに、ローダーを使用してデータベースへの書き込みが同期的に行われます。このメソッドでは、バックエンドとの整合性はありますが、データベース操作が同期されるため、書き込みパフォーマンスは低下します。
キャッシュとデータベースがともに更新されるため、同じデータに対する後続の読み取りはキャッシュに残り、データベース呼び出しが回避されます。
ライトスルー・キャッシュは、多くの場合、リードスルー・キャッシュと一緒に使用されます。
後書きキャッシングのシナリオ
変更を非同期的に書き込むことにより、データベースの同期性が改善されます。後書きキャッシュまたはライト・バック・キャッシュとも呼ばれます。通常はローダーに対して同期的に書き込まれる変更は、
eXtreme Scale 内でバッファー化されてから、バックグラウンド・スレッドを使用してデータベースに書き込まれます。データベース操作をクライアント・トランザクションから除去し、データベース書き込みを圧縮できるため、書き込みパフォーマンスが著しく向上します。