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
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
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.
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.