後書きキャッシングを使用して、バックエンドとして使用しているデータベースを更新する際に発生するオーバーヘッドを減らすことができます。
後書きキャッシングでは、Loader プラグインの更新が非同期にキューに入れられます。eXtreme Scale トランザクションをデータベース・トランザクションから分離することにより、マップの更新、挿入、および除去の、パフォーマンスを改善できます。非同期更新は、時間ベースの遅延 (例えば 5 分) またはエントリー・ベースの遅延 (例えば 1000 エントリー) 後に実行されます。
BackingMap の後書き構成により、 ローダーとマップとの間にスレッドが作成されます。次に、 ローダーは、BackingMap.setWriteBehind メソッド内の構成設定に従って、そのスレッドを通してデータ要求を委任します。eXtreme Scale トランザクション が、マップのエントリーを挿入、更新、または削除すると、これらの各レコードごとに 1 つずつ LogElement オブジェクトが 作成されます。これらのエレメントは 後書きローダーに送信され、キュー・マップと呼ばれる特別な ObjectMap 内で キューに入れられます。後書き設定が有効になっているバックアップ・マップは、それぞれ独自のキュー・マップを持っています。後書きスレッドは、キューに入れられたデータをキュー・マップから定期的に除去して、実際のバックエンド・ローダーにプッシュします。
後書きローダーは、挿入、更新、および削除 タイプの LogElement オブジェクトのみを実際のローダーに送信します。それ以外のタイプの LogElement オブジェクト (例えば、EVICT タイプ) はすべて無視されます。
後書きサポートは、eXtreme Scale をデータベースに組み込む際に使用する Loader プラグインの 拡張機能です。例えば、JPA ローダーの構成については JPA ローダーの構成 の情報を参照してください。