SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
GESTION TRANSACTIONNELLE
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université Dr Tahar Moulay de Saïda
Faculté de Technologie
Département d’Informatique
Master II - Réseaux Informatiques et Systèmes Répartis (RISR)
UEF32 - Administration et Sécurité des Systèmes d’Information Répartis (ASSIR)
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
1- Définition
Une transaction est un bloc d’instructions LMD faisant passer la
base de données d’un état cohérent à un autre état cohérent.
Exemple :
Une transaction bancaire, transfert d’argent d’un compte A vers un
compte B.
Début transaction
- Compte A : débiter de 10 000,00 DA
Solde = Solde – 10 000,00
- Compte B : créditer de 10 000,00 DA
Solde = Solde + 10 000,DA
Fin transaction
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
2- Caractéristiques
Une transaction assure :
 L’atomicité des instructions qui sont considérées comme une
seule opération (principe du tout ou rien) ;
 La cohérence (passage d’un état cohérent de la base à un autre
état cohérent) ;
 L’isolation des transactions entre elles (lecture consistante, …) ;
 La durabilité des opérations (les mises à jour perdurent même si
une panne se produit après la transaction).
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
3- Concurrence
Objectifs :
Permettre l’exécution simultanée d’un grand nombre de
transactions
Régler les conflits lecture / écriture
Garder de très bonne performance
Eviter les blocages
Exécution sérialisable
Une exécution est dite sérialisable si elle est équivalente à
une exécution sérielle :
Exécution // ou série  donne même résultat
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
3- Concurrence
1. Contrôle continu :
 on vérifie au fur et à mesure de l’exécution des opérations que le
critère de sérialisabilité est bien respecté.
 Méthodes pessimistes
 Idée : les conflits sont fréquents et il faut les traiter le plus tôt
possible.
2. Contrôle par certification :
 Vérifier la sérialisabilité quand la transaction s’achève.
 Approche optimiste
 On considère que les conflits sont rares et que l’on peut accepter
de ré-exécuter les quelques transactions qui posent problèmes.
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
3- Concurrence
 Le mécanisme première approche adoptée est le verrouillage.
 Bloquer l’accès à une donnée dès qu’elle est lue ou écrite par une
transaction.
- pose de verrou
- libération du verrou (fin de transaction par commit ou rollback)
 Poser un verrou bloque les autres transactions.
 Solution :
- Considérer deux critères :
 le degré de restriction : le niveau de la ressource à
laquelle il s’applique : tuple, page, table,
 la granularité du verrouillage
1. Le verrou partagé (« shared lock ») : permettre à plusieurs
transactions concurrentes de lire la même ressource.
2. Le verrou exclusif (« eXclusive lock ») : réserve la ressource en
écriture à la transaction qui a posé le verrou.
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
4- approche pessimiste : Le Verrouillage 2 phases
PRINCIPES
 verrouillage des objets en lecture/écriture
 opérations Lock(g,M) et Unlock(g)
g: granule(=attibut, tuple, table,…)
 toute transaction attend la fin des transactions
incompatibles
 garantie un graphe de précédence sans circuit
 les circuits sont transformés en verrous mortels
 une transaction ne peut relâcher de verrous avant de les
avoir tous acquis
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
4- approche pessimiste : Le Verrouillage 2 phases
Le terme « verrouillage à deux phases » s’explique par le fait qu’il y
a d’abord accumulation de verrous pour une transaction T, puis
libération des verrous.
Conflit :
Deux verrous V1[x] et V2[y] sont en conflit si x = y et V1 ou V2 est
un verrou en écriture.
Si une transaction T1 pose un verrou V1[x] et T2 veux poser un
verrou sur le même objet V2[x] alors la transaction T2 est mise en
attente
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
4- Le Verrouillage 2 phases
Problèmes du Verrouillage
Granularité des verrous
page : en cas de petits objets, trop d'objets verrouillés
objet : trop de verrous, gestion difficile
Verrou mortel
- risques de circuit d'attentes entre transactions
- Le problème des interblocages ou verrous mortels
(« deadlock »)
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
4- Le Verrouillage 2 phases
L’interblocages ou verrou mortel (« deadlock ») :
 Le principal défaut du verrouillage à deux phases est
