マップ

マップはキーと値のペアを格納するコンテナーであり、 アプリケーションはマップを使用して、キーで索引付けされた値を保管できます。マップでは、キーまたは値の索引属性に追加できる索引がサポートされます。こうした索引が照会ランタイムによって自動的に使用され、照会を実行するのに最も効率的な方法が決定されます。

図 1. マップ
マップは、キーと値のペアを含みます。

マップ・セットは、共通の区画化アルゴリズムを持つマップの集合です。マップ内のデータは、マップ・セットに定義されたポリシーに基づいて複製されます。マップ・セットは 分散トポロジーでのみ使用され、ローカル・トポロジーでは必要ありません。

図 2. マップ・セット
マップ・セットはマップの集合を含みます。
マップ・セットには、関連のあるスキーマを含めることができます。スキーマとは、同種のオブジェクト・タイプまたはエンティティーを使用している場合に各マップ間のリレーションシップを記述したメタデータです。

WebSphere® eXtreme Scale は、ObjectMap API を使用して、シリアライズ可能な Java オブジェクトを 各マップに保管できます。スキーマはマップ全体に定義することができ、それぞれのマップが単一のタイプのオブジェクトを保持している場合に、それらのマップ内のオブジェクト間のリレーションシップを表します。マップ・オブジェクトの内容を照会するには、マップにスキーマを定義しておく必要があります。WebSphere eXtreme Scale では、 複数のマップ・スキーマを定義できます。

詳しくは、リレーションシップを含まないオブジェクトのキャッシング (ObjectMap API) または BackingMap インターフェース を参照してください。

WebSphere eXtreme Scale は、EntityManager API を 使用して、エンティティーを保管することもできます。各エンティティーは、マップに関連付けられています。エンティティー・マップ・セットの スキーマは、エンティティー記述子 XML ファイルまたはアノテーション付き Java クラスのどちらかを使用して自動的に検出されます。各エンティティーは、キー属性のセット、および非キー属性のセットを持ちます。また、他のエンティティーへのリレーションシップも持つことができます。WebSphere eXtreme Scale では、1 対 1、1 対多、多対 1、 および多対多のリレーションシップがサポートされています。各エンティティーは、マップ・セット内の単一のマップに物理的にマップされます。エンティティーにより、複数のマップにまたがる複雑なオブジェクト・グラフを簡単にアプリケーションに装備できます。分散トポロジーは、複数のエンティティー・スキーマを持つことができます。

詳しくは、オブジェクトおよびそのリレーションシップのキャッシング (EntityManager API)を参照してください。