click below
click below
Normal Size Small Size show me how
Gestion transaction
Question | Answer |
---|---|
Définir transaction | Action demandée par un seul utilisateur, un programme, pour une lecture,une écriture ou une MAJ. |
Définir la cohérence | État cohérent ---> État cohérent. (Les états intermédiaires ne sont pas nécessairement cohérents.) |
Si la transaction succède... | -Transaction:validée("commit") -Lorsque validée ne peut pas être annulé -BD: nouvel état cohérent |
Si la transaction faillit... | -Transaction: annulée("rolled back") -BD: nouvel état cohérent |
Définir les 4 propriétés de bases(ACID) | -Automicité: tout ou rien -Cohérence: État cohérent ---> État cohérent -Isolation: Effet partiel des transactions incomplètes invisible aux autres -Durabilité: Effet d'une transaction validée permanents. |
3 exemples de problèmes de concurrence | -Mise à jour perdue -Dépendance non validée -Analyse incohérente |
Décrire une MAJ perdue | Mise à jour avant que la première ne soit terminé. |
Décrire dépendance non validée | Une transaction utilise les données d'une autre mise à jour et elle est annulé par la suite |
Décrire Analyse incohérente | Une transaction lit une valeur et par la suite une transaction met à jour cette valeur. |
Définir planification sérielle | -Opérations exécuté consécutivement sans opération interfoliée -Pas garanti que le résultat soit toujours identique. |
Définir planification non série | Opération de transactions exécutées de manière interfoliées pour une exécution simultanée sans interférence. |
Si 2 transactions lisent... | ...Pas en conflit donc ordre sans importance |
Si 2 transactions lisent et écrivent des données différentes... | ...Pas en conflit donc ordre sans importance |
Si 2 transactions lisent et écrivent la même donnée... | ... Ordre importe |
Définir graphe de précédence | Noeud pour chaque transaction(Ti--->Tj) -Si Tj lit la valeur écrite par Ti -Si Tj écrit la valeur déjà lu par Ti -SI Tj écrit la valeur écrite par Ti |
2 techniques de base de contrôle de la concurrence | -Verrouillage (locking) -Estampillage (Timestamping) |
2 types de verrous | -verrou partagé(peut lire, mais pas modifier) -verrou exclusif(peut lire et modifier) |
Décrire le verrouillage en 2 phases(2PL) | Toutes opérations de verrouillage précèdent la première opération de déverrouillage. |
Décrire les 2 phases(2PL) | -Croissance:acquière tous les verrous mais n'en libère aucun. -Réception:relâche les verrous et ne peut en obtenir aucun. |
De quoi dépendent les problèmes potentiels pour une annulation en cascade? | Le moment où les verrous sont relâchés |
Expliquer le contrôle de concurrence avec les indexs | La recherche des verrous commence à la racine et descend jusqu'aux feuilles sans jamais remonter . |
Stratégie de verrouillage pour les recherches | -Verrous partagés sur les noeuds de racine à la feuille -Libère verrous sur parent quand obtenu sur noeud enfant |
Stratégie de verrouillage pour les insertions | -Approche conservatrice: verrous exclusifs sur tous les noeuds -Approche optimiste:verrou partagé sur tous les noeuds et verrou exclusif sur la feuille |
Définir un blocage indéfini(deadlock) | Chaque transaction attendent chacune après le verrou de l'autre. |
Comment régler un blocage indéfini(deadlock) | -Abandonner la ou les transactions et les repartir |
Comment prévenir les verrous indéfinis(2 sous-méthodes) | Les estampilles(valeur unique de temps) -Attendre-Mourir -Blessé-Attend |
Décrire la technique de la prévention des verrous indéfinis(Attendre-Mourir) | -Ancienne transaction attendre plus récente Sinon transaction annulée et repartie avec le même estampillage |
Décrire la technique de la prévention des verrous indéfinis(Blessé-Attend) | -Transaction plus récente attendre ancienne Sinon jeune annulée(blessé) |
Détection des verrous indéfinis | Reconnaît et brise les verrous indéfinis. Blocage indéfini ssi cycle |
Solutions pour la récupération d'un verrou(3) | -Choix de la victime par moindre coût +Temps exécution +Nb données modifiées +Nb données à modifier -Profondeur d'annulation de transaction -Éviter d'annuler toujours la même transaction |
Décrire les méthodes d'estampillage | -Transactions ordonnées globalement -Conflit résolus -Pas de verrouillage |
Qu'est-ce que l'estampille | Identificateur unique créé par le SGBD qui détermine l'heure du début de la transaction |
Décrire la technique optimiste(3 phases) | 1.Lecture d'une valeur et stocke dans une variable locale(MAJ sur var locales) 2.Validation que état cohérent 3.Écriture MAJ de la donnée local |
La granularité des données | Du plus vaste au plus étroit Plus grand verrous |
4 utilitaires de récupérations... | -Méchanisme de sauvegarde -Journalisation -Points de contrôle -Gestionnaire de récupération |
Que conserve le fichier journal | -Les enregistrements de transaction +identifcateur de transaction +Type d'enregistrement(début,action,annulation/validation) -Les enregistrements de point de contrôle |
Comment agit le SGBD en cas de panne(avec point de contrôle) | -Refait toutes les transactions acceptées depuis PC avant le point de contrôle -Défait toute les transactions actives. |
Techniques de récupération si BD endommagée | -Restaurer la dernière sauvegarde -Refaire MAJ transactions validées avec journal |
Techniques de récupération si BD incohérente | -Défaire changements incohérence -Refaire transactions pour que MAJ soient sur stockage secondaire |
Mise à jour différée | Les MAJ non écrites dans le journal de la BD avant validation |
Mise à jour immédiate | MAJ appliquées à la BD dès exécution -Refaire transactions validées suite à la panne -Défaire transactions |
5 modèles avancés de transaction | -Modèle de transaction imbriquées -Sagas -Modèle de transaction multi-niveaux -Restructuration dynamique -Modèle de flus de travaux |
Modèle de transaction imbriquées | -Hiérarchie de sous-transactions. -Validé du bas vers le haut. -L'annulation de l'enfant peut ne pas annulé la transaction complète si enfant non-vital |
Sagas | -Une transaction à plat qui peut interfoliées avec d'autres transactions -1 niveau d'imbrication -Pour chaque sous-transaction définie = une transaction de compensation correspondante |
Modèle de transaction multi-niveaux | -Transactions traditionnelle à plat pas de conflit -Opération commutative |
Définir la sérialisation | Une transaction est sérialisé si le nouvel ordre de la transaction donne le même ordre que celui dans l'ordre chronologique. |