Vous êtes sur la page 1sur 6

Nom :

Prnom :
Universit Pierre et Marie Curie - Paris 6 - UFR 922 - Master d'informatique (SAR)

page 1

Bases de Donnes Rparties


Examen du 15 mai 2007
Elements de correction

Les documents ne sont pas autoriss Dure : 2h.


Rpondre aux questions sur la feuille du sujet dans les cadres appropris. La taille des cadres suggre celle de la rponse attendue. Utiliser le dos de la feuille prcdente si la rponse dborde du cadre. Le barme est donn titre indicatif. Ecrire lencre bleue ou noire. Ne pas dgrafer le sujet.

Exercice 1 : Questions diverses

3 pts

Question 1. Dcrivez laide dun schma et de quelques phrases le principe de larchitecture hybride utilise dans les bases de donnes parallles.

architecture hybride Combinaison de systmes mmoire partage et de systmes sans partage : interconnection (sans partage) de systmes mmoire partage. Mmoire partage : tous les processeurs partagent le disque et la mmoire aucun partage : les diffrents noeuds sont relis par un rseau dinterconnexion. Chaque processeur a un accs exclusif la mmoire et au disque (idem BD rparties).

Question 2. Citez les trois techniques de partitionnement utilises dans les bases de donnes parallles, et dcrivez brivement en quoi elles consistent.
Round-robin : le ime n-uplet insr dans la relation est stock sur le disque i mod n Partitionnement par hachage (hash partitioning) : Choisir un ou plusieurs attributs comme attributs de partitionnement Appliquer une fonction de hachage (renvoyant un entier de 0 n-1) ces attributs Stocker le n-uplet sur le disque correspondant au rsultat de la fonction de hachage Partitionnement par intervalles (range partitionning) : rpartit les n-uplets en fonction des intervalles de valeurs dun attribut

Question 3. Quest-ce quun moniteur transactionnel ? Citez ses principales fonctionnalits.


Extension du concept de transaction dautres contextes que les BD Support des transactions ACID ( un ens. daccs des objets) Accs continu aux donnes Reprise rapide du systme en cas de panne Scurit d'accs Performances optimises partage des connexions rutilisation de transactions
bdr_exam_2007corrige.doc

Lettres initiales du Prnom et du Nom:


Partage de charge distribution de transactions sur les serveurs Support de fichiers et bases de donnes htrognes API standardises

page 2

Exercice 2 : Pannes

2 pts

On considre un systme de reprise sur panne fonctionnant de la faon suivante : Dans un premier temps, une analyse du journal permet de dterminer les pages sales , cest--dire les pages dont les modifications nont pas encore t crites sur le disque, et dterminer les transactions actives. La deuxime phase consiste refaire les oprations qui doivent tre refaites (algorithme REDO). La troisime phase consiste dfaire les oprations qui doivent tre dfaites (algorithme UNDO). Soit lextrait de journal suivant : 1. T1 : begin 2. T1 : write (P1) 3. T1 : write (P2) 4. T2 : begin 5. T2 : write (P3) 6. T1 : write (P5) 7. T1: commit 8. T3 : begin 9. T3 : write (P2) 10. T2 : write (P1) 11. T4 : begin 12. T4 : write (P4) 13. T2 : abort 14. T3 : write (P3) Panne !!!!!! Question 1. Quelles sont les informations produites par la phase danalyse ?
Pages sales :

Transactions actives :

Rponse : Pages sales : P1, P2, P3, P4 Transactions actives : T3, T4 (T2 annule, T1 termine) Question 2. Dtaillez les actions de lalgorithme REDO, puis celles de lalgorithme UNDO, en prcisant lordre de parcours du journal.
Actions de lalgorithme REDO :

Actions de lalgorithme UNDO :

Lettres initiales du Prnom et du Nom:

page 3

