クライアント・ベース JPA プリロード・ユーティリティーの概要

クライアント・ベース Java Persistence API (JPA) プリロード・ユーティリティーは、ObjectGrid に対するクライアント接続を使用して、データを eXtreme Scale バックアップ・マップにロードします。

この機能は、データベース照会の区画化が行えない場合にマップ にデータをロードする作業を簡素化します。JPA ローダーなどのローダー を使用することもでき、これはデータを並行してロードできる場合は理想的 です。

クライアント・ベース JPA プリロード・ユーティリティー は、OpenJPA または Hibernate JPA 実装のいずれかを使用して、 データベースから ObjectGrid にデータをロードすることができます。WebSphere® eXtreme Scale は データベースまたは Java Database Connectivity (JDBC) と 直接対話するわけではないため、OpenJPA または Hibernate がサポートする 任意のデータベースを使用して ObjectGrid にデータをロードできます。

図 1. ObjectGrid へのロードに JPA 実装を使用するクライアント・ローダー
クライアント・ローダー

通常、ユーザー・アプリケーションが、パーシスタンス・ユニット名、エンティティー・クラス名、およびクライアント・ローダーに対する JPA 照会を提供します。クライアント・ローダーは、パーシスタンス・ユニット名に基づいて JPA エンティティー・マネージャーを取得し、このエンティティー・マネージャーを使用して、提供されたエンティティー・クラスと JPA 照会によりデータベースからデータを照会し、最終的にデータを分散 ObjectGrid マップにロードします。この照会にマルチレベルの 関係が関与する場合、パフォーマンスを最適化するためにカスタム照会ストリングを使用 できます。オプションで、パーシスタンス・プロパティー・マップを提供し、構成されたパーシスタンス・プロパティーをオーバーライドすることができます。

クライアント・ローダー は、以下の表に示すように 2 つの異なるモードでデータをロードできます。

表 1. クライアント・ローダーのモード
モード 説明
プリロード すべてのエントリーをクリアし、バックアップ・マップにロードします。マップがエンティティー・マップの場合、ObjectGrid CascadeType.REMOVE オプションが有効になっている場合、関連するエンティティー・マップもすべてクリアされます。
再ロード JPA 照会が ObjectGrid に対して実行され、照会に一致するマップ内のエンティティーをすべて無効化します。マップがエンティティー・マップの場合、ObjectGrid CascadeType.INVALIDATE オプションが有効になっている場合、関連するエンティティー・マップもすべてクリアされます。

いずれの場合も、JPA 照会を使用して、必要なエンティティーをデータベースから選択およびロードして、それらを ObjectGrid マップに保管します。ObjectGrid マップがエンティティー・マップでない場合は、JPA エンティティーは切り離され、直接保管されます。ObjectGrid マップがエンティティー・マップである場合は、JPA エンティティーは、ObjectGrid エンティティー・タプルとして保管されます。JPA 照会を指定するか、デフォルトの照会 select o from EntityName o を使用することができます。

クライアント・ベース JPA プリロード・ユーティリティーの構成について詳しくは、クライアント・ベースの JPA ローダーの開発を参照してください。