News information : Caractéristiques ACID des systèmes de traitement des transactions

Les bases de données relationnelles sont caractérisées par des transactions et sont également appelées systèmes de traitement des transactions. Ces transactions sont logiquement établies et évoluées en raison des raisons de l'utilisation simultanée des bases de données. Les quatre propriétés requises pour chaque transaction sont atomique, cohérence, isolation et durabilité.

L'utilisation simultanée signifie que de nombreux utilisateurs accèdent à la base de données pour afficher une page, insérer de nouveaux enregistrements ou mettre à jour d'anciens enregistrements. L'usage typique de nombreux utilisateurs est que de nombreuses personnes essaient de réserver un billet de train en ligne. Les opérations de base de données typiques impliquant plus d'une personne sont un virement bancaire entre deux personnes.

Prenons l'exemple suivant, un transfert de fonds entre deux personnes comporte deux opérations de base de données majeures. Après avoir lu le bilan du compte bancaire à la première personne, le montant transféré doit être déduit du compte bancaire à la première personne, l'autre compte bancaire à la deuxième personne doit être mis à jour.

Considérez la situation où il y a une panne de courant après la première transaction, c'est-à-dire la déduction du montant à transférer sur le compte bancaire de la deuxième partie. Il y aura une erreur dans la paire de transactions car la deuxième partie de la transaction, c'est-à-dire l'augmentation du solde du deuxième compte personnel, ne sera pas terminée, mais la première transaction, c'est-à-dire le débit, sera terminée. Ainsi, il est nécessaire que les deux transactions soient exécutées ensemble dans la même fenêtre de transaction et également si la deuxième transaction n'est pas terminée, la première doit être retournée. Cela crée la propriété Atomicity des transactions. Dans la terminologie populaire des données relationnelles, ceci est appelé transactions de transaction et de retour,

La deuxième propriété est la cohérence, la base de données doit rester cohérente à tout moment. Dans l'exemple ci-dessus, le montant du solde du premier compte et le solde du deuxième compte doivent toujours être une valeur constante.

La troisième propriété est "l'isolement" des transactions. Pour cela, prenons l'exemple d'un système de réservation ferroviaire en ligne. Par exemple, considérons qu'il y a 2 utilisateurs essayant de bloquer respectivement 2 et 3 sièges dans un train entre les mêmes destinations circulant à la même date et heure. Si le nombre total de sites disponibles n'est que de 3, si ces deux transactions sont exécutées simultanément, en raison de l'absence de séquencement de ces deux exigences, vous pouvez constater que les emplacements attribués aux deux utilisateurs peuvent être respectivement 2 et 1. 1 et 2 et 2 ou 0 et 3 après avoir effectué une seule transaction utilisateur signifierait que ces deux transactions ne devraient pas être exécutées en même temps. Ils doivent être exécutés en série les uns après les autres ou en d'autres termes lorsque 1 utilisateur accède au système de réservation, l'enregistrement correspondant lié à la réservation du siège doit être verrouillé exclusivement pour cet utilisateur. La demande des autres utilisateurs doit être mise en file d'attente et ne doit être traitée qu'après que la première demande a été satisfaite. Dans la terminologie de base de données populaire, cela se traduit par un blocage au niveau du bloc et de la table si plusieurs utilisateurs tentent d'accéder au même enregistrement de transaction physique. Il existe de nombreux types de verrous, à savoir les verrous exclusifs, communs, de niveau table et les verrous de niveau ligne, etc.

La quatrième propriété est appelée Transaction Sustainability. Si les transactions sont terminées, l'écriture complète du disque doit garantir que toutes les mises à jour sont terminées et qu'il ne reste rien dans le tampon et, dans le processus, aucune mise à jour des données ne doit être perdue. Une base de données doit activer cette propriété de transaction de sorte qu'en cas de panne de courant, même si une transaction se termine mais est mise en file d'attente pour être écrite sur le disque, la base de données doit effectuez l'opération d'écriture sur le disque une fois l'alimentation rétablie.