Gestion des Journaux. Méthodes d accès aux données. Système d exploitation. Gestion de Verrous. Gestion de. Mémoire. Gestion de transactions Page 2

Dimension: px
Commencer à balayer dès la page:

Download "Gestion des Journaux. Méthodes d accès aux données. Système d exploitation. Gestion de Verrous. Gestion de. Mémoire. Gestion de transactions Page 2"

Transcription

1 Gestion de Transactions Principes de base Propriétés ACID d'une transaction Protocoles de contrôle de concurrence Protocoles de tolérance aux pannes Gestion de transactions dans Oracle Modèles de transactions avancés Transactins longues et coopérantes Transactions réparties Protocoles de validation atomique Standards X/Open et OSI-TP Modèles de réplication Gestion de transactions Page 1 Définition d une transaction Transaction = séquence d'instructions d un programme de base de données faisant passer la base d un état cohérent à un état cohérent. Incohérence possible... Etat cohérent Etat cohérent Begin Rollback Transaction Begin CEpargne = CEpargne CCourant = CCourant Aucune opération ne peut être exécutée hors transaction (transactions chaînées) Une transaction peut se terminer par une validation () ou un abandon (Rollback) Gestion de transactions Page 3 Architecture en couches d un SGBD Interface Analyseur sémantique Optimiseur Evaluateur de plan d exécution Opérateurs relationnels Méthodes d accès aux données Gestion de Mémoire Gestion de Verrous Gestion des Journaux Système d exploitation Gestion de transactions Page 2 Propriétés ACID d'une transaction Atomicité Une transaction doit s exécuter en tout ou rien Cohérence Une transaction doit respecter l ensemble des contraintes d intégrité Isolation Une transaction ne voit pas les effets des transactions concurrentes Durabilité Les effets d une transaction validée ne sont jamais perdus, quel que soit le type de panne On parle de contrat transactionnel entre l utilisateur/programme et le SGBD Gestion de transactions Page 4

2 Accès concurrent: les problèmes (1) Remarque : les transactions concurrentes s exécutent dans des threads/processus différents Perte d'opération LIRE (X, A1) LIRE (X, A2) A2 <- A2 + 1 ECRIRE (X, A2) A1 <- A1 + 1 ECRIRE (X, A1) Gestion de transactions Page 5 Accès concurrent: les problèmes (3) Introduction d'incohérences Contrainte d'intégrité : X = Y LIRE (X, A1) A1 <- A1 + 1 ECRIRE (X, A1) LIRE (Y, B1) B1 <- B1 + 1 ECRIRE (Y, B1) LIRE (X, A2) A2 <- A2 * 2 ECRIRE (X, A2) LIRE (Y, B2) B2 <- B2 * 2 ECRIRE (Y,B2) Gestion de transactions Page 7 Accès concurrent: les problèmes (2) Observation d'incohérences Contrainte d'intégrité : X = Y LIRE (X, A1) A1 <- A1-500 ECRIRE (X, A1) LIRE (Y, A1) A1 <- A1-500 ECRIRE (Y, A1) LIRE (X, A) EDITER (A) LIRE (Y, B) EDITER (B) Gestion de transactions Page 6 Accès concurrent: les problèmes (4) Lectures non reproductibles LIRE (X, A1) A1 <- A1 + 1 ECRIRE (X, A1) LIRE (X, A2) EDITER (A2) LIRE (X, A2) EDITER (A2) Gestion de transactions Page 8

3 Exécution sérialisable Exécution sérialisable : une exécution en parallèle des transactions,..., Tn est dite sérialisable si son résultat est équivalent à une exécution en série quelconque de ces mêmes transactions. Les actions A et B sont commutables/permutables si toute exécution de A suivie par B donne le même résultat que l'exécution de B suivie par A. Si une exécution de transactions est transformable par commutations successives en une exécution en série, alors elle est sérialisable. LECT(O1) T3 ECR(02) Exemple d'exécution sérialisable T3 TEMPS LECT(O1) ECR(O2) LECT(O2) ECR(O1) LECT(O1) LECT(O2) LECT(O1) ECR(O1) Gestion de transactions Page 9 Relation de précédence Ti précède Tj dans l ordre de sérialisation s' il existe deux actions non permutables ai et aj tel que ai soit exécutée par Ti avant que aj soit exécutée par Tj Exemple : T3 LECT(O1) LECT(O2) ECR(O2) LECT(O2) ECR(O1) T3 Si le graphe de précédence d'une exécution est sans circuit, l'exécution est sérialisable. Gestion de transactions Page 11 Exemple d'exécution non sérialisable T3 LECT(O1) LECT(O2) ECR(O2) LECT(O2) ECR(O1) T3 T3 T3 ETC... TEMPS Gestion de transactions Page 10 Ordonnancement par estampillage Estampille (TimeStamp) associée à chaque transaction date de lancement ou compteur Introduit une relation d'ordre total entre les transactions Conservation des estampilles dans les granules Granule = objet de la BD considéré comme unité de contrôle Writer = dernier écrivain Reader = plus jeune lecteur Contrôle d'ordonnancement en écriture: estampille écrivain > Writer et > Reader en lecture: estampille lecteur > Writer Toute transaction arrivant en retard est abandonnée Les arcs du graphe de précédence sont donc dans l ordre des estampilles pas de circuit possible Ordonnancement multi-versions (optimisation) Toute lecture est servie avec une version Seules les écriture dans le passé sont refusées Problèmes Risque d'effet domino (abandon en cascade) Gestion de transactions Page 12

4 Ordonnancement par certification Approche optimiste Basée sur l hypothèse que les conflits sont peu fréquents Une transaction est décomposée en trois phases: - 1 phase de calcul pendant laquelle la transaction effectue ses mises à jour dans une mémoire privée et maintient : - Read-set = ensemble des objets lus par la transaction - Write-set = ensemble des objets modifiés par la transaction - 1 phase de certification afin de détecter les conflits - 1 phase de validation pendant laquelle les données modifiées sont reportées de la mémoire privée dans la base de données Gestion de transactions Page 13 VERROUILLAGE 2 PHASES OBJECTIF LAISSER S'EXECUTER SIMULTANEMENT SEULEMENT LES OPERATIONS COMMUTABLES Lecture Ecriture Lecture 1 0 Ecriture 0 0 MOYEN LES TRANSACTIONS VERROUILLENT LES OBJETS AUXQUELLES ELLES ACCEDENT LES TRANSACTIONS CONFLICTUELLES SONT MISES EN ATTENTE (PLUTOT QUE D ETRE ABANDONNEES) Gestion de transactions Page 15 Ordonnancement par certification deb(ti) et fin(ti) = date de début et fin de phase de calcul date_valid(tj) = date de validation de Tj Certifier(Ti) Tj / deb(ti) < date_valid(tj) < fin(ti) si Write-set(Tj) Read-set(Ti) = Ø alors /* Ti peut être validée */ date_valid(ti) = date; sinon abort(ti) Que se passe-t-il si l hypothèse de départ n est pas satisfaite (i.e., conflits nombreux)? Gestion de transactions Page 14 Condition de Bon Fonctionnement TOUTE TRANSACTION DOIT ETRE COMPOSEE DE DEUX PHASES : ==> 2PL (Two Phase Locking) Nombre d'objets Phase de verrouillage Phase de libération Temps LE DEVERROUILLAGE S'EFFECTUE EN FIN DE TRANSACTION AFIN D'EVITER QU'UNE TRANSACTION PUISSE VOIR DES MISES A JOUR NON VALIDEES (DIRTY READS) Gestion de transactions Page 16