Rponse : REDO : on part de lenregistrement 1, et on fait, dans lordre : Refaire les modifications de T1 : Write (P1), Write(P2), write (P5) UNDO: on part du dernier enregistrement, et on remonte dans le journal, en faisant les oprations suivantes : Dfaire T3 : write (P3) Dfaire T4 : write (P4) Dfaire T2 : write(P1) Dfaire T3 : write(P2) Dfaire T2 : write(P3)

Question 3 On suppose quune panne se produit pendant lalgorithme UNDO. Que risque-t-on ? Comment se prmunir de ces risques ?

Rponse : on risque davoir une base incohrente. Pour se prmunir, on ajoute les oprations de lalgorithme UNDO au journal, en les identifiant de telle faon quelles ne soient pas appliques deux fois (on ne redfait pas une action UNDO)

Exercice 3 : Conception de BD Rparties

5 pts

Question 1. Trois universits parisiennes (Jussieu, Sorbonne, Dauphine) ont dcid de mutualiser leurs bibliothques et leur service de prts, afin de permettre lensemble des tudiants demprunter des ouvrages dans toutes les bibliothques des universits participantes. Par exemple, un tudiant de Jussieu pourra emprunter des ouvrages la bibliothque de la Sorbonne. La gestion commune des bibliothques et des emprunts est effectue par une base de donnes rpartie, dont le schma global est le suivant : EMPLOYE (Id_pers, nom, adresse, statut, affectation) Lattribut affectation dsigne ici la bibliothque o travaille lemploy. ETUDIANT (Id_etu, nom, adresse, universit, cursus, nb_emprunts) Lattribut universit indique luniversit o est inscrit ltudiant. OUVRAGES (Id_ouv, titre, diteur, anne, domaine, stock, site) Lattribut site indique la bibliothque qui gre cet ouvrage. Lattribut domaine permet de classer les ouvrages en catgories (physique, maths, informatique, mdecine, etc.). Lattribut stock dsigne le nombre douvrages restant disponibles au prt. AUTEURS (Id_ouv, nom_auteur) PRETS (Id_ouv, Id_etu, date_emprunt, date_retour) La gestion de cette application sappuie sur les hypothses suivantes :

Lettres initiales du Prnom et du Nom:


un employ est affect un seul site

page 4

un tudiant est inscrit dans une seule universit, mais peut emprunter dans toutes les bibliothques. un ouvrage emprunt dans une bibliothque est rendu dans la mme bibliothque. Le champ nb_emprunts de la relation ETUDIANT est utilis pour limiter le nombre douvrages emprunts simultanment par un tudiant sur lensemble des bibliothques. Il est mis jour lors de chaque emprunt et chaque retour, quelle que soit la bibliothque demprunt. Chaque universit gre ses propres tudiants Chaque bibliothque gre son personnel et les ouvrages quelle dtient.

Les relations globales sont fragmentes et rparties sur les diffrents sites. Donner la dfinition des diffrents fragments en utilisant les oprateurs de lalgbre relationnelle ainsi que le schma dallocation des fragments.

Rponse :
- Fragmentation horizontale primaire de EMPLOYE en fonction de la valeur de l'attribut affectation: EMPLOYE jussieu = Id_pers, nom, adresse, statut ( affectation = "jussieu" (EMPLOYE )) EMPLOYE sorbonne = Id_pers, nom, adresse, statut ( affectation = "sorbonne" (EMPLOYE )) EMPLOYE dauphine = Id_pers, nom, adresse, statut ( affectation = "dauphine" (EMPLOYE )) Allocation : Un fragment EMPLOYEi est sur le site i.

- ETUDIANT est fragment en plusieurs tapes:


a) Fragmentation verticale pour sparer les donnes concernant la gestion des emprunts de celles concernant la gestion des tudiants. ETUDIANT bibli = id_etu, nom, nb_emprunts (ETUDIANT)

Allocation : ETUDIANT bibli est dupliqu sur les trois sites. Chaque mj est rpercute sur les rpliques, de faon toujours avoir le nb_emprunts global. ETUDIANT univ = id_etu, nom, adresse, universit, cursus (ETUDIANT)

