Document

7
Préambule NFP 107 Vertigo 1 données NFP 107 Introduction à la concurrence d’accès Troisième fragment Philippe Rigaux [email protected] http://idf.pleiad.net/index.php

description

Systèmes de gestion de bases de données NFP 107 Introduction à la concurrence d’accès Troisième fragment Philippe Rigaux [email protected]. http://idf.pleiad.net/index.php. Les niveaux d’isolation en détail. Le niveau READ UNCOMMITTED - PowerPoint PPT Presentation

Transcript of Document

Page 1: Document

Préambule

NFP 107Vertigo 1

Systèmes de gestion de bases de données

NFP 107Introduction à la concurrence d’accès

Troisième fragment

Philippe [email protected]

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

Page 2: Document

Préambule

NFP 107Vertigo

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….

2

Page 3: Document

Préambule

NFP 107Vertigo

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….3

Page 4: Document

Préambule

NFP 107Vertigo

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….

4

Page 5: Document

Préambule

NFP 107Vertigo

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….

5

Page 6: Document

Préambule

NFP 107Vertigo

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 autres6

Page 7: Document

Préambule

NFP 107Vertigo

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.

7