5 Problème du verrou mortel T3 T4 Prévention DIE_WAIT : une jeune transaction se tue si elle rentre en conflit avec une transaction plus vieille. Elle est relancée avec la même estampille WOUND_WAIT : une vieille transaction blesse une transaction plus récente en cas de conflit Détection on construit le graphe des attentes au fur à mesure des conflits. Si un cycle est détecté, on abandonne une des transactions du cycle Gestion de transactions Page 17 Verrouillage par intention (ou hiérarchique) Objectif: faire varier le granule de verrouillage afin d'éviter un trop grand nombre de verrous lorsque beaucoup d'objets sont accédés Exemple: Parcours séquentiel d'une relation verrouille des granules page ==> lock pages en S Modification de tuples verrouille des granules objet ==> lock pages accédées en IX et les tuples modifiés en X S'applique à tout verrouillage hiérarchique BD Tables Pages Tuples Document Chapitres Sections - Paragraphes noeuds non feuilles verrouillés en intention (IS, IX ou SIX) et noeuds feuilles verrouillés en S ou X Gestion de transactions Page 19 Equation du Verrouillage LE COUT DEPEND DE LA TAILLE DES GRANULES : DES PETITS GRANULES (Tuple) CONDUISENT A UN COUT IMPORTANT MAIS MAXIMISENT LE PARALLELISME DE LARGES GRANULES (Page, Table) CONDUISENT A UN TEMPS D'ATTENTE IMPORTANT MAIS MINIMISENT LE PARALLELISME UNE TAILLE VARIABLE EST SOUHAITABLE SOLUTIONS : VERROUILLAGE PAR INTENTION DEGRES D'ISOLATION (NORME SQL2) Gestion de transactions Page 18 Verrouillage sémantique Le verrouillage standard ne distingue que les modes Read et Write Verrouillage sémantique ex, objet compteur avec les méthodes: incrémenter, décrémenter, lire incr decr lire incr decr lire Coût et complexité du paramétrage de la matrice Prise en compte des contraintes de commutabilité Nécessite une journalisation logique Gestion de transactions Page 20

6 Degrés d'isolation SQL Objectif: accroître le parallélisme en autorisant certaines transactions à violer la règle d'isolation Degrés standardisés SQL2 (Set Transaction Isolation Level) Degré 0 (Read Uncommitted)» Lecture de données sales Interdiction d écrire.» Ex. lecture sans verrouillage Degré 1 (Read ted)» Lecture de données propres Ecritures autorisées» Ex. Verrous court en lecture, long en écriture Degré 2 (Repeatable Read)» Pas de lecture non reproductible» Ex. Verrous longs en lecture et en écriture Degré 3 (Serializable)» Pas de requête non reproductible (fantôme) Gestion de transactions Page 21 ARIES-KVL : Mohan Idée = verrouiller des prédicats en verrouillant des clés d'index Exemple : select * from Voiture V where V.couleur="rouge" verrouille la clé "rouge" dans l'index couleur Toute insertion ou suppression d'une voiture rouge est donc interdite Le verrou sur une clé est stocké à l'extérieur de l'index et est accédé par une fonction de hachage sur la valeur de clé S'il n'y a pas d'index sur "couleur", on force quand même l'accès à la clé "rouge" Suffisant pour exact match predicates Gestion de transactions Page 23 Degrés d'isolation SQL : exemples ( 0, Read uncommitted) ( 3,serializable) ( 1, Read committed) ( 3,serializable) Begin Begin Lit CC ( 100) Lit CC ( 100) Ecrire CC, CC+10 Lit CC ( 110) Ecrire CC, CC+20 Lit CC ( 130) Begin Begin Lit CC ( 100) Lit CC ( 100) Ecrire CC, CC+10 Lit CC ( bloque) Ecrire CC, CC+20 ( 130) ( 2, Repeatable read) ( 3,serializable) Begin Begin Lit CC ( 100) Lit CC ( 100) Ecrire CC, CC+10 Lit CC ( 100) bloque Lit CC ( 100) Ecrire CC, CC+20 ( 2, Repeatable read) ( 3,serializable) Begin Select count(*) from Voit where couleur="rouge" Begin Insert into Voit values (R4, "rouge") Select count(*) from Voit where couleur="rouge" Gestion de transactions Page 22 ARIES-KVL : (suite) Méthode insuffisante pour des range predicates Exemple : select * from Voiture V where V.puissance between 8 and 11 Toutes les clés possibles du range devraient être verrouillées mais seules celles existant dans l'index à un instant t peuvent l'être - ex: clés présentes dans l index 7, 9, 12 possibilité d insérer 8 ou 10 qui satisfont le prédicat Afin d'éviter l'insertion d'une nouvelle clé dans le range - la lecture verrouille en S toutes les clés présentes dans l index satisfaisant le prédicat ainsi que la clé suivante (dans l exemple : 9 et 12) Gestion de transactions Page 24

7 Isolation dans les SGBD commerciaux Oracle Corporation Oracle Transactions chaînées Cohérence : verrouillage hiérarchique et versionning Transactions lectrices jamais bloquées par les écrivains IBM DB2 Transactions chaînées Cohérence : verrouillage hiérarchique Bloquage Transactions lectrices / transactions écrivains Microsoft SQL Server Transactions chaînées Cohérence : verrouillage hiérarchique Bloquage Transactions lectrices / transactions écrivains Gestion de transactions Page 25 Concurrence dans Oracle (2) Exercice : 2 fenêtres, 1 variable solde Réponse attendue??? where N_compte = where N_compte = 1000 euros En attente 1000 euros Update compte set solde=2000 where N_compte = where N_compte = 1000 euros 27 Concurrence dans Oracle (1) Exercice : 2 fenêtres, 1 variable solde Réponse attendue??? where N_compte = where N_compte = Update compte set solde=2000 where N_compte = where N_compte = Concurrence dans Oracle (3) Exercice : 2 fenêtres, 1 variable solde Réponse Réelle where N_compte = where N_compte = 1000 euros 1000 euros 2000 euros Ok Update compte set solde=2000 where N_compte = where N_compte = 2000 euros Conclusion??? 26 28

