Partager via


Classification des données (mise en cache d'AppFabric 1.1)

Vous pouvez tirer le meilleur parti des fonctionnalités de mise en cache de Microsoft AppFabric 1.1 pour Windows Server en sélectionnant les types de données à mettre en cache dans votre application. Les données peuvent prendre des formes variées et résider à différents niveaux de votre application. La mise en cache distribuée simplifie le stockage et la récupération de divers types de données, indépendamment des limites et différences sémantiques des services.

La plupart des applications utilisent une source unique pour les instances de données. Par exemple, les données stockées dans la base de données principale d'une application requièrent un haut niveau de cohérence et d'intégrité. Aussi, diverses mesures permettent de garantir l'unicité des données. Les données du niveau intermédiaire, opérées par une logique métier, sont généralement une copie des données sources et peuvent être organisées avec d'autres éléments de données pour être utiles au niveau de la présentation. La mise en cache est adaptée à ces copies du niveau intermédiaire.

Comprendre les différents types de données aide à définir les degrés de mise en cache possibles. Comme le montre le tableau suivant, la mise en cache distribuée convient à trois types de données : données de référence, données d'activité et données de ressource.

Type de données Modalités d'accès

Référence

Accès en lecture partagé

Activité

Accès en écriture exclusif

Ressource

Accès partagé, à la fois en lecture et en écriture, par de nombreuses transactions

Données de référence

Les données de référence sont une version des données sources qui change rarement. Il s'agit soit d'une copie directe des données d'origine, soit du résultat de l'agrégation et de la transformation de plusieurs sources de données. Les données de référence sont régulièrement actualisées, la plupart du temps à des intervalles configurés ou en cas de modification des données.

Comme elles ne changent que rarement, la mise en cache leur convient parfaitement. Plutôt que de mobiliser des ressources informatiques pour réagréger et transformer les données de référence chaque fois que c'est nécessaire, ces dernières peuvent être enregistrées dans le cache et réutilisées pour les demandes suivantes. La mise en cache des données de référence de plusieurs applications ou utilisateurs sur ce modèle permet d'optimiser l'évolution et les performances d'une application.

Les horaires de vol et les catalogues sont des exemples de données de référence. Prenons le cas d'une application de catalogue qui regroupe les informations de produit de plusieurs sources d'application et de données. L'opération la plus courante sur les données du catalogue est un accès en lecture partagé : l'exploration. Une opération d'exploration du catalogue inclut l'itération, le filtrage et la personnalisation de nombreuses données de produit, puis la présentation des données sélectionnées à un grand nombre d'utilisateurs.

Comme les opérations d'exploration mobilisent une grande quantité de ressources, la mise en cache convient parfaitement à ce type de données de catalogue. Si ces données ne sont pas mises en cache, les opérations risquent de solliciter la source de données inutilement et d'affecter le temps de réponse et le débit de l'application.

La mise en cache des données au plus près de l'application peut améliorer grandement les performances et l'évolutivité de celle-ci. Dans cette optique, AppFabric propose la fonctionnalité de cache local. Pour plus d'informations, consultez la rubrique Clients de cache et cache local (mise en cache d'AppFabric 1.1)

Données d'activité

Les données d'activité sont générées dans le cadre d'une transaction commerciale par une activité en cours d'exécution. Les données proviennent de la transaction commerciale. À l'issue de la transaction, les données sont retirées de leur source en tant qu'informations d'historique ou de journal.

Les bons de commande, les états de session d'une application ou un panier d'achat en ligne sont des exemples de données d'activité. Prenons le cas des données relatives au panier d'une application d'achat en ligne. Chaque panier est associé à une session d'achat en ligne et constitue un ensemble de données individuel. Pendant la session d'achat, le panier est mis en cache et actualisé avec les produits sélectionnés. Il est visible et accessible à la transaction d'achat uniquement. Dans le cadre du règlement des achats, une fois le paiement appliqué, le panier est retiré du cache et transmis à une application de source de données chargée d'effectuer des traitements supplémentaires. Une fois la transaction commerciale traitée par cette application, les informations du panier sont enregistrées à des fins d'audit et d'historique.

Tant que la session d'achat est active, le panier reste accessible aux activités de lecture et d'écriture mais n'est pas partagé. La mise en cache distribuée convient parfaitement à l'accès exclusif aux données d'activité.

Un cache distribué stockant des données d'activité est soumis à divers impératifs d'évolution : il doit être capable de traiter plusieurs ensembles de données individuels et prendre en charge les opérations qui affectent ces ensembles. Pour garantir une évolutivité optimale de l'application, ces ensembles de données doivent être distribués dans le cluster de cache.

Comme ils ne sont pas partagés, les ensembles de données individuels peuvent être distribués dans le cache distribué et stockés sur des hôtes de cache distincts. En augmentant la taille du cache distribué de manière dynamique grâce à des hôtes de cache supplémentaires, l'application peut évoluer afin de répondre à une demande croissante.

Les fonctionnalités de mise en cache d'Mise en cache d'AppFabric permettent de créer une région pour chacun de vos ensembles de données individuels. Les régions offrent un large éventail d'opérations basées sur des balises que vous pouvez utiliser sur vos ensembles de données. Pour plus d'informations, consultez la rubrique Méthodes basées sur des balises.

AppFabric permet également de gérer les états de session des applications Web ASP.NET. Pour plus d'informations, consultez la rubrique Configuration d'un fournisseur d'état de session (XML).

Données de ressource

La mise en cache est adaptée aux données de référence (accès en lecture partagé) et aux données d'activité (accès en écriture exclusif). Toutefois, ces deux catégories ne regroupent pas toutes les données d'application. Il existe également des données partagées, accessibles à la fois en lecture et en écriture par de nombreuses transactions. Les données de ce type sont appelées données de ressource.

Les comptes d'utilisateur et les articles d'enchère sont des exemples de données de ressource. Prenons le cas d'un article d'enchère. Celui-ci inclut une description de l'article et des informations actualisées relatives à l'enchère (enchère actuelle, enchérisseur, etc.) Ces informations sont volatiles, propres à chaque enchère et utilisées par un grand nombre d'utilisateurs via des opérations de lecture et d'écriture. La logique métier est mise en cache près des données de ressource.

À des fins de suivi, les données de ressource sont souvent stockées dans des sources de données OLTP (traitement transactionnel en ligne) et mises en cache dans la couche Application pour optimiser les performances et libérer des ressources informatiques pour la ou les sources de données. Dans notre exemple, la mise en cache des données d'enchère sur un seul ordinateur peut améliorer les performances. En revanche, pour des enchères à grande échelle, un seul cache ne peut fournir l'évolutivité et la disponibilité requises. Par conséquent, certains types de données peuvent être partitionnés et répliqués dans plusieurs caches au sein du cache distribué. Toutefois, comme certains types de données sont partagés et mis à jour simultanément, il est important de conserver la cohérence du cache au sein du cluster.

Pour optimiser l'évolutivité, répartissez au maximum vos données de ressource et restreignez l'utilisation des régions. Si vous utilisez des régions, répartissez vos données dans plusieurs régions pour permettre leur distribution dans le cluster de cache.

AppFabric prend en charge les opérations d'accès concurrentiel optimiste et pessimiste. Pour plus d'informations, consultez la rubrique Modèles de concurrence (mise en cache d'AppFabric 1.1).

Voir aussi

Concepts

Diagramme de l'architecture physique de mise en cache d'AppFabric (mise en cache d'AppFabric 1.1)
Diagramme de l'architecture logique de mise en cache d'AppFabric (mise en cache d'AppFabric 1.1)

  2012-03-05