thesis

Techniques pour la conception et l'exectution efficace des transactions

Defense date:

Jan. 1, 1996

Edit

Institution:

Paris 6

Disciplines:

Directors:

Abstract EN:

Pas de résumé disponible.

Abstract FR:

Dans la premiere partie de ce travail, nous proposons une extension du protocole de controle multiversion classique (mv2pl). Ce protocole, appele emv2pl, permet d'executer efficacement des transactions d'ecriture particulieres. Ces transactions sont composees de deux parties : une partie d'ecriture qui contient des operations d'ecriture et de lecture dans un ordre arbitraire et une partie de lecture qui contient des operations de lecture et/ou des operations d'ecriture sur des objets deja verrouilles dans la partie d'ecriture de la transaction. Avec emv2pl, ces transactions (i) relachent leurs verrous de lecture avant d'executer leur partie de lecture et (ii) executent les operations de lecture de la partie de lecture sur les versions, sans prendre de verrous. Nous montrons la correction de ce protocole et nous montrons que sa mise en oeuvre ne necessite que de legeres modifications des algorithmes et des structures de donnees utilisees pour mv2pl. Nous presentons ensuite differentes methodes suivies par les applications de bases de donnees pour verifier l'integrite des donnees, et nous montrons comment emv2pl peut optimiser ces applications. Enfin, une etude par simulation nous permet d'illustrer les gains de notre protocole par rapport a un protocole de verrouillage a deux phases. Dans une seconde partie de la these, nous abordons le probleme de l'execution de programmes (appeles scripts) composes de plusieurs transactions acid independantes. Si un script ayant deja valide une ou plusieurs transactions est arrete sur incident, son execution doit etre reprise ou des actions particulieres (de compensation) doivent etre executees. Il faud donc que le contexte d'execution des scripts soit sauvegarde pendant leur execution et soit automatiquement reinstancie apres une defaillance. Nous expliquons comment la mecanique transactionnelle deja existante peut etre etendue pour garantir ces proprietes. Nous montrons aussi comment un mecanisme d'exception permet au programmeur de specifier le comportement des scripts apres une defaillance.