8 Concurrence dans Oracle (4) Exercice : 2 fenêtres, 1 variable solde 1000 euros Le where protocole N_compte Oracle = est multi-versions 1000 euros where N_compte = On voit les mises à jour, degré d isolation par défaut : Read ted Réponse Réelle 2000 euros Ok Pas de verrou en lecture (seulement en écriture) Update compte set solde=2000 where N_compte = where N_compte = 2000 euros Conclusion??? Concurrence dans Oracle (6) Niveau Read ted Offre un cliché stable des données pendant la requête Mécanisme de version par utilisation des Rollback Segments (images avant) Verrous en écriture, bloquant seulement d autres écritures Problème de restitution des images avant pour les vieilles requêtes A = 10 SCN=5 Transaction Ecriture A=20 Lecture A=10 Lecture A=10 Transaction A = 20 SCN=10 A = 10 SCN=5 B = 13 SCN=7 C = 11 SCN=3 D = 15 SCN=1 Images avant Concurrence dans Oracle (5) 2 niveaux d isolation supportés (de la norme SQL2) Read ted (par défaut) Données stabilisées pendant une requête Serialisable Données stabilisées pendant toute la transaction Mais aussi Read only (i.e. Repeatable Read en lecture seule) Données stabilisées pendant toute la transaction, écritures interdites Verrous de granule tuple Verrouillage hiérarchique tuple-table Pas d escalade automatique de verrous Deadlocks traités par rollback du dernier statement SQL d une transaction du cycle 30 Chronologie Requête Requête Requête Requête SCN = 7 SCN = 8 SCN = 8 SCN = 9 SCN = 9 SCN = 6 SCN = 10 SCN = 11 Lecture A=20 Écriture A=30 Transaction Données Données B = 13 SCN=7 C = 11 SCN=3 D = 15 SCN=1 SCN = 6 Requête SCN = 11 Écriture A=40 attente Écriture A=40 Concurrence dans Oracle (7) Niveau Serialisable Offre cliché stable des données pendant la transaction Mécanisme de version par utilisation du journal d images avant Verrous seulement en écriture, bloquant d autres écritures Problème de restitution des images avant pour les vieilles transactions SCN = 6 Transaction A = 10 SCN=5 SCN = 9 Transaction B = 13 SCN=7 C = 11 SCN=3 D = 15 SCN=1 Écriture A=20 Lecture A=10 Lecture A=10 Lecture A=10 A = 20 SCN=10 B = 13 SCN=7 C = 11 SCN=3 D = 15 SCN=1 A = 10 SCN=5 Images avant 32 Chronologie Requête Requête Requête Requête SCN = 7 SCN = 8 Données SCN = 9 SCN = 10 SCN = 11 Écriture A=30 la transaction ne peut pas être sérialisée Données

9 Tolérance aux pannes Objectif: Garantir les propriétés d'atomicité et de Durabilité quel que soit le type de pannes. Types de pannes: Transaction failure (ex: deadlock, violation de CI) System failure (ex: panne mémoire) Media failure (panne disque) Communication failure (panne réseau) Gestion de transactions Page 33 Mécanisme de pages ombres Alternative permettant de garantir l'atomicité sans utilisation d'un journal d'images avant Incompatible avec du placement disque Dictionnaire ATDP table des pages pi pi+1 pi+2 pi+3 pi+4 nouvelle table des pages pi pi+1 pj pk pi+4 pj pi pi+1 pi+2 pi+3 pi+4 pk Gestion de transactions Page 35 Atomicité Toutes les mises à jour d'une transaction doivent être prises en compte ou bien aucune ne doit l'être 2 techniques de base Mises à jour en place ==> Règle du Write Ahead Logging (WAL) : Toute mise à jour est précédée d'une écriture dans un journal d'images avant permettant d'invalider cette mise à jour Mises à jour dans un espace de travail ex: mécanisme de shadow pages Gestion de transactions Page 34 Journal d images avant But: pouvoir défaire les mises à jour effectuées à tort Journalisation physique { <Trid, n page, image avant de la page, action > } Journalisation physique différentielle { <Trid, n page, offset1, offset2, image avant de la chaîne offset1-offset2, action > } Journalisation logique { <Trid, opération inverse avec paramètres d'appels> } ex: insert_tuple(t)------> delete_tuple(t) (technique de compensation) Gestion de transactions Page 36

10 Journalisation physique vs logique Avantages d'un journal logique - réduit la taille du journal dans la majorité des cas - permet d'exploiter la commutabilité des opérations logiques. Au contraire, un journal physique impose que le granule de verrouillage soit le même que le granule de journalisation Inconvénients d'un journal logique - ralentit les procédures de reprise après panne - interdit d'écrire sur disque des mises à jour partielles d'une opération logique - certaines opérations logiques sont complexes à inverser Gestion de transactions Page 37 Politiques de gestion de cache (1) La politique de gestion de cache détermine l'instant auquel les pages modifiées dans le cache mémoire sont reportées sur disque Deux paramètres essentiels guident ces politiques STEAL (resp. NO_STEAL) des pages modifiées par des transactions non validées peuvent être reportées sur disque FORCE (resp. NO_FORCE) à la validation d'une transaction, toutes les pages qu'elle a modifiées sont obligatoirement présentes sur disque Gestion de transactions Page 39 Durabilité Objectif: ne jamais perdre de mises à jour validées quel que soit le type de pannes Moyen: mémoriser toutes les mises à jour validées dans un journal d'images après. Ce journal a un format similaire au journal d'images avant Règle du Force Log at : Le journal d'images après d'une transaction doit être écrit sur disque lors de la validation Règle du bon sens: Le journal d'images après doit être stocké sur un disque différent de la base de données Gestion de transactions Page 38 Politiques de gestion de cache (2) 4 politiques possibles STEAL / FORCE STEAL / NO-FORCE NO-STEAL / FORCE NO-STEAL / NO-FORCE Détermine les stratégies d'abandon d'une transaction et de reprise à chaud Gestion de transactions Page 40

11 Abandon d'une transaction Procédure mise en oeuvre lors d'une transaction failure Pour garantir l'atomicité NO-STEAL défaire les mises à jour de la transaction dans le cache uniquement STEAL défaire les mises à jour de la transaction dans le cache défaire les mises à jour de la transaction déjà reportées sur disque Gestion de transactions Page 41 Checkpoint et fast commit Objectif : réduire le temps de latence pendant les validations et abandon de transactions afin de supporter un plus grand nombre de transactions par seconde (Tps) Moyen : - mises à jour du disque par une tâche asynchrone (implantation du STEAL/NO-FORCE) - seul le journal d'images après est écrit sur disque à la validation d'une transaction - complique toutefois les procédures de reprise Abort Abort T3 T4 T5 Abort PANNE Checkpoint Checkpoint Gestion de transactions Page 43 Reprise à chaud Procédure mise en oeuvre lors d'une system failure Pour garantir l'atomicité NO-STEAL ==> rien à faire STEAL ==> défaire les mises à jour reportées sur disque par toutes les transactions non validées au moment de la panne Pour garantir la Durabilité NO-FORCE ==> refaire les mises à jour des transactions validées qui n'avaient pas été reportées avant la panne FORCE ==> rien à faire Gestion de transactions Page 42 Group commit Objectif : réduire le nombre d'e/s nécessaire au commit d'une transaction afin de supporter un plus grand Tps Complémentaire au Fast commit Fast commit => au moins 1 E/S par transaction pour écrire son J+ Incompatible avec un Tps très élevé (ex: 1000 Tps) Solution = grouper les commits de n transactions de sorte à écrire une seule page de J+ pour ces n transactions Attente faible liée au fort Tps Gestion de transactions Page 44

