La plupart du temps, WebSphere eXtreme Scale est
utilisé en tant que cache partagé permettant un accès transactionnel aux données de
plusieurs composants là où une base de données classique aurait été nécessaire. Avec le cache partagé, il n'est plus nécessaire de configurer une base de données.
Cohérence de la mémoire cache
Le cache est cohérent car tous les clients y voient les mêmes données. Chaque donnée est stockée dans le cache sur un seul serveur
ce qui permet d'éviter la coexistence de plusieurs copies d'enregistrements risquant de contenir des versions différentes des données. Un cache cohérent contient un nombre croissant de données au fur et à mesure que l'on ajoute des serveurs à la grille et le cache évolue de manière linéaire au fur et à mesure que la taille de la grille augmente. Comme les clients accèdent aux données de cette grille de données avec des appels de procédure distante, cette mémoire est également appelée cache distant ou éloigné.
Grâce au partitionnement des données, chaque processus contient un sous-ensemble
unique de données. Les grandes grilles peuvent contenir davantage de données et traiter plus de demandes pour ces données. Par ailleurs la cohérence évite d'avoir à envoyer les données d'invalidation autour de la grille de données, car aucune donnée périmée n'existe. Le cache cohérent contient uniquement la copie la plus récente
de chaque donnée.
Si vous exécutez un environnement
WebSphere
Application Server,
le plug-in TranPropListener est aussi disponible. Il utilise
le composant de haute disponibilité (gestionnaire HA) de
WebSphere
Application Server pour propager
les modifications à chaque instance de cache ObjectGrid homologue.
Cache local
Lorsqu'
eXtreme Scale est
utilisé dans le cadre d'une topologie répartie, les clients peuvent éventuellement disposer d'un
cache local en ligne. L'on appelle cache local ce cache facultatif. Il s'agit d'un ObjectGrid indépendant, présent sur chaque client
et faisant office de cache du cache distant côté serveur. Il est activé par défaut lorsque le
verrouillage est configuré sur OPTIMISTIC ou sur NONE. Son utilisation est impossible lorsque
le verrouillage est configuré sur PESSIMISTIC.
Le cache local
est très rapide car il offre un accès en mémoire à un sous-ensemble des données stockées
à distance sur les serveurs
eXtreme Scale.
Il n'est pas partitionné et contient des données provenant de n'importe quelle partition
eXtreme Scale distante.
Jusqu'à trois groupes de caches peuvent exister dans
WebSphere eXtreme Scale :
- Le cache du groupe des transactions contient toutes les modifications apportées à une même transaction.
Il contient une copie de travail des données jusqu'à ce que la transaction soit validée. Lorsqu'une transaction client demande des données à une
ObjectMap, la transaction est vérifiée en priorité.
- Le cache local du groupe des clients contient un sous-ensemble des données du groupe des serveurs. Lorsque le groupe des transactions ne contient pas les données, les données sont extraites du niveau client, si elles sont disponibles et insérées dans le cache des transactions.
- La grille de données dans le groupe des serveurs contient la majorité des données et elle est partagée entre tous les clients. Le groupe des serveurs peut être partitionné,
ce qui permet la mise en cache d'un grand nombre de données. Lorsque le cache local ne contient pas de données, celles-ci sont extraites du groupe des serveurs
et insérées dans le cache du client. Le groupe des serveurs peut aussi avoir
un plug-in Loader. Lorsque la grille ne contient pas les données demandées,
le chargeur est appelé et les données résultantes sont insérées dans la grille à partir
du magasin de données dorsal.
Pour désactiver le cache local, donnez la valeur 0 à l'attribut
numberOfBuckets dans la configuration du descripteur eXtreme Scale des
remplacements par le client.
Pour plus d'informations sur les stratégies de verrouillage dans eXtreme Scale,
consultez la rubrique relative au verrouillage des entrées de mappe.
Le cache local peut également être configuré de façon à utiliser d'autres règles
d'expulsion et des plug-in différents qui utilisent une configuration de descripteur eXtreme Scale des remplacements par les clients.
Avantage
- Rapidité du temps de réponse, car tous les accès aux données se font localement La recherche de données dans le cache local évite de consulter la grille des serveurs et rend les données distantes accessibles localement.
Inconvénients
- Augmentation de la durée des données obsolètes, car le cache local à chaque niveau est peut-être désynchronisé avec les données en cours dans la grille de données.
- Basé sur un expulseur pour invalider les données afin d'éviter de manquer de mémoire.
Utilisation
A utiliser lorsque le temps de réponse est élevé
et que la présence de données périmées est tolérée.