Mappes

Une mappe est un conteneur de paires clé-valeur permettant à une application de stocker une valeur indexée par une clé. Les mappes prennent en charge les index pouvant être ajoutés pour indexer les attributs sur la clé ou sur la valeur. Ces index sont automatiquement utilisés par l'environnement d'exécution des requêtes pour déterminer le mode d'exécution des requêtes le plus efficace.

Figure 1. Mappe
Une mappe contient des paires clé-valeur.

Un groupe de mappes est une collection de mappes partageant un même algorithme de partitionnement. Les données contenues dans les mappes sont répliquées en fonction des règles définies par le groupe de mappes. Les groupes de mappes sont uniquement utilisés pour les topologies réparties. Pour les topologies locales, ils ne sont pas nécessaires.

Figure 2. Groupes de mappes
Un groupe de mappes contient une collection de mappes.
Un groupe de mappes peut être associé à un schéma. Un schéma est l'ensemble des métadonnées décrivant les relations entre différentes mappes lorsque des types d'objet ou des entités hétérogènes sont utilisés.

WebSphere eXtreme Scale peut stocker des objets Java sérialisables dans chacune des mappes utilisant l'API ObjectMap. Il est possible de définir un schéma sur les mappes pour identifier la relation entre les objets dans les mappes contenant des objets d'un seul type. Il est nécessaire de définir un schéma pour pouvoir interroger le contenu des objets de la mappe. Plusieurs schémas de mappes peuvent être définis pour WebSphere eXtreme Scale.

Pour plus d'informations, voir Mise en cache d'objets sans aucune relation impliquée (API ObjectMap) ou Interface BackingMap.

WebSphere eXtreme Scale peut également stocker des entités à l'aide de l'API EntityManager. Chaque entité est associée à une mappe. Le schéma d'un groupe de mappes d'entités est automatiquement reconnu à l'aide d'un fichier XML descripteur d'entité ou de classes Java annotées. Chaque entité est associée à un ensemble d'attributs clés et à un ensemble d'attributs non clés. Des relations peuvent aussi exister entre une entité et d'autres entités. WebSphere eXtreme Scale prend en charge les relations one-to-one, one-to-many, many-to-one et many-to-many. Chaque entité est physiquement mappée vers une seule mappe du groupe de mappes. Grâce aux entités, la présence de graphes d'objets complexes s'étendant sur plusieurs mappes est possible dans les applications. Une topologie répartie permet la coexistence de plusieurs schémas d'entités.

Pour plus d'informations, voir Mise en cache d'objets et de leurs relations (API EntityManager).