b) fragmentation horizontale de ETUDIANTuniv en fonction de lattribut universit.


ETUDIANTjussieu = id_etu, nom, adresse, cursus

universit = "jussieu" (ETUDIANTuniv) universit = "sorbonne" (ETUDIANTuniv) universit = "dauphine" (ETUDIANTuniv)

ETUDIANTsorbonne = id_etu, nom, adresse, cursus ETUDIANTdauphine = id_etu, nom, adresse, cursus

Lettres initiales du Prnom et du Nom:

page 5

Allocation : Un fragment ETUDIANTi est sur le site i.

- OUVRAGES est fragment horizontalement sur lattribut site.


OUVRAGES jussieu = Id_ouv, titre, diteur, anne, domaine, stock ( site = "jussieu" (OUVRAGES)) OUVRAGES sorbonne = Id_ouv, titre, diteur, anne, domaine, stock ( site = "sorbonne" (OUVRAGES )) OUVRAGES dauphine = Id_ouv, titre, diteur, anne, domaine, stock ( site = "dauphine" (OUVRAGES )) Allocation : Un fragment OUVRAGESi est sur le site i.

- AUTEURS est une fragmentation horizontale drive de OUVRAGESi


AUTEURS jussieu = AUTEURS AUTEURS sorbonne = AUTEURS AUTEURS dauphine = AUTEURS OUVRAGES jussieu OUVRAGES sorbonne OUVRAGES dauphine

(semi-jointure sur Id_ouv)

Allocation : Un fragment AUTEURSi est sur le site i.

- PRETS est une fragmentation horizontale drive des OUVRAGESi (semi-jointure sur Id_ouv)

PRETS jussieu = PRETS PRETSsorbonne = PRETS PRETS dauphine = PRETS

OUVRAGES jussieu OUVRAGES sorbonne OUVRAGES dauphine

Allocation : Un fragment PRETSi est sur le site i.

Question 2. Donnez la dfinition dune fragmentation correcte. Montrez que la fragmentation que vous proposez pour la relation ETUDIANT est correcte.

Rponse : Une fragmentation est correcte si i) tous les n-uplets sont stocks et ii) la reconstruction permet de retrouver exactement tous les n-uplets de la relation dorigine. Pour ETUDIANT : La premire tape de fragmentation est une fragmentation verticale. La clef se trouve dans les deux fragments, et lunion des attributs projets comprend tous les attributs de la relation dorigine. Cette premire tape est correcte.

Lettres initiales du Prnom et du Nom:

page 6

La deuxime tape est une fragmentation horizontale, partir dun des fragments. Le critre de rpartition est la valeur de lattribut universit. Dans la relation dorigine, cet attribut prend uniquement les valeurs jussieu , sorbonne et dauphine . La rpartition se fait selon ces trois critres, tous les n-uplets de la relation sont donc affects lune des trois relations. La dcomposition est donc correcte.

Question 3. Donner les oprations de reconstruction des relations globales


Rponse. Restructuration de la relation EMPLOYE Soit Ti une relation ayant un seul attribut, lattribut affectation. La valeur de cet attribut est i. EMPLOYE =

(EMPLOYEi

Ti )

Restructuration de la relation ETUDIANT Se fait en plusieurs tapes : Soit Ri une relation ayant un seul attribut, lattribut universit. La valeur de cet attribut est i.

ETUDIANTuniv = (ETUDIANTi Ri )
ETUDIANT = ETUDIANT bibli

ETUDIANTuniv

Restructuration de la relation OUVRAGES Soit Si une relation ayant un seul attribut, lattribut site. La valeur de cet attribut est i. OUVRAGES = (OUVRAGESi Si ) Restructuration de la relation AUTEURS AUTEURS = AUTEURSi Restructuration de la relation PRETS PRETS = PRETSi

Vous aimerez peut-être aussi