Cours de Bases de données








télécharger 391.04 Kb.
titreCours de Bases de données
page12/14
date de publication23.12.2016
taille391.04 Kb.
typeCours
ar.21-bal.com > droit > Cours
1   ...   6   7   8   9   10   11   12   13   14

LE CONCEPT DE TRANSACTION



E

Une transaction est unité de programme qui accède aux données de la base en lecture et/ou écriture. Une transaction accède à un état cohérent de la base. Durant l'exécution d'une transaction, l'état de la base peut ne pas être cohérent. Quand une transaction est validée (commit), l'état de la base doit être cohérent.

Deux types de problèmes :

  • problèmes systèmes (récupérabilité)

  • exécutions concurrentes de plusieurs transactions (séralisabilité)

En fait , la seule condition est qu’à la fin de la transaction, la base soit cohérente. C’est la récupérabilité (crash system, erreurs = état incohérent : comment revenir à un état cohérent ?).

Propriétés


Pour préserver l'intégrité des données, le système doit garantir :


  • Atomicité : Soit toutes les opérations de la transaction sont validées, ou bien aucune opération ne l'est.




  • Cohérence : L'exécution d'une transaction préserve la cohérence de la base (c’est à l’utilisateur de vérifier).




  • Isolation : Même si plusieurs transactions peuvent être exécutées en concurrence, aucune n'est censée prendre en compte les autres transactions i.e pour chaque paire de transactions Ti, Tj, pour Ti tout se passe comme si Tj s'est terminée avant le début de Ti ou bien qu'elle a commencé après la fin de Ti (les résultats intermédiaires de Tj ne lui sont pas apparents).




  • Durabilité : Si une transaction est validée, alors tous les changements qu'elle a faits sont persistants (même s'il y a un crash).


Ce sont les propriétés ACID (Atomicité, Cohérence,…)

Exemple


Une transaction qui transfère 1000 Frs du compte A vers le compte B

Il faut essayer d’exécuter le maximum de transactions en même temps, tout en conservant la propriété d’isolation.

1. Lire(A)

2. A:=A-1000

3. Ecrire(A)

  1. Lire(B)

  2. B:=B+1000

  3. Ecrire(B)


La base est cohérente si la somme A + B ne change pas suite a l'exécution de la transaction (cohérence). Si la transaction "échoue" après l'étape 3, alors le système doit s'assurer que les modifications de A ne soient pas persistantes (atomicité). Une fois que l'utilisateur est informé que la transaction est validée, il n'a plus à s'inquiéter du sort de son transfert (durabilité).

Si entre les étapes 3 et 6, une autre transaction est autorisée a accéder a la base, alors elle "verra" un état incohérent (A + B est inférieur à ce qu'elle doit être). L'isolation n'est pas assurée. La solution triviale consiste a exécuter les transactions en séquence.

XVII.LES ETATS D'UNE TRANSACTION





  • Active : la transaction reste dans cet état durant son exécution.

  • Partiellement validée : juste après l'exécution de la dernière opération.

  • Echec : après avoir découvert qu'une exécution "normale" ne peut pas avoir lieu.

  • Avortée : Après que toutes les modifications faites par la transaction soient annulées (Poli back). Deux options :

- Ré-exécuter la transaction

- Tuer la transaction

  • Validée : après l'exécution avec succès de la dernière opération



Implémentation de l'atomicité



Approche naïve : c'est le mécanisme de reprise sur panne.

La notion de copie (shadow database) :
- On suppose qu'une seule transaction peut s'exécute en même temps.

- Un pointeur pointeur_bd pointe vers la version cohérente courante de la base.

- Toutes les mises a jour sont exécutées sur une copie. Pointeur_db ne pointera sur la copie que si la transaction est validée.

- Si la transaction échoue, alors la copie est supprimée. Si la transaction est validée, on garde la nouvelle sinon le pointeur repasse sur l’ancienne version.
Inefficace si la base est volumineuse !


1   ...   6   7   8   9   10   11   12   13   14

similaire:

Cours de Bases de données iconAdministrateur(trice) de bases de données / Intégrateur(trice) d’applications
«Accompagner les transitions agro-écologiques des systèmes et territoire d’élevage») et sur le pôle basmati («Bases de données, modèles...

Cours de Bases de données iconI ] Les différents modèles de bases de données

Cours de Bases de données iconUniversité Sidi Mohamed Ben Abdellah
«pose» sur le IaaS. IL permet d’externaliser l’infrastructure matérielle, mais également des applications middleware : bases de données,...

Cours de Bases de données iconC onsultant(e) système spécialiste O. S. et bases de données / Grenoble...

Cours de Bases de données iconProtection des logiciels et des bases de données

Cours de Bases de données iconM. Bilodeau est un professionnel dynamique, versé dans plusieurs...

Cours de Bases de données iconPour les projets de logiciels et/ou de bases de données, cette déclaration...

Cours de Bases de données iconCours : mat-4172-2 Collecte de données en contexte fondamental

Cours de Bases de données iconAccès sécurisés aux données partout dans le monde avec aprol
«parlantes» sont transférées à la base de données du cloud. Cette méthode basée sur les concepts du fog computing (informatique géodistribuée)...

Cours de Bases de données iconAu risque de refroidir les ardeurs de quelques dsi, le temps semble...
«humeur» des internautes. A nous les connexions vers les sites métiers pour remplir nos bases de données des informations professionnels...








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com