2.5 Limites de la réplication de composant virtuel d’immuabilité

La persistance de l’information par l’intermédiaire d’un composant virtuel d’immuabilité requiert des mécanismes synchronisant la persistance de l’information. Différentes solutions permettent de faire cela de façon ACID.

Certains fournisseurs implémentent des mécanismes internes. Ces fournisseurs sont donc des composants virtuels d’immuabilité implémentant des mécanismes de synchronisation de l’état des duplicatas. Dans ce cas, les composants logiques n’ont pas besoin de se préoccuper de cette synchronisation. Le mécanisme en deux phases d’Oracle [18] et le coordonnateur de transactions de Microsoft [13] en sont des exemples.

Lorsque les duplicatas de dépendances d’immuabilité ne peuvent pas implémenter la synchronisation entre duplicatas, cette synchronisation doit être adressée à l’intérieur même des composants logiques.

2.5.1 Mécanismes pour la tolérance des pannes

Les composants virtuels d’immuabilité doivent être synchronisés afin de persister l’information d’une manière ACID et ce, pour tous les duplicatas d’un même composant.

Le composant logique gérant ces duplicatas doit alors intégrer un mécanisme permettant d’éviter l’utilisation d’un composant virtuel d’immuabilité, si jamais le composant n’a pas pu persister un état. Aussi, le composant logique doit pouvoir s’assurer que les composants virtuels ont conservé un état identique.

Figure 2.3 — Mécanismes de synchronisation de composants virtuels d’immuabilité

Tous ces mécanismes font partie intégrante du composant logique. Plusieurs systèmes de gestion de base de données implémentent ces mécanismes [13]. Par contre, tel que mentionné à la section 2.1, leur implémentation est hors de la portée de cet essai.

2.5.2 Limitation des composants virtuels d’immuabilité

Dans une solution logicielle, plusieurs composants peuvent dépendre d’un même composant d’immuabilité, ce qui fait de ce composant virtuel une dépendance commune à au moins deux composants logiques de la solution.

La figure 2.4 en illustre un exemple, où des duplicatas d’un composant logique sont en fonction d’un même composant virtuel d’immuabilité, et implémentent un mécanisme de synchronisation par l’intermédiaire d’un lien de communication.

Figure 2.4 — Mécanismes de synchronisation entre composants logiques

Les mécanismes mis en place à l’intérieur d’un composant logique doivent être alors synchronisés entre les duplicatas de ce composant, en plus de gérer la synchronisation interne au composant lui-même. La portée de l’analyse fait abstraction de l’implémentation interne des composants, tenant pour acquis que ces mécanismes sont pris en charge à même la solution logicielle.

Table des matières · 14/26