d’autoriser des interblocages .
 Deux transactions concurrentes demandent chacune
un verrou sur une ressource détenue par l’autre.
Scénario :
1- T1 : V1[X] et T2 : V2[Y]
2- T1 demande le verrou de Y : V3[y] (transaction bloquée)
3- T2 demande le verrou de X : V[Y] (transaction bloquée)
T1 et T2 sont en attente l’une de l’autre : il y a interblocage.
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
4- Le Verrouillage 2 phases
Résolution du verrou mortel
Prévention
définir des critères de priorité de sorte à ce que le
problème ne se pose pas
exemple : priorité aux transactions les plus anciennes
Détection
gérer le graphe des attentes
lancer un algorithme de détection de circuits dès
qu’une transaction attend trop longtemps
choisir une victime qui brise le circuit
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
5- Ordonnancement par estampillage
Estampille (TimeStamp) associée à chaque transaction
date de lancement
garantie d'ordre total (unicité)
Conservation des estampilles
dernier écrivain Writer
plus jeune lecteur Reader
Contrôle d'ordonnancement
en écriture: estampille écrivain > Writer et > Reader
en lecture: estampille lecteur > Writer
Problèmes
reprise de transaction en cas d'accès non sérialisé
risque d'effet domino en cas de reprise de transaction
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
6- Verrouillage Oracle
 Pour gérer les conflits d’accès concurrents aux données, Oracle a
mis en place un système automatique de contrôle par verrouillage.
Le verrouillage est réalisé au niveau ligne.
 Un verrou exclusif est automatiquement posé sur une donnée
lorsque l’on exécute un ordre SQL SELECT... FOR UPDATE, INSERT,
UPDATE, DELETE.
 Aucune autre transaction ne peut modifier cette donnée tant
que le verrou est posé.
 La durée du verrou est celle de la transaction.
 Le verrou est relâché sur l’exécution d’un Commit ou d’un
Rollback.
Oracle détecte automatiquement les situations de
verrou mortel (deadlock). L’une des transactions
participant au deadlock est défaite par Oracle.
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
6- Verrouillage Oracle
 Les ordres SQL de manipulation de données peuvent acquérir
des verrous à deux niveaux :
• niveau ligne (TX)
• niveau table (TM)
 Lorsqu’une transaction acquière un verrou sur la ligne qu’elle
veut modifier, elle obtient également un verrou sur la table toute
entière.
• Empêcher toute autre transaction d’exécuter un ordre
DDL (data description language) tant que le verrou n’est pas
relâché.
Les ordres DDL sont automatiquement commités.
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
6- Verrouillage Oracle
Les verrous sur tables sont de type :
• RS (Row Share) : il est posé sur la table par une transaction qui a
posé des verrous sur des lignes dans l’intention de les modifier. Ce
verrou empêche toute autre transaction de verrouiller la table en
mode exclusif.
• S (Share) : ce verrou est posé manuellement par l’instruction LOCK
TABLE table IN SHARE MODE ;. Il empêche toute autre transaction
de modifier le contenu de la table verrouillée. Seule la transaction
qui a posé le verrou Share peut modifier le contenu de la table dans
le cas où elle est la seule à détenir ce type de verrou. Dans le cas
contraire, aucune des transactions détenant le verrou Share ne peut
modifier le contenu de la table tant que les autres n’auront pas
libérer leur verrou. Ce verrou ne garantit donc pas un accès exclusif
en écriture.
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
6- Verrouillage Oracle
• SRX (Share Mode Exclusif) : ce verrou est posé manuellement.
Même effet que les verrous Share mais il ne peut être posé que par
une seule transaction.
• RX (Row Exclusive) : ce verrou est en général posé sur la table par
une transaction qui a réalisé une ou plusieurs mises à jour sur des
lignes de la table. Il est plus restrictif que le verrou Row Share pour
les autres transactions. Il empêche les verrouillages en mode Share
(S) et Exclusive (X)
• X (Exclusive) : ce verrou ne peut être obtenu que par une seule
transaction. Il lui confère un droit d’écriture exclusif dans la table. Il
n’autorise aux autres transactions qu’un accès en lecture. Les ordres
DDL de définition du schéma drop table et alter table posent
implicitement un verrou X sur la table.
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
7- Transactions réparties
OBJECTIF
Garantir que toutes les mises à jour d'une transaction
sont exécutées sur tous les sites ou qu'aucune ne l'est.
EXEMPLE
Transfert de la somme X du compte A vers le compte B
DEBUT
site 1: A = A - X
site 2: B = B + X PANNE --> INCOHERENCE DONNEES
FIN
PROBLEME
Le contrôle est réparti : chaque site peut décider de
valider ou d’annuler …
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
Commit en 2 Phases
Principe
Diviser la commande COMMIT en deux phases
Phase 1 :
Préparer à écrire les résultats des mises à jour dans la BD
Centralisation du contrôle
Phase 2 :
Écrire ces résultats dans la BD
Coordinateur :
Le composant système d'un site qui applique le protocole
Participant :
Le composant système d'un autre site qui participe dans
l'exécution de la transaction
7- Transactions réparties
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
Commit en 2 Phases
1. PREPARER
Le coordinateur demande aux autres sites s’ils sont prêts à
commettre leurs mises à jour.
2a. SUCCES : COMMETTRE
Tous les participants effectuent leur validation sur ordre du
client.
2b. ECHEC : ABORT
Si un participant n’est pas prêt, le coordinateur demande à tout
les autres sites de défaire la transaction.
REMARQUE
Le protocole nécessite la journalisation des mises à jour
préparées et des états des transactions dans un journal local à
chaque participant.
7- Transactions réparties
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
SITE COORDINATEUR
SITE PARTICIPANT 2
SITE PARTICIPANT 1
PREPARE PREPARE
OK OK
COMMIT COMMIT
ACK ACK
Cas Favorable
7- Transactions réparties
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
PREPARE PREPARE
OK
ACK
KO
ABORT
ABORT
ACK
SITE COORDINATEUR
SITE PARTICIPANT 2
SITE PARTICIPANT 1
Cas Défavorable
7- Transactions réparties
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
Cas Défavorable
PREPARE PREPARE
OK
ACK
OK
COMMIT
COMMIT
STATUS
COMMIT
ACK
SITE COORDINATEUR
SITE PARTICIPANT 2
SITE PARTICIPANT 1
7- Transactions réparties
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
Commit en 2 Phases
Transactions bloquées
Que faire en cas de doute ?
Demander l’état aux autres transactions : STATUS
conservation des états nécessaires message
supplémentaire
Forcer la transaction locale : ABORT
toute transaction annulée peut être ignorée
cohérence garantie avec un réseau sans perte de
message
Forcer la transaction locale : COMMIT
toute transaction commise peut être ignorée
non garantie de cohérence avec le coordinateur
7- Transactions réparties
Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR)
Commit en 3 Phases
Inconvénient du commit
à 2 phases
en cas de time-out en
état “Prêt”, le participant
est bloqué
le commit à 3 phases
permet d’éviter les
blocages
Messages du commit à 3
phases
Prepare,
Prepare to Commit,
Global-Commit,
Global-Abort.
Initial
Wait
Abort PréCommit
Commit
CCommit/Prepare
VoteKO/GAbort VoteOK/PréCommit
PréOK/GCommit
COORDINATEUR
Initial
Ready
Abort PréCommit
Commit
Prepare/VoteOK
GAbort/Ack
PréCommit/PréOK
GCommit/Ack
PARTICIPANT
7- Transactions réparties

Contenu connexe

Similaire à Transaction.pdf

replication.pptx
replication.pptxreplication.pptx
replication.pptxSamirAwad14
 
Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365Microsoft Technet France
 
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...AZUG FR
 
Journées SQL Server 2011 Extended Events
Journées SQL Server 2011  Extended Events Journées SQL Server 2011  Extended Events
Journées SQL Server 2011 Extended Events David BAFFALEUF
 
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASSQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASGUSS
 

Similaire à Transaction.pdf (7)

replication.pdf
replication.pdfreplication.pdf
replication.pdf
 
replication.pptx
replication.pptxreplication.pptx
replication.pptx
 
Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365
 
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
 
Journées SQL Server 2011 Extended Events
Journées SQL Server 2011  Extended Events Journées SQL Server 2011  Extended Events
Journées SQL Server 2011 Extended Events
 
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASSQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
 
Protocoles SSL/TLS
Protocoles SSL/TLSProtocoles SSL/TLS
Protocoles SSL/TLS
 

Plus de SamirAwad14

Etude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVMEtude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVMSamirAwad14
 
NS3 - Exploitation.pptx
NS3 - Exploitation.pptxNS3 - Exploitation.pptx
NS3 - Exploitation.pptxSamirAwad14
 
srep_cours_04.pdf
srep_cours_04.pdfsrep_cours_04.pdf
srep_cours_04.pdfSamirAwad14
 
srep_cours_06.pdf
srep_cours_06.pdfsrep_cours_06.pdf
srep_cours_06.pdfSamirAwad14
 
srep_cours_05.pdf
srep_cours_05.pdfsrep_cours_05.pdf
srep_cours_05.pdfSamirAwad14
 
repartition oracle.pptx
repartition oracle.pptxrepartition oracle.pptx
repartition oracle.pptxSamirAwad14
 
Transaction.pptx
Transaction.pptxTransaction.pptx
Transaction.pptxSamirAwad14
 
gestion utilisateur.pdf
gestion utilisateur.pdfgestion utilisateur.pdf
gestion utilisateur.pdfSamirAwad14
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdfSamirAwad14
 
Data Warehousing.pptx
Data Warehousing.pptxData Warehousing.pptx
Data Warehousing.pptxSamirAwad14
 
L'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxL'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxSamirAwad14
 
Système de quorum dans les grilles.pptx
Système de quorum dans les grilles.pptxSystème de quorum dans les grilles.pptx
Système de quorum dans les grilles.pptxSamirAwad14
 

Plus de SamirAwad14 (15)

Etude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVMEtude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVM
 
NS3 - Exploitation.pptx
NS3 - Exploitation.pptxNS3 - Exploitation.pptx
NS3 - Exploitation.pptx
 
srep_cours_04.pdf
srep_cours_04.pdfsrep_cours_04.pdf
srep_cours_04.pdf
 
srep_cours_06.pdf
srep_cours_06.pdfsrep_cours_06.pdf
srep_cours_06.pdf
 
srep_cours_05.pdf
srep_cours_05.pdfsrep_cours_05.pdf
srep_cours_05.pdf
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
 
repartition oracle.pptx
repartition oracle.pptxrepartition oracle.pptx
repartition oracle.pptx
 
Transaction.pptx
Transaction.pptxTransaction.pptx
Transaction.pptx
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
 
TD.pdf
TD.pdfTD.pdf
TD.pdf
 
gestion utilisateur.pdf
gestion utilisateur.pdfgestion utilisateur.pdf
gestion utilisateur.pdf
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdf
 
Data Warehousing.pptx
Data Warehousing.pptxData Warehousing.pptx
Data Warehousing.pptx
 
L'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxL'outil MDA acceleo.pptx
L'outil MDA acceleo.pptx
 
Système de quorum dans les grilles.pptx
Système de quorum dans les grilles.pptxSystème de quorum dans les grilles.pptx
Système de quorum dans les grilles.pptx
 

Dernier

systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptxrababouerdighi
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 

Dernier (15)

systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 

Transaction.pdf

  • 1. GESTION TRANSACTIONNELLE Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université Dr Tahar Moulay de Saïda Faculté de Technologie Département d’Informatique Master II - Réseaux Informatiques et Systèmes Répartis (RISR) UEF32 - Administration et Sécurité des Systèmes d’Information Répartis (ASSIR)
  • 2. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 1- Définition Une transaction est un bloc d’instructions LMD faisant passer la base de données d’un état cohérent à un autre état cohérent. Exemple : Une transaction bancaire, transfert d’argent d’un compte A vers un compte B. Début transaction - Compte A : débiter de 10 000,00 DA Solde = Solde – 10 000,00 - Compte B : créditer de 10 000,00 DA Solde = Solde + 10 000,DA Fin transaction
  • 3. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 2- Caractéristiques Une transaction assure :  L’atomicité des instructions qui sont considérées comme une seule opération (principe du tout ou rien) ;  La cohérence (passage d’un état cohérent de la base à un autre état cohérent) ;  L’isolation des transactions entre elles (lecture consistante, …) ;  La durabilité des opérations (les mises à jour perdurent même si une panne se produit après la transaction).
  • 4. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 3- Concurrence Objectifs : Permettre l’exécution simultanée d’un grand nombre de transactions Régler les conflits lecture / écriture Garder de très bonne performance Eviter les blocages Exécution sérialisable Une exécution est dite sérialisable si elle est équivalente à une exécution sérielle : Exécution // ou série  donne même résultat
  • 5. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 3- Concurrence 1. Contrôle continu :  on vérifie au fur et à mesure de l’exécution des opérations que le critère de sérialisabilité est bien respecté.  Méthodes pessimistes  Idée : les conflits sont fréquents et il faut les traiter le plus tôt possible. 2. Contrôle par certification :  Vérifier la sérialisabilité quand la transaction s’achève.  Approche optimiste  On considère que les conflits sont rares et que l’on peut accepter de ré-exécuter les quelques transactions qui posent problèmes.
  • 6. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 3- Concurrence  Le mécanisme première approche adoptée est le verrouillage.  Bloquer l’accès à une donnée dès qu’elle est lue ou écrite par une transaction. - pose de verrou - libération du verrou (fin de transaction par commit ou rollback)  Poser un verrou bloque les autres transactions.  Solution : - Considérer deux critères :  le degré de restriction : le niveau de la ressource à laquelle il s’applique : tuple, page, table,  la granularité du verrouillage 1. Le verrou partagé (« shared lock ») : permettre à plusieurs transactions concurrentes de lire la même ressource. 2. Le verrou exclusif (« eXclusive lock ») : réserve la ressource en écriture à la transaction qui a posé le verrou.
  • 7. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 4- approche pessimiste : Le Verrouillage 2 phases PRINCIPES  verrouillage des objets en lecture/écriture  opérations Lock(g,M) et Unlock(g) g: granule(=attibut, tuple, table,…)  toute transaction attend la fin des transactions incompatibles  garantie un graphe de précédence sans circuit  les circuits sont transformés en verrous mortels  une transaction ne peut relâcher de verrous avant de les avoir tous acquis
  • 8. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 4- approche pessimiste : Le Verrouillage 2 phases Le terme « verrouillage à deux phases » s’explique par le fait qu’il y a d’abord accumulation de verrous pour une transaction T, puis libération des verrous. Conflit : Deux verrous V1[x] et V2[y] sont en conflit si x = y et V1 ou V2 est un verrou en écriture. Si une transaction T1 pose un verrou V1[x] et T2 veux poser un verrou sur le même objet V2[x] alors la transaction T2 est mise en attente
  • 9. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 4- Le Verrouillage 2 phases Problèmes du Verrouillage Granularité des verrous page : en cas de petits objets, trop d'objets verrouillés objet : trop de verrous, gestion difficile Verrou mortel - risques de circuit d'attentes entre transactions - Le problème des interblocages ou verrous mortels (« deadlock »)
  • 10. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 4- Le Verrouillage 2 phases L’interblocages ou verrou mortel (« deadlock ») :  Le principal défaut du verrouillage à deux phases est d’autoriser des interblocages .  Deux transactions concurrentes demandent chacune un verrou sur une ressource détenue par l’autre. Scénario : 1- T1 : V1[X] et T2 : V2[Y] 2- T1 demande le verrou de Y : V3[y] (transaction bloquée) 3- T2 demande le verrou de X : V[Y] (transaction bloquée) T1 et T2 sont en attente l’une de l’autre : il y a interblocage.
  • 11. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 4- Le Verrouillage 2 phases Résolution du verrou mortel Prévention définir des critères de priorité de sorte à ce que le problème ne se pose pas exemple : priorité aux transactions les plus anciennes Détection gérer le graphe des attentes lancer un algorithme de détection de circuits dès qu’une transaction attend trop longtemps choisir une victime qui brise le circuit
  • 12. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 5- Ordonnancement par estampillage Estampille (TimeStamp) associée à chaque transaction date de lancement garantie d'ordre total (unicité) Conservation des estampilles dernier écrivain Writer plus jeune lecteur Reader Contrôle d'ordonnancement en écriture: estampille écrivain > Writer et > Reader en lecture: estampille lecteur > Writer Problèmes reprise de transaction en cas d'accès non sérialisé risque d'effet domino en cas de reprise de transaction
  • 13. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 6- Verrouillage Oracle  Pour gérer les conflits d’accès concurrents aux données, Oracle a mis en place un système automatique de contrôle par verrouillage. Le verrouillage est réalisé au niveau ligne.  Un verrou exclusif est automatiquement posé sur une donnée lorsque l’on exécute un ordre SQL SELECT... FOR UPDATE, INSERT, UPDATE, DELETE.  Aucune autre transaction ne peut modifier cette donnée tant que le verrou est posé.  La durée du verrou est celle de la transaction.  Le verrou est relâché sur l’exécution d’un Commit ou d’un Rollback. Oracle détecte automatiquement les situations de verrou mortel (deadlock). L’une des transactions participant au deadlock est défaite par Oracle.
  • 14. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 6- Verrouillage Oracle  Les ordres SQL de manipulation de données peuvent acquérir des verrous à deux niveaux : • niveau ligne (TX) • niveau table (TM)  Lorsqu’une transaction acquière un verrou sur la ligne qu’elle veut modifier, elle obtient également un verrou sur la table toute entière. • Empêcher toute autre transaction d’exécuter un ordre DDL (data description language) tant que le verrou n’est pas relâché. Les ordres DDL sont automatiquement commités.
  • 15. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 6- Verrouillage Oracle Les verrous sur tables sont de type : • RS (Row Share) : il est posé sur la table par une transaction qui a posé des verrous sur des lignes dans l’intention de les modifier. Ce verrou empêche toute autre transaction de verrouiller la table en mode exclusif. • S (Share) : ce verrou est posé manuellement par l’instruction LOCK TABLE table IN SHARE MODE ;. Il empêche toute autre transaction de modifier le contenu de la table verrouillée. Seule la transaction qui a posé le verrou Share peut modifier le contenu de la table dans le cas où elle est la seule à détenir ce type de verrou. Dans le cas contraire, aucune des transactions détenant le verrou Share ne peut modifier le contenu de la table tant que les autres n’auront pas libérer leur verrou. Ce verrou ne garantit donc pas un accès exclusif en écriture.
  • 16. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 6- Verrouillage Oracle • SRX (Share Mode Exclusif) : ce verrou est posé manuellement. Même effet que les verrous Share mais il ne peut être posé que par une seule transaction. • RX (Row Exclusive) : ce verrou est en général posé sur la table par une transaction qui a réalisé une ou plusieurs mises à jour sur des lignes de la table. Il est plus restrictif que le verrou Row Share pour les autres transactions. Il empêche les verrouillages en mode Share (S) et Exclusive (X) • X (Exclusive) : ce verrou ne peut être obtenu que par une seule transaction. Il lui confère un droit d’écriture exclusif dans la table. Il n’autorise aux autres transactions qu’un accès en lecture. Les ordres DDL de définition du schéma drop table et alter table posent implicitement un verrou X sur la table.
  • 17. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) 7- Transactions réparties OBJECTIF Garantir que toutes les mises à jour d'une transaction sont exécutées sur tous les sites ou qu'aucune ne l'est. EXEMPLE Transfert de la somme X du compte A vers le compte B DEBUT site 1: A = A - X site 2: B = B + X PANNE --> INCOHERENCE DONNEES FIN PROBLEME Le contrôle est réparti : chaque site peut décider de valider ou d’annuler …
  • 18. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) Commit en 2 Phases Principe Diviser la commande COMMIT en deux phases Phase 1 : Préparer à écrire les résultats des mises à jour dans la BD Centralisation du contrôle Phase 2 : Écrire ces résultats dans la BD Coordinateur : Le composant système d'un site qui applique le protocole Participant : Le composant système d'un autre site qui participe dans l'exécution de la transaction 7- Transactions réparties
  • 19. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) Commit en 2 Phases 1. PREPARER Le coordinateur demande aux autres sites s’ils sont prêts à commettre leurs mises à jour. 2a. SUCCES : COMMETTRE Tous les participants effectuent leur validation sur ordre du client. 2b. ECHEC : ABORT Si un participant n’est pas prêt, le coordinateur demande à tout les autres sites de défaire la transaction. REMARQUE Le protocole nécessite la journalisation des mises à jour préparées et des états des transactions dans un journal local à chaque participant. 7- Transactions réparties
  • 20. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) SITE COORDINATEUR SITE PARTICIPANT 2 SITE PARTICIPANT 1 PREPARE PREPARE OK OK COMMIT COMMIT ACK ACK Cas Favorable 7- Transactions réparties
  • 21. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) PREPARE PREPARE OK ACK KO ABORT ABORT ACK SITE COORDINATEUR SITE PARTICIPANT 2 SITE PARTICIPANT 1 Cas Défavorable 7- Transactions réparties
  • 22. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) Cas Défavorable PREPARE PREPARE OK ACK OK COMMIT COMMIT STATUS COMMIT ACK SITE COORDINATEUR SITE PARTICIPANT 2 SITE PARTICIPANT 1 7- Transactions réparties
  • 23. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) Commit en 2 Phases Transactions bloquées Que faire en cas de doute ? Demander l’état aux autres transactions : STATUS conservation des états nécessaires message supplémentaire Forcer la transaction locale : ABORT toute transaction annulée peut être ignorée cohérence garantie avec un réseau sans perte de message Forcer la transaction locale : COMMIT toute transaction commise peut être ignorée non garantie de cohérence avec le coordinateur 7- Transactions réparties
  • 24. Master II - RISR ... Adminstartion et Sécurité des Systèmes d'Information Répartis (ASSIR) Commit en 3 Phases Inconvénient du commit à 2 phases en cas de time-out en état “Prêt”, le participant est bloqué le commit à 3 phases permet d’éviter les blocages Messages du commit à 3 phases Prepare, Prepare to Commit, Global-Commit, Global-Abort. Initial Wait Abort PréCommit Commit CCommit/Prepare VoteKO/GAbort VoteOK/PréCommit PréOK/GCommit COORDINATEUR Initial Ready Abort PréCommit Commit Prepare/VoteOK GAbort/Ack PréCommit/PréOK GCommit/Ack PARTICIPANT 7- Transactions réparties