1 / 7

http://idf.pleiad.net/index.php

Systèmes de gestion de bases de données NFP 107 Introduction à la concurrence d’accès Troisième fragment Philippe Rigaux philippe.rigaux@cnam.fr. http://idf.pleiad.net/index.php. Les niveaux d’isolation en détail. Le niveau READ UNCOMMITTED

nardo
Download Presentation

http://idf.pleiad.net/index.php

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systèmes de gestion de bases de donnéesNFP 107Introduction à la concurrence d’accèsTroisième fragmentPhilippe Rigauxphilippe.rigaux@cnam.fr http://idf.pleiad.net/index.php

  2. Les niveaux d’isolation en détail • Le niveau READ UNCOMMITTED • On peut lire des données en cours de modification par d’autres transactions • Principal inconvénient: on a une vision d’un état incohérent (car transitoire) de la base • Principal avantage: aucun blocage • Démonstration….

  3. Les niveaux d’isolation en détail (2) • Le niveau READ COMMITTED • Une requête ne peut lire que des données déjà validées. • Deux requêtes consécutives peuvent donner des résultats différents • Principal inconvénient: isolation faible, on voit, au cours d’une même transaction, différents états de la base. • Principal avantage: blocage assez faible, évite les principaux problèmes • Démonstration….

  4. Les niveaux d’isolation en détail (3) • Le niveau REPEATABLE READ • Les requêtes d’une transaction T ne lisent que les données validées au début de T • Deux lectures consécutives (dans une même transaction) donnent toujours le même résultat. • Principal avantage: on voit un état cohérent de la base. • Principal inconvénient: assez coûteux; n’évite pas les mises à jour perdues • Démonstration….

  5. Le mode sérialisable • Garantie d’une isolation complète • Les lectures sont répétables • La cohérence est garantie • Indispensable pour les procédures transactionnelles • Inconvénient majeur • Des blocages importants • Parfois rejet d’une transaction en cas de conflit • Démonstration….

  6. La clause FOR UPDATE • Idée: le problème vient du fait qu’on lit une donnée pour la modifier ensuite. • Le système ne peut pas le deviner! • Il est obligé de tracer toutes les lectures (coût élevé) • Il pose des verrous faibles -> mène à un rejet quand les choses tournent mal • FOR UPDATE • Le programmeur déclare qu’une lecture va être suivie d’une mise à jour • Le système pose un verrou fort pour celles-là, pas de verrou pour les autres

  7. Conclusion • Savoir repérer les transactions dans une application. • Dans ce cas, appliquer le mode sérialisable • La clause FOR UPDATE est en théorie meilleure, mais repose sur le facteur humain: probablement à éviter. • Savoir qu’en mode sérialisable on risque des rejets. • Comprendre les risques dans les autres modes.

More Related