ローカルバッファの同期化 

テーブルバッファは、システム内の各アプリケーションサーバ上にローカルで存在します。このためバッファ管理では、あるサーバのバッファ内のオブジェクトに加えられた変更すべてを、システムの全アプリケーションサーバに転送する必要があります。

バッファリング対象テーブルが変更されると、変更が行なわれたアプリケーションサーバのバッファ内で同期的に更新されます。ネットワーク全体のバッファ、すなわち他のすべてのアプリケーションサーバのバッファは、非同期手順に従って同期化されます。

バッファリング対象となるテーブルに変更があるたびに、中央のデ タベーステーブル( DDLOG )にエントリが書き込まれます。各アプリケーションサーバは一定の間隔でこれらのエントリを読み込みます。

各サーバによってバッファリングされたデータの変更を示すエントリが見つかると、そのデータは無効化されます。そのデータに再びアクセスがあるときは、データベースから直接読み込まれます。この場合のアクセスでは、テーブルをバッファに再びロードすることができます。

テーブルが頻繁にバッファにロードされて無効化がすぐに行われないように、テーブルをバッファに再ロードできるのは、無効化後に一定の待ち時間が経過した後になります。

同期方式 (1 つのサーバのバッファ内データが変更されるたびにネットワークがただちに他の全サーバに報告する方式 ) と比べたときのこの方式のメリットは、ネットワークに対する負荷が最小限に抑えられることです。バッファが毎回の変更後に同期化される場合は、各サーバはバッファリングされたテーブルへの各変更をネットワークを使用して他のすべてのサーバに報告します。これにより、パフォーマンスに悪い影響が出ます。

またデメリットは、次の同期化までの間はデータが最新とならない点です。

非同期バッファ同期方式の場合は、テーブルのバッファリングの設定時に、以下の点に注意してください。

デフォルト設定では、バッファ同期化はシステムプロファイルで有効化されます。アプリケーションサーバが 1 台だけのセントラルシステムでは、バッファの同期化は必要ないのでスイッチをオフにしてください。

以下も参照してください。

バッファの同期化の例