ASP.NET - Comment gérer les données relationnelles dans un cache distribué

Par Iqbal Khan

Le Microsoft .NET Framework est devenu populaire pour le développement d'une gamme d'applications à transactions élevées, notamment le Web, l'architecture orientée services (SOA), le calcul haute performance ou le calcul en grille et le cloud computing. Toutes ces architectures applicatives sont évolutives. Mais un goulot d'étranglement majeur se produit dans le stockage des données, normalement une base de données relationnelle, qui n'est pas en mesure d'évoluer et de gérer la charge de transaction accrue que le niveau application peut.

Par conséquent, la mise en cache distribuée devient très populaire car elle vous permet de mettre en cache des données dans un cache en mémoire beaucoup plus rapide d'accès que n'importe quelle base de données. De plus, la mise en cache distribuée offre une évolutivité linéaire sur plusieurs serveurs de cache. Avec l'évolutivité linéaire, vous pouvez ajouter plus de serveurs de cache au cluster de cache distribué si vous devez gérer une charge de transaction plus importante. Le gain supplémentaire de capacité transactionnelle ne diminue pas à mesure que vous ajoutez des serveurs (il s'agit d'une ligne droite dans un graphique XY où X est le nombre de serveurs de cache et Y est la capacité de transaction). La figure 1 montre comment la mise en cache distribuée s'intègre dans une application ASP.NET ou Windows Communication Foundation (WCF) typique et comment elle offre une évolutivité linéaire.

Lire l'article complet

Dans cet article, j'expliquerai comment les développeurs doivent gérer les relations entre les données lors de la mise en cache de leurs données.

Bien que la mise en cache distribuée soit une excellente solution, elle présente un défi : comment mettre en cache des données relationnelles qui ont diverses relations entre les éléments de données. En effet, un cache distribué vous fournit une interface simple de type table de hachage (clé, valeur) où la « clé » identifie de manière unique un élément mis en cache et la « valeur » est vos données ou votre objet. Cependant, votre application possède probablement un modèle objet de domaine complexe avec héritage, agrégation et autres types de relations.

De plus, un cache distribué stocke séparément les éléments individuels mis en cache, ce qui est différent de la base de données dans laquelle vous avez des relations entre différentes tables. Habituellement, il n’existe aucune relation entre les différents éléments mis en cache dans un cache distribué typique. Cela pose un défi aux développeurs d'applications .NET. En d’autres termes, vous êtes confronté au défi de suivre une grande partie des informations sur les relations dans votre application pour vous assurer que vous pouvez gérer correctement les relations dans le cache, tout en tirant parti de la mise en cache distribuée.

Lire l'article complet
© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.