12 Reprise à froid Procédure mise en oeuvre lors d'une media failure RECHARGER LA BASE DE DONNEES AVEC LA DERNIERE VERSION COHERENTE SAUVEGARDEE REFAIRE LES TRANSACTIONS VALIDEES ENTRE LE DERNIER POINT DE SAUVEGARDE ET LA PANNE, EN APPLIQUANT LE JOURNAL DES IMAGES APRES FREQUENCE DES POINTS DE SAUVEGARDE? - détermine la durée de la reprise et la taille du journal d images après - et T4 non validées - et T3 validées (commises) POINT SAUVEGARDE BD cohérente C1 T3 C3 T4 PANNE BD cohérente copie BD Gestion de transactions Page 45 Conclusion Contrôle de concurrence - Seul le verrouillage garantit un minimum d'abandons - Influence déterminante du granule de verrouillage sur les coûts et le parallélisme bénéfice du verrouillage par intention - Mais l isolation coûte toujours très cher chercher des compromis acceptables (ex: degrés d isolation) Reprise après pannes - La journalisation multiplie le nombre d'e/s - Gain en performance group commit, fast commit, journalisation logique Gestion de transactions Page 47 Savepoint intra-transaction Introduction de points de sauvegarde intermédiaires Permet de ne défaire qu une partie de la transaction en cas de problème Begin_Trans update update Savepoint (P1) // sauvegarde du contexte update update If condition Rollback to P1 Gestion de transactions Page 46 Tolérance aux pannes dans Oracle (1) Gestion de cache : steal, no-force Des pages modifiées par des transactions non validées peuvent être reportées sur disque À la validation d'une transaction, toutes les pages qu'elle a modifiées ne sont pas obligatoirement reportées sur disque Gestion de journaux avant et après Journal avant : les Rollback segments Journal après : les fichiers Redo Logs 48

13 Tolérance aux pannes dans Oracle (2) Les Rollback Segments En cas de panne, servent à défaire des mises à jour Un Rollback Segment par transaction active Écritures en Rollback Segments protégées par le journal après les premiers objets restaurés en cas de reprise après panne Partie active Partie inactive Remarque : ce sont ces segments qui sont utilisés pour implémenter le lecture cohérente des données NB : Read Consistency d Oracle Modèles de transactions avancés Tolérance aux pannes dans Oracle (3) Les Redo Logs En cas de panne, servent à refaire les mises à jour perdues Reconstruisent également les Rollback Segments Les Redo Logs sont remplis en mode circulaire On en sauve un sur disque pendant que les autres se remplissent Il doit y avoir au moins deux fichiers formant les Redo Logs Fichier log 1 Fichier log 2 Fichier log 3 Sauvegarde du journal après Écriture sur disque des Redo Logs Au commit (Force Log at ) Lors d un checkpoint (Write Ahead Logging) Quand le buffer cache stockant les logs est rempli au tiers ou après un time-out (Fast ) Limites du modèle de transactions plat (1) Ce modèle garantit les propriétés ACID de chaque transaction Un nombre croissant d'applications (CAO, AGL, télétravail, traitements multibases, ) introduisent de nouveaux besoins transactionnels Exemple : transactions longues et/ou coopérantes - en cas de panne ou d'erreur, toutes les mises à jour d'une transaction ne doivent pas être abandonnées relâcher l'atomicité - Il est délicat de bloquer une transaction sur une ressource verrouillée par une transaction longue - Certains utilisateurs doivent pouvoir échanger des données non validées pour effectuer un travail coopératif relâcher l'isolation Modèles de transactions avancés

14 Transactions emboîtées (1) Une transaction est décomposée en une hiérarchie de soustransactions Une sous-transaction est une unité de reprise - l'abandon d'une sous-transaction implique l'abandon de ses descendants mais pas de ses ancêtres Une sous-transaction est une unité d'exécution indépendante - Isolation des sous-transactions s'exécutant en parallèle - Les sous-transactions peuvent s'exécuter sur le même site ou sur des sites différents les transactions sont ACID alors que les sous-transactions sont AI Modèles de transactions avancés - 53 Transactions emboîtées (3) Règles d'isolation (R1) Seules les transactions feuilles accèdent aux ressources partagées (ex: base de données) (R2) Quand une sous-transaction valide, ses ressources sont héritées par sa mère (R3) Quand une sous-transaction abandonne, ses ressources sont relâchées (R4) Une sous-transaction ne peut accéder une ressource que si elle est libre ou détenue par un ancêtre Modèles de transactions avancés - 55 Transactions emboîtées (2) Vocabulaire racine mère Descendants Ancêtres fille soeurs Accès à la BD Modèles de transactions avancés - 54 Transactions emboîtées (4) Illustration de l'isolation par un mécanisme de verrouillage état initial Objet i 11 verrouille l'objet i Objet i Modèles de transactions avancés - 56

15 Transactions emboîtées (5) cas 1: validation de Objet i cas 2: abandon de Objet i Modèles de transactions avancés - 57 Transactions emboîtées (7) état initial X:=X+1 par 2 X = 0 X = 1 X = X = 2 X:=X+1 par X = 0 X = 1 X = 1 Abandon de 2 X = 0 Validation de 1 Validation de X = 1 X = 0 X = 1 2 Modèles de transactions avancés - 59 Transactions emboîtées (6) Atomicité et Durabilité (R1) Quand une sous-transaction valide, ses effets sont hérités par sa mère (R2) Quand une sous-transaction abandonne, ses effets sont abandonnés (R3) Quand la transaction racine valide, ses effets sont installés dans la base Modèles de transactions avancés - 58 Modèles d'activité ou Workflows transactionnels Idée : construire des enchaînements d opérations quelconques (ex: multibases) ayant des propriétés transactionnelles Exemple: activité agence de voyage accédant à plusieurs serveurs annulation réservation (S3-1 ) S8 S2 abandon S6 S7 abandon réservation Sheraton + Budget S1 S2 S3 S4 S5 S9 saisie S2 réservation avion réservation Hilton + Avis facturation consultation horaires d'avions Modèles de transactions avancés - 60

16 Protocoles transactionnels distribués Résolution duverrou Mortel Distribué 1) PREVENTION - Garantir que le problème ne survient jamais - Combinaison de verrouillage et d'estampillage (DieWait, WoundWait) 2) DETECTION - Construction d'un graphe d'attente global par union des graphes d'attente locaux - En cas de cycle, abandon d'une des transactions du cycle 3) PRESOMPTION - Annulation des transactions n'ayant pas terminé leur exécution après un certain délai (timeout) - Solution normalisée Modèles de transactions avancés Verrou Mortel Distribué La majorité des SGBD sérialisent les transactions grâce à un protocole de verrouillage deux phases Chaque site est capable de détecter un verrou mortel local Un contrôle externe est indispensable pour détecter un verrou mortel intersites SITE 1 SITE 2 T3 SITE 3 Modèles de transactions avancés - 62 Atomicité globale Garantir qu'un ensemble de mises à jour sur plusieurs sites est totalement exécuté ou pas du tout Nécessite un protocole de validation atomique (ACP) Exemple: transfert d'argent entre deux comptes gérés par deux agences bancaires distinctes (Ti) site A DB Serveur débit(c1,m) site B Application crédit(c2,m) Serveur DB (Ti) Modèles de transactions avancés - 64

