Serveurs de conteneur, partitions et fragments

Le serveur de conteneur stocke les données d'application pour la grille de données. Ces données sont généralement divisées en fractions appelées partitions qui sont hébergés sur plusieurs serveurs de conteneur. Chaque serveur de conteneur à son tour héberge un sous-ensemble de l'ensemble des données. Une machine virtuelle Java peut héberger un ou plusieurs serveurs de conteneur et chaque serveur de conteneur peut héberger plusieurs fragments.

A faire : Planifiez la taille des segments de mémoire des serveurs de conteneur qui hébergent l'ensemble de vos données. Configurez en conséquence les paramètres du segment de mémoire.
Figure 1. Serveur de conteneur
Un serveur de conteneur existe dans une machine virtuelle Java et héberge un certain nombre de fragments.
Les partitions hébergent un sous-ensemble des données dans la grille. WebSphere eXtreme Scale place automatiquement plusieurs partitions dans un serveur de conteneur unique et répartit les partitions à mesure que le nombre de serveurs de conteneur disponible augmente.
Important : Choisissez soigneusement le nombre de partitions avant le déploiement final, car ce nombre ne peut pas être modifié dynamiquement. Un mécanisme de hachage permet de localiser les partitions dans le réseau et eXtreme Scale ne peut pas hacher à nouveau l'ensemble des données après leur déploiement. En règle générale, vous pouvez surestimer le nombre de partitions
Figure 2. Partition
Les fragments sont des instances de partitions. Ils peuvent avoir un rôle primaire ou un rôle de réplique. Le fragment primaire et ses fragments réplique constituent la manifestation physique de la partition. Chaque partition contient plusieurs fragments, dont chacun héberge toutes les données contenues dans celle-ci. L'un des fragments est le fragment primaire, les autres sont les fragments réplique, c'est-à-dire des copies redondantes des données du fragment primaire. Le fragment primaire est la seule instance de partition permettant à des transactions d'écrire dans le cache. Un fragment réplique est une instance "miroir" de la partition. Il reçoit des mises à jour du fragment primaire de manière synchrone ou asynchrone. Le fragment réplique autorise uniquement les transactions à lire à partir du cache. Les répliques ne sont jamais hébergées dans le même serveur de conteneur que le fragment primaire et ne sont normalement pas hébergées sur la même machine que le fragment primaire.
Figure 3. Fragment
Un fragment contient plusieurs mappes.

Pour améliorer la disponibilité des données ou garantir la persistance, répliquez les données. La réplication augmente toutefois le coût des transactions et améliore les performances au détriment de la disponibilité. Avec eXtreme Scale, vous pouvez contrôler les coûts car les réplications synchrones et asynchrones sont prises en charge, ainsi que les modèles de réplication hybrides utilisant les deux modes de réplication. Un fragment réplique synchrone reçoit des mises à jour lors de la transaction du fragment primaire visant à garantir la cohérence des données. Un fragment réplique synchrone peut doubler le temps de réponse car la transaction doit valider le fragment primaire et le fragment réplique synchrone avant que la transaction se termine. Un fragment réplique asynchrone reçoit des mises à jour après que la transaction a validé la limitation de l'impact sur les performances, mais introduit la possibilité de perte de données car les fragments réplique asynchrones peuvent impliquer le traitement de plusieurs transactions après le fragment primaire.

Figure 4. ObjectGrid
ObjectGrid