Présentation de la sérialisation

Les données sont toujours exprimées, mais pas nécessairement stockées, comme les objets Java dans la grille de données. WebSphere eXtreme Scale utilise plusieurs processus Java pour sérialiser les données en convertissant les instances d'objet Java en octets, puis de nouveau en objets, si nécessaire, pour transférer les données entre les processus client et serveur.

Les données sont sérialisées, c'est-à-dire qu'elles sont converties en flux de données pour la transmission dans un réseau dans les cas suivants :

Vous pouvez également abandonner le processus de sérialisation via WebSphere eXtreme Scale et stocker les données sous forme de tableaux d'octets. Les tableaux d'octets sont beaucoup plus économiques à stocker en mémoire, car la machine JVM (Java Virtual Machine) doit rechercher moins d'objets pour récupérer de la place et ils peuvent être désérialisés lorsque cela est nécessaire. Utilisez des tableaux d'octets uniquement si vous ne devez pas accéder aux objets en utilisant des requêtes ou des index. Comme les données sont stockées sous forme d'octets, eXtreme Scale ne dispose pas de métadonnées pour décrire les attributs à interroger.

Pour sérialier les données dans eXtreme Scale, vous pouvez utiliser la sérialisation Java, le pug-in ObjectTransformer ou les plug-in DataSerializer. Pour optimiser la sérialisation avec ces options, vous pouvez utiliser le mode COPY_TO_BYTES pour améliorer les performances jusqu'à 70 %, car les données sont sérialisées lorsque les transactions sont validées, ce qui implique que la sérialisation n'a lieu qu'une seule fois. Les données sérialisées sont envoyées du client au serveur ou du serveur au serveur répliqué. En utilisant le mode COPY_TO_BYTES, vous pouvez réduire la mémoire que peut occuper un grand tableau d'objets.

Utilisez les figures suivantes pour déterminer le type de méthode de sérialisation la mieux adaptée à vos besoins de développement. La première figure décrit les méthodes de sérialisation disponibles lorsque vous exécutez la logique qui interagit avec les objets de données directement dans le fragment de grille. La dernière figure montre les options disponibles lorsque vous n'interagissez pas directement avec le fragment de grille.

Sérialisation pour l'exécution de la logique qui interagit directement avec les objets données qui se trouvent dans le fragment de grille.

Sérialisation pour l'exécution de la logique qui n'interagit pas directement avec les objets données dans le fragment de grille.

Pour plus d'informations sur les formes de sérialisation prises en charge dans le produit eXtreme Scale , voir les rubriques suivantes :