17 Validation à 2 Phases (2PC) Coordinateur : Le composant système du site qui centralise et pilote le protocole Participant : Le composant système d'un site qui participe à l'exécution de la transaction Phase de vote : Le coordinateur demande à tous les participants s'ils sont capables de valider la transaction Phase de décision : Le coordinateur décide la validation si TOUS les participants votent OK. Il décide l'abandon sinon. Ce protocole doit être tolérant aux pannes Modèles de transactions avancés - 65 Cas Défavorable (1) COORDINATEUR PARTICIPANT PARTICIPANT PREPARE PREPARE READY KO ABORT ABORT ACK ACK Modèles de transactions avancés - 67 Cas Favorable COORDINATEUR PARTICIPANT PARTICIPANT PREPARE PREPARE... READY READY COMMIT COMMIT Sauvegarde des MAJ de la transaction dans un journal... ACK ACK Validation des MAJ de la transaction dans la base de données Modèles de transactions avancés - 66 Cas Défavorable (2) PARTICIPANT COORDINATEUR PARTICIPANT PREPARE PREPARE READY READY COMMIT COMMIT ACK?? COMMIT ACK Modèles de transactions avancés - 68

18 Cas très défavorable (3) PARTICIPANT COORDINATEUR PARTICIPANT PREPARE PREPARE READY READY???? En cas de panne du coordinateur pendant la phase d'incertitude des participants (entre l'envoi du Ready et l'attente de la réponse), les participants sont bloqués => protocole BLOQUANT Modèles de transactions avancés - 69 Protocole OSI-TP Standard Open Systems Interconnect de l'iso [ISO92] Objectifs : - Standardiser la façon d'établir et de gérer les dialogues entre les différents participants d'une même transaction - Standardiser un protocole de validation à 2 phases permettant d'assurer l'atomicité des transactions distribuées - Standardiser la gestion des reprises après pannes dans ce protocole - OSI-TP est un protocole 2PC arborescent Modèles de transactions avancés - 71 Normalisation: protocole OSI-TP et modèle X/Open DTP Interopérabilité : OSI-TP définit un protocole de validation à 2 phases standard permettant à différents gestionnaires de transactions de coopérer pendant la validation d'une transaction TM TM protocole OSI-TP Portabilité : AP X/Open DTP définit des interfaces standards assurant la portabilité des applications, des gestionnaires de transactions et des gestionnaires de ressources RM TM interfaces X-OPEN (API) Modèles de transactions avancés - 70 Protocole 2PC à abandon présumé Ce protocole réduit le nombre de messages et d'enregistrements journalisés : écriture bloquante : écriture non bloquante Coordinateur P1 P2 Coordinateur P1 P2 B C Prepare B R Ready R Prepare Ready R KO A C C Abort Ack_ A F Modèles de transactions avancés - 72

19 X/OPEN DTP Modèle de référence pour Distributed Transaction Processing [1993] Objectif: étendre une sphère transactionnelle à tout type de serveur (SGBD ou non) et assurer la portabilité de tous les composants d'un environnement transactionnel Serveur RPC Application L o g BeginTrans update update Begin Trans TID Ok Ok SGBDR L o g Ok Transaction Manager Modèles de transactions avancés - 73 Modèle DTP avec Transaction Managers coopérants Coordinateur Participant A P A P XATMI TxRPC CPI-C R M T M CR M R M T M CR M XA+ OSI-TP OSI-TP OSI-TP est utilisé pour faire interopérer des TMs hétérogènes Modèles de transactions avancés - 75 Modèle DTP avec un seul Transaction Manager Interface native (ex. SQL) Application (AP) Program Tx tx_begin, tx_commit, tx_rollback, tx_set_timeout, tx_info,... Resource Manager (RM) Xa xa_start, xa_prepare, xa_commit, xa_rollback, xa_recover, ax_register,... Transaction Manager (TM) Modèles de transactions avancés - 74 Modèles de réplication : les règles de correction Sérialisabilité à une copie (one-copy serializability) objets physiques = copies d'un même objet logique Une exécution de transactions sur des objets physiques est sérialisable à une copie si elle est équivalente à une exécution sérialisable de ces mêmes transactions sur les objets logiques correspondants Convergence des copies (eventual consistency) En l'absence de nouvelles mises à jour, toutes les copies d'un même objet finissent par atteindre le même état La convergence est une propriété plus faible que la sérialisabilité à une copie On peut converger vers une valeur qui n a pas de sens pour l utilisateur Modèles de transactions avancés - 76

20 Sérialisabilité à une copie Les objets logiques A et B sont répliqués sur les sites S1 et S2 A1, A2 (resp. B1, B2) sont les objets physiques résultant de la réplication write(a1) write(b1) write(a2) write(b2) read(a1) read(b2) write(a) write(b) read(a) read(b) L'exécution ci-dessus n'est pas sérialisable à une copie mais elle préserve la convergence des copies Modèles de transactions avancés - 77 Propagation synchrone (Eager) Les mises à jour sur un objet sont reportées dans la même transaction, sur l'ensemble de ses réplicas Transaction T site S1 site S2 site S3 write A1 write A2write A3 write B1 write B2write B3 commit commit commit Garantit la sérialisabilité à une copie mais Côut d une validation atomique Impose une connexion permanente à tous les sites Modèles de transactions avancés - 79 Sérialisabilité et convergence dépendent du modèle de réplication 2 modes de propagation des mises à jour Synchrone (Eager) Asynchrone (Lazy) 2 modes de contrôle des copies Symétrique (Update Everywhere) Asymétrique (Primary copy) Donc, 4 modèles de réplication synchrone/symétrique (SS) synchrone/asymétrique (SA) asynchrone/symétrique (AS) asynchrone/asymétrique (AA) Modèles de transactions avancés - 78 Propagation asynchrone (Lazy) Les mises à jour sur un objet sont reportées sur ses réplicas en mode différé, par le biais de transactions indépendantes write A1 write B1 commit sur S1 write A2 write B2 commit sur S2 write A3 write B3 commit T3 sur S3 La cohérence des copies dépend du mode de contrôle choisi (symétrique ou asymétrique) Modèles de transactions avancés - 80

21 Contrôle symétrique vs. asymétrique Symétrique: tout site est autorisé à mettre à jour sa copie locale d'un objet Update A A1 A2 Update A Update A A3 Asymétrique: seule la copie maître peut être mise à jour, les autres copies sont en lecture seule Update A Update A Update A A1 A2 A3 Modèles de transactions avancés - 81 Bilan (suite) Modèles de transactions avancés - 83 Bilan Modèles de transactions avancés - 82 Théorème CAP [Brewer 00,Lynch&Gilbert 02] Un système distribué ne peut pas garantir en même temps : Consistency» Tous les sites voient le même état des données en même temps Availability» Toutes les requêtes de lecture et écriture aboutissent Partition Tolerance» Le système continue à fonctionner malgré des pertes de message Compromis Strong Consistency & Weak Availability» Choix (souvent) traditionnel des SGBD Strong Availability & Eventual Consistency» Choix privilégié des systèmes NoSQL Modèles de transactions avancés - 84

22 Réplication dans Oracle Mécanisme de base permettant de capturer les mises à jour sur un site et de les rejouer sur un autre (Oracle Streams) Mutliples paramétrages permettant d utiliser des combinaisons par défaut ou programmer tout modèle de réplication et écrire ses propres procédures de réconciliation Modèles de transactions avancés - 85 Réconciliation préservant l intention Transformées opérationnelles Principe issu du domaine des éditeurs synchrones Objets répliqués sur chaque site Les opérations exécutées sur 1 site sont diffusées sur les autres Opérations sur objets typés String: InsertCar, DeleteCar Calendar: InsertEvent, DeleteEvent XML: AddNode, DeleteNode, ChangeAttr Assurer les propriétés Causalité Convergence Préservation de l intention Modèles de transactions avancés - 87 Procédures de réconciliation Timestamp chaque objet détient le timestamp de sa dernière opération de mise à jour Si TS(objet) > TS(update) => lost update Opérations commutatives ordre d'exécution indifférent Règles spécifiques à une application priorité à certains sites, à certaines valeurs, à certaines opérations Construction d'un arbre de versions Modèles de transactions avancés - 86 Transformées opérationnelles (1) Usager 1 Usager 2 on systems on systems op1=insérer(3, e') op2=supprimer(10) T(op1,op2)= L'opération transformée de op1 par rapport à op2 one systems on system T(op2,op1)= supprimer(11) T(op1,op2)= insérer(3, e') one system one system Modèles de transactions avancés - 88

23 Transformées opérationnelles (2) Pour utiliser l environnement Définir les fonctions «Transpose» pour tous les couples d opérations» Transp(op1,op1)» Transp(op1,op2)» Transp(op2, op1). Les transposées doivent respecter O i.op1.t(op2,op1) = O i.op2.t(op1,op2) Modèle puissant mais pas général Définir les fonctions «Transpose» pour tous les couples d opérations Modèles de transactions avancés - 89 Réconciliation dans Cassandra (1) Modèles de transactions avancés - 91 Réplication dans Cassandra Paramètres R: nb de replicas lus W: nb de replicas écrits N: nb de réplicas Quorum Q = N/2 + 1 Différents choix possibles Pour R (resp. W) = 1, on récupère la 1 ère réponse W + R > N consistency R=1, W=N (ROWA) R=N, W=1 R=Q, W=Q Modèles de transactions avancés - 90 Réconciliation dans Cassandra (2) Weak consistency Read réparés après l envoi de la réponse Strong consistency Read réparés avant l envoi de la réponse Modèles de transactions avancés - 92

Module BDR Master d Informatique (SAR)

Module BDR Master d Informatique (SAR) Module BDR Master d Informatique (SAR) Cours 9- Transactions réparties Anne Doucet Anne.Doucet@lip6.fr Transactions réparties Gestion de transactions Transactions dans un système réparti Protocoles de

Plus en détail

Bases de données et sites WEB Licence d informatique LI345

Bases de données et sites WEB Licence d informatique LI345 Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet

Plus en détail

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions 1/46 2/46 Pourquoi? Anne-Cécile Caron Master MAGE - SGBD 1er trimestre 2014-2015 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent

Plus en détail

Implémentation des SGBD

Implémentation des SGBD Implémentation des SGBD Structure générale des applications Application utilisateur accédant à des données d'une base Les programmes sous-jacents contiennent du code SQL Exécution : pendant l'exécution

Plus en détail

Transactionnel et transactionnel réparti. Source R.CHEVANCE G.Gardarin

Transactionnel et transactionnel réparti. Source R.CHEVANCE G.Gardarin 1 Transactionnel et transactionnel réparti Source R.CHEVANCE G.Gardarin Plan Concept de transaction - Propriétés ACID Transactionnel réparti Moniteur transactionnel Modèle X/Open Exemple de moniteur transactionnel:

Plus en détail

Bases de données avancées Concurrence d'accès et reprise

Bases de données avancées Concurrence d'accès et reprise Bases de données avancées Concurrence d'accès et reprise Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan La notion de transaction Les problèmes de la concurrence Problèmes

Plus en détail

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Gestion des transactions et accès concurrents dans les bases de données relationnelles Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.

Plus en détail

Réplication des données

Réplication des données Réplication des données Christelle Pierkot FMIN 306 : Gestion de données distribuées Année 2009-2010 Echange d information distribuée Grâce à un serveur central Une seule copie cohérente Accès à distance

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 12 : Concurrence d accès Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Accès concurrents Définitions Verrous Collisions Niveaux de cohérence Blocage

Plus en détail

UNION INTERCEPT SELECT WHERE JOINT FROM ACID

UNION INTERCEPT SELECT WHERE JOINT FROM ACID STOCKAGE TRANSACTION, SÉRIALISABILITÉ, NIVEAUX D'ISOLATION 1 BASE RELATIONNELLE Un serveur de données relationnel : Rend compte de la «réalité» sous forme de table Met en relation la perception logique

Plus en détail

Données Réparties. Thibault BERNARD. thibault.bernard@univ-reims.fr

Données Réparties. Thibault BERNARD. thibault.bernard@univ-reims.fr Données Réparties Thibault BERNARD thibault.bernard@univ-reims.fr Sommaire Introduction Gestion de la concurrence Reprise après panne Gestion des données dupliquées Sommaire Introduction Gestion de la

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Cours de Base de Données Cours n.12

Cours de Base de Données Cours n.12 Cours de Base de Données Cours n.12 Gestion des transactions : contrôle de concurrence Elisabetta De Maria - http://www.i3s.unice.fr/ edemaria/ UFR Sciences et Laboratoire I3S, CNRS 2013-2014 Université

Plus en détail

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

Hibernate vs. le Cloud Computing

Hibernate vs. le Cloud Computing Hibernate vs. le Cloud Computing Qui suis-je? Julien Dubois Co-auteur de «Spring par la pratique» Ancien de SpringSource Directeur du consulting chez Ippon Technologies Suivez-moi sur Twitter : @juliendubois

Plus en détail

//////////////////////////////////////////////////////////////////// Administration bases de données

//////////////////////////////////////////////////////////////////// Administration bases de données ////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1 1 COMPOSANTS DE L ARCHITECTURE D UN SGBD Chapitre 1 Généralité 2 Les composants principaux de l architecture d un SGBD Sont: Les processus Les structures mémoires Les fichiers P1 P2 Pn SGA Fichiers Oracle

Plus en détail

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur) 1/23 2/23 Anne-Cécile Caron Master MIAGE - BDA 1er trimestre 2013-2014 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche

Plus en détail

Gestion répartie de données - 1

Gestion répartie de données - 1 Gestion répartie de données - 1 Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia Gestion répartie de données Plan de la présentation Introduction

Plus en détail

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS stella@unistra.u-strasbg.fr 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

Plus en détail

Administration des bases de données relationnelles Part I

Administration des bases de données relationnelles Part I Administration des bases de données relationnelles Part I L administration des bases de données requiert une bonne connaissance - de l organisation et du fonctionnement interne du SGBDR : structures logiques

Plus en détail

Gestion de données réparties. Cours 1

Gestion de données réparties. Cours 1 Gestion de données réparties Cours 1 SGBD distribué Rend la distribution (ou répartition) des BD locales transparente catalogue des BD traitement des requêtes distribuées gestion de transactions distribuées

Plus en détail

Du 10 Fév. au 14 Mars 2014

Du 10 Fév. au 14 Mars 2014 Interconnexion des Sites - Design et Implémentation des Réseaux informatiques - Sécurité et Audit des systèmes - IT CATALOGUE DE FORMATION SIS 2014 1 FORMATION ORACLE 10G 11G 10 FEV 2014 DOUALA CAMEROUN

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Année Universitaire 2009/2010 Session 2 de Printemps

Année Universitaire 2009/2010 Session 2 de Printemps Année Universitaire 2009/2010 Session 2 de Printemps DISVE Licence PARCOURS : CSB4 & CSB6 UE : INF 159, Bases de données Épreuve : INF 159 EX Date : Mardi 22 juin 2010 Heure : 8 heures 30 Durée : 1 heure

Plus en détail

Description de SQL SERVER. historique

Description de SQL SERVER. historique Description de SQL SERVER SQLServer est un SGBDR qui accepte et traite des requêtes concurrentes provenant de divers clients. Il envoie les réponses aux clients concernés via des API (Application Programming

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing Présentation d Oracle 10g Chapitre VII Présentation d ORACLE 10g 7.1 Nouvelles fonctionnalités 7.2 Architecture d Oracle 10g 7.3 Outils annexes 7.4 Conclusions 7.1 Nouvelles fonctionnalités Gestion des

Plus en détail

Eléments de base de la sécurité des bases de données

Eléments de base de la sécurité des bases de données Eléments de base de la sécurité des bases de données N. Boudjlida UHP Nancy 1, LORIA, Campus scientifique, BP 239 54506 Vandœuvre Lès Nancy CEDEX (F) Nacer.Boudjlida@loria.fr, http://www.loria.fr/ nacer

Plus en détail

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier ENSTA Mastère Spécialisé en Architecture des Systèmes d Information Cours C1-3 Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier Partie II : les SGBD vus du coté Administrateur

Plus en détail

Chapitre 10. Architectures des systèmes de gestion de bases de données

Chapitre 10. Architectures des systèmes de gestion de bases de données Chapitre 10 Architectures des systèmes de gestion de bases de données Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér

Plus en détail

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

CHAPITRE 1 ARCHITECTURE

CHAPITRE 1 ARCHITECTURE 07/04/2014 Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique ADMINISTRATION ET TUNING DE BASES DE DONNÉES CHAPITRE 1 ARCHITECTURE RESPONSABLE DR K. BOUKHALFA

Plus en détail

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007 Bases de Données Réparties Concepts et Techniques Matthieu Exbrayat ULP Strasbourg - Décembre 2007 1 Définition Une base de données répartie (distribuée) est une base de données logique dont les données

Plus en détail

Le Network File System de Sun (NFS)

Le Network File System de Sun (NFS) 1 sur 5 Le Network File System de Sun (NFS) Le Network File System de Sun (NFS) Architecture Protocoles Mounting Automounting vs Static mounting Directory et accès aux fichiers Problèmes Implémentation

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

3. La SGA ou System global Area

3. La SGA ou System global Area 1/11 L'instance Oracle Oracle est une base de données composée de 3 parties différentes : L'instance Les fichiers de données Les fichiers de données facultatifs (fichier d'initialisation, fichier de mots

Plus en détail

Cours 8 Not Only SQL

Cours 8 Not Only SQL Cours 8 Not Only SQL Cours 8 - NoSQL Qu'est-ce que le NoSQL? Cours 8 - NoSQL Qu'est-ce que le NoSQL? Catégorie de SGBD s'affranchissant du modèle relationnel des SGBDR. Mouvance apparue par le biais des

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

Plus en détail

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio Présentation 1. Introduction 13 2. Présentation de SQL Server 14 2.1 Qu'est-ce qu'un SGBDR? 15 2.2 Mode de fonctionnement client/serveur 16 2.3 Les plates-formes possibles 18 2.4 Les composants de SQL

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur

Plus en détail

Bases de données Cours 1 : Généralités sur les bases de données

Bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données POLYTECH Université d Aix-Marseille odile.papini@univ-amu.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 1 Qu est ce qu une

Plus en détail

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers Programme détaillé Objectifs de la formation Les systèmes de gestion de bases de données prennent aujourd'hui une importance considérable au regard des données qu'ils hébergent. Véritable épine dorsale

Plus en détail

Gestion répartie de données - 1 Duplication et cohérence

Gestion répartie de données - 1 Duplication et cohérence École Doctorale de Grenoble Master 2 Recherche Systèmes et Logiciel Gestion répartie de données : bref historique (1) Gestion répartie de données - 1 Duplication et cohérence Sacha Krakowiak Université

Plus en détail

Introduction aux Bases de Données

Introduction aux Bases de Données Introduction aux Bases de Données I. Bases de données I. Bases de données Les besoins Qu est ce qu un SGBD, une BD Architecture d un SGBD Cycle de vie Plan du cours Exemples classiques d'applications BD

Plus en détail

SQL Server 2012 - Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

SQL Server 2012 - Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos) Présentation 1. Introduction 13 2. Présentation de SQL Server 14 2.1 Qu'est-ce qu'un SGBDR? 14 2.2 Mode de fonctionnement Client/Serveur 16 2.3 Les plates-formes possibles 17 2.4 Les composants de SQL

Plus en détail

Le NoSQL - Cassandra

Le NoSQL - Cassandra Le NoSQL - Cassandra Thèse Professionnelle Xavier MALETRAS 27/05/2012 Ce document présente la technologie NoSQL au travers de l utilisation du projet Cassandra. Il présente des situations ainsi que des

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

Bases de Données Réparties

Bases de Données Réparties Bases de Données Réparties Architecture Mise en œuvre Duplication et Réplication Michel Tuffery BDR : Définition Ensemble de bases de données gérées par des sites différents et apparaissant à l utilisateur

Plus en détail

Architectures Client-Serveur

Architectures Client-Serveur Architectures Client- Bernard ESPINASSE Professeur à l'université d'aix-marseille 2011 Introduction : pourquoi le Client-? Evolution des organisations : 1980-1990 1985-1995 1995-2000 Introduction : pourquoi

Plus en détail

Systèmes et algorithmes répartis

Systèmes et algorithmes répartis Systèmes et algorithmes répartis Tolérance aux fautes Philippe Quéinnec Département Informatique et Mathématiques Appliquées ENSEEIHT 4 novembre 2014 Systèmes et algorithmes répartis V 1 / 45 plan 1 Sûreté

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

Base de données MySQL

Base de données MySQL LA BASE DE DONNÉES OPEN SOURCE LA PLUS POPULAIRE AU MONDE POINTS FORTS Base de données MySQL MySQL Enterprise Backup MySQL Enterprise High Availability MySQL Enterprise Scalability MySQL Enterprise Authentication

Plus en détail

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur) 1/30 2/30 Anne-Cécile Caron Master MIAGE - SGBD 1er trimestre 2014-2015 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche

Plus en détail

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]

Plus en détail

Notion de base de données

Notion de base de données Notion de base de données Collection de données opérationnelles enregistrées sur un support adressable et utilisées par les systèmes et les applications Les données doivent être structurées indépendamment

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

Intégrité des données

Intégrité des données . Contraintes d intégrité : Définition et objectif Intégrité des données Définition des contraintes Vérification des contraintes Contrainte d'intégrité : propriété sémantique que doivent respecter les

Plus en détail

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes. http://sardes.inrialpes.fr

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes. http://sardes.inrialpes.fr Emmanuel Cecchet INRIA, Projet Sardes http://sardes.inrialpes.fr Plan Motivations Idées principales Concepts Caching Perspectives /ObjectWeb 15 octobre 2002 Emmanuel.Cecchet@inrialpes.fr 2 - Motivations

Plus en détail

Session S12 Les bases de l optimisation SQL avec DB2 for i

Session S12 Les bases de l optimisation SQL avec DB2 for i Session S12 Les bases de l optimisation SQL avec DB2 for i C. GRIERE cgriere@fr.ibm.com STG Lab Services IBM i Avril 2012 Les fleurs et les requêtes SQL Lorsque l on veut planter de nouvelles fleurs dans

Plus en détail

Ordonnancement temps réel

Ordonnancement temps réel Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches

Plus en détail

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

CONCEPTION Support de cours n 3 DE BASES DE DONNEES CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...

Plus en détail

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique Services OSI Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique 59 SERVICES "APPLICATION" Architecture spécifique : ALS (Application Layer

Plus en détail

Modélisation de bases de données : Le modèle relationnel

Modélisation de bases de données : Le modèle relationnel Modélisation de bases de données : Le modèle relationnel Rappel chapitre 1 C est quoi un modèle? Type de modèle : Modèle hiérarchique Modèle réseau Modèle objet Modèle relationnel Cours BD Dr REZEG K 1

Plus en détail

IBM CommonStore for SAP V8.4 fournit un nouveau support complet pour ILM à partir de la gestion de la rétention des données SAP

IBM CommonStore for SAP V8.4 fournit un nouveau support complet pour ILM à partir de la gestion de la rétention des données SAP Lettre d'annonce IBM Europe ZP08-0456 du 30 septembre 2008 IBM CommonStore for SAP V8.4 fournit un nouveau support complet pour ILM à partir de la gestion de la rétention des données SAP Table des matières

Plus en détail

Les bases de l optimisation SQL avec DB2 for i

Les bases de l optimisation SQL avec DB2 for i Les bases de l optimisation SQL avec DB2 for i Christian GRIERE cgriere@fr.ibm.com Common Romandie 3 mai 2011 Les fleurs et les requêtes Lorsque l on veut planter de nouvelles fleurs dans un jardin il

Plus en détail

Bases de données réparties: Fragmentation et allocation

Bases de données réparties: Fragmentation et allocation Pourquoi une base de données distribuée? Bibliographie Patrick Valduriez, S. Ceri, Guiseppe Delagatti Bases de données réparties: Fragmentation et allocation 1 - Introduction inventés à la fin des années

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Introduction aux bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données ESIL Université de la méditerranée Odile.Papini@esil.univmed.fr http://odile.papini.perso.esil.univmed.fr/sources/bdmat.html Plan du cours 1 1 Qu est ce qu

Plus en détail

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer Bases de Données Réparties Définition Architectures Outils d interface SGBD Réplication SGBD répartis hétérogènes BD réparties Principe : BD locales, accès locaux rapides accès aux autres SGBD du réseau

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte jean-marie.pecatte@iut-tlse3.fr 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé

Plus en détail

Les bases de données Page 1 / 8

Les bases de données Page 1 / 8 Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...

Plus en détail

Bases de données cours 1

Bases de données cours 1 Bases de données cours 1 Introduction Catalin Dima Objectifs du cours Modèle relationnel et logique des bases de données. Langage SQL. Conception de bases de données. SQL et PHP. Cours essentiel pour votre

Plus en détail

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 - Evénements et architectures - Spécifications de performances

Plus en détail

Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT

Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT Ce guide explique les différentes étapes de l installation et de la configuration des composantes

Plus en détail

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1 Cours 6 Sécurisation d un SGBD DBA - M1ASR - Université Evry 1 Sécurisation? Recette d une application Vérification des fonctionnalités Vérification de l impact sur le SI existant Gestion du changement

Plus en détail

Compétences Business Objects - 2014

Compétences Business Objects - 2014 Compétences Business Objects - 2014 «Mars-Juin 2014. Réf : Version 1 Page 1 sur 34 Sommaire CONTEXTE DE LA REMISE A NIVEAU EN AUTOFORMATION... 3 1. MODELISATION... 4 1.1 DESCRIPTION FONCTIONNEL DE L'APPLICATION

Plus en détail

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES SGBD / Aide à la décision CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES Réf: KAO Durée : 15 jours (7 heures) OBJECTIFS DE LA FORMATION Ce cycle complet vous apportera les connaissances nécessaires pour

Plus en détail

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013 NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée

Plus en détail

Bases de Données relationnelles et leurs systèmes de Gestion

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

NoSQL : hype ou innovation? Grégory Ogonowski / Recherches Octobre 2011

NoSQL : hype ou innovation? Grégory Ogonowski / Recherches Octobre 2011 NoSQL : hype ou innovation? Grégory Ogonowski / Recherches Octobre 2011 Sommaire Introduction Théorème CAP NoSQL (principes, mécanismes, démos,...) Ce que nous avons constaté Recommandations Conclusion

Plus en détail

Algorithmique répartie

Algorithmique répartie Université Joseph Fourier 23/04/2014 Outline 1 2 Types de communication message envoyé à un groupe de processus Broadcast (diffusion) message envoyé à tous les processus du systèmes Unicast message envoyé

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

Bases de données avancées Introduction

Bases de données avancées Introduction Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)

Plus en détail

INTRODUCTION AUX BASES de DONNEES

INTRODUCTION AUX BASES de DONNEES INTRODUCTION AUX BASES de DONNEES Équipe Bases de Données LRI-Université Paris XI, Orsay Université Paris Sud Année 2003 2004 1 SGBD : Fonctionnalités et Principes Qu est qu une base de données? Un Système

Plus en détail

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Guide pour l Installation des Disques Durs SATA et la Configuration RAID Guide pour l Installation des Disques Durs SATA et la Configuration RAID 1. Guide pour l Installation des Disques Durs SATA... 2 1.1 Installation de disques durs Série ATA (SATA)... 2 2. Guide de Configurations

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

PROJET 1 : BASE DE DONNÉES REPARTIES

PROJET 1 : BASE DE DONNÉES REPARTIES PROJET 1 : BASE DE DONNÉES REPARTIES GESTION D UNE BANQUE Elèves : David Bréchet Frédéric Jacot Charles Secrétan DONNÉES DU PROJET SSC - Bases de Données II Laboratoire de Bases de Données BD réparties

Plus en détail