Bases de Données Réparties

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

Download "Bases de Données Réparties"

Transcription

1 Bases de Données Réparties Architecture Mise en œuvre Duplication et Réplication Michel Tuffery

2 BDR : Définition Ensemble de bases de données gérées par des sites différents et apparaissant à l utilisateur comme une base unique Les 4 universités Toulousaines : SELECT * FROM etudiant WHERE date_naissance=1994; UTM UPS USS INP BD réparties Michel Tuffery 2

3 Architecture d une BD répartie Gérant d applications Gérant d applications Gérant de données réparties Gérant de communication Réseau Gérant de communication Gérant de données réparties SGBD SGBD Site 1 Base 1 Site 2 Base 2 BD réparties Michel Tuffery 3

4 Fonctions d un SGBD réparti Gestion d un dictionnaire de données global Dictionnaire centralisé, dupliqué ou réparti Définition des données réparties Règles de localisation des données réparties Évaluation des requêtes réparties optimisation Gestion des transactions réparties COMMIT réparti Graphe local des transactions réparties BD réparties Michel Tuffery 4

5 Comparatif Client-Serveur et BD répartie Plusieurs bases vues par le client Plusieurs connexions Localisation explicite des bases ( connect string ou DSN) Règles de localisation dans l application 1 ordre SQL 1 seule BD N transactions mono-base Synchronisation des transactions dans l application Plusieurs COMMIT mono-base CLIENT SERVEUR Une base logique vue par le client Une seule connexion Indépendance à la localisation Règles de localisation dans le dictionnaire 1 ordre SQL plusieurs BD 1 transaction logique Synchronisation automatique des n sous-transactions 1 COMMIT généralisé BD REPARTIE BD réparties Michel Tuffery 5

6 Les 12 règles d un SGBD (1) Autonomie locale (2) Pas de site fédérateur (3) Exploitation en continue (4) Indépendance à la localisation (5) Règles de fragmentation (6) Duplications multiples (7) Requêtes distribuées (8) Transactions distribuées (9) Indépendance du matériel (10) Indépendance des systèmes d exploitation (11) Indépendance du réseau (12) Indépendance du SGBD BD réparties Michel Tuffery 6

7 (1) Autonomie locale Les données locales sont gérées localement Administration locale des données locales Site autonome pour ses propres opérations L administration de la BDR est décentralisée Administrateurs locaux coordonnés Pas d administration globale Possibilité d autoriser ou non un accès réparti à une base locale Accès local possible simultanément aux accès répartis BD réparties Michel Tuffery 7

8 (2) Pas de site fédérateur Pas de dépendance d un site par rapport à un autre Avantages : Architecture non vulnérable en cas de panne Pas de goulot d étranglement Inconvénients : Pas de contrôle centralisé des accès concurrents Pas de dictionnaire central Pas de recovery central Pas d exécution des requêtes centralisée BD réparties Michel Tuffery 8

9 (3) Exploitation en continue Pas d arrêt de la BDR pour la modification d un site Modification de la structure d une BD locale (LDD) Modification d un SGBD (Release, Upgrade, ) Extensibilité Ajout, suppression ou modification d un site Opération locale et non globale (règle 1) Propriété importante : évolution permanente BD réparties Michel Tuffery 9

10 (4) Indépendance à la localisation Objectif le plus important : changement de la localisation des données sans changer les programmes Nécessité d un dictionnaire réparti Avantages attendus : Illusion, pour l utilisateur, de travailler sur un seul site avec BD centralisée Évolution des règles de localisation sans impact sur l application Invisibilité du ou des réseaux (règle 11) Inconvénient majeur : Attention aux performances après un changement de localisation de données BD réparties Michel Tuffery 10

11 (5) Règles de fragmentation Découpage d une relation pour des raisons fonctionnelles Mémorisation des règles de localisation (optimisation des requêtes) Transparent pour l utilisateur Trois types de fragmentation Horizontal, Vertical et Mixte Opérateurs SQL utilisés projection et restriction pour fragmenter UNION et JOINTURE pour reconstituer BD réparties Michel Tuffery 11

12 Fragmentation horizontale ETUDIANT_L ETUDIANT_M ETUDIANT ETUDIANT_D Projection et Sélection UNION BD réparties Michel Tuffery 12

13 Fragmentation verticale SCOLARITE S T A G E PROJECTION JOINTURE ETUDIANT Duplication de la clé primaire sur chaque fragment BD réparties Michel Tuffery 13

14 Fragmentation mixte EMPLOYE NOM AGE NO SAL DPT E2 E3 E1 E1 ( NO, SAL, DPT) E2 (NOM, AGE, NO) E3 (NOM, AGE, NO) AGE<=30 AGE>30 Prise en compte des règles de fragmentation pour optimiser les requêtes : SELECT. FROM e3 WHERE. AND age <28 SELECT e3.* FROM e2,e3 WHERE e2.no=e3.no BD réparties Michel Tuffery 14

15 Fragmentation : construction de la BDR Construction descendante : la base centralisée est distribuée sur plusieurs sites (BDD) C est le cas le plus fréquent La base centralisée devient trop importante : elle est distribuée avec des règles Construction ascendante : les diverses bases locales sont restructurées et assemblées, la base est répartie sur plusieurs sites (BDR) Cas du rachat ou du regroupement d entreprises Principe : "ne pas dupliquer les données" BD réparties Michel Tuffery 15

16 Faire une bonne fragmentation Horizontale Fragments (prédicats) disjoints Fréquence d accès uniforme (complétude) aux fragments Verticale Regroupement des attributs accédés souvent ensemble Calcul de "l affinité" entre deux attributs BD réparties Michel Tuffery 16

17 (6) Duplications multiples (indépendance à la localisation) Duplication des données sur des sites distants Gain de temps pour les accès en lecture (interdit en modification) augmentation des performances Mises à jour par rafraîchissements périodiques à partir du site qui possède le fragment initial Inconvénient : pas de mise à jour immédiate Intéressant pour les données stables BD réparties Michel Tuffery 17

18 Duplication : le principe des clichés ou "snapshots" Duplication en "cohérence faible" Rafraîchissements périodiques Plusieurs solutions techniques "estampillage" des lignes modifiées avec la date et heure de sa dernière MAJ Utilisation d une "table différentielle" contenant uniquement les lignes modifiées Oracle a choisi la deuxième technique avec un "journal" de transactions sur le fragment initial (voir plus loin) BD réparties Michel Tuffery 18

19 (7) Requêtes distribuées Évaluation des requêtes distribuées ou réparties plan d exécution réparti Le SGBD comprend que la requête traite avec des objets physiques distants La requête est reconstruite en tenant compte de la localisation des objets Les opérateurs de restriction (sélection, projection) qui réduisent la taille sont appliqués au plus tôt Utilisation du parallélisme BD réparties Michel Tuffery 19

20 Évaluation d une requête répartie DECOMPOSITION SQL ALGEBRE LOCALISATION Reconstruction de la requête avec le dictionnaire réparti OPTIMISATION EXECUTION Ordonnancement et algorithme d accès : règles de localisation choix du site de transfert semi - jointure BD réparties Michel Tuffery 20

21 Optimisation d une requête répartie : la semi - jointure Site 1 : Client (IdCli, nomcli,.) Site 2 : Emprunt (IdCli,IdOuv,.) Site 3 : Ouvrage (IdOuv, titre,.) SELECT c.nomcli, o.titre FROM client c, emprunt e, ouvrage o WHERE c.idcli=e.idcli AND e.idouv=o.idouv AND c.adrcli= Tlse AND o.auteur= Michel ; BD réparties Michel Tuffery 21

22 Requête répartie avec jointures Jointure (Site 3) Jointure (Site 2) Sélection adrcli= Tlse Emprunt (Site 2) Sélection auteur= Michel Client (Site 1) Ouvrage (Site 3) BD réparties Michel Tuffery 22

23 Requête répartie avec semi-jointures Jointure (Site 3) Jointure (Site 1) O Semi-Jointure (Site 2) Semi-Jointure (Site 2) C O (idouv, titre) Emprunt (Site 2) Projection Idouv Projection IdCli C (idcli, nomcli) Sélection auteur= Michel Sélection adrcli= Tlse Client (Site 1) Ouvrage (Site 3) BD réparties Michel Tuffery 23

24 (8) Transactions distribuées Sécurité, fiabilité et continuité quoi qu il arrive Différents types de pannes Panne d une transaction en exécution Panne simple d un site Panne catastrophique d un site Notion de transaction Atomicité Cohérence Isolation Durabilité BD réparties Michel Tuffery 24

25 Panne d une transaction ou panne simple PANNE Garantir l atomicité des transactions en utilisant les mécanismes de journalisation et le protocole de validation en deux étapes Transactions réparties : commit généralisé Commit normal Le site initiateur d une transaction décide du commit Les sites exécutants obéissent SITE 1 SITE 0 SITE 2 COMMIT Rollback effectué!! Solution insuffisante COMMIT Commit effectué BD réparties Michel Tuffery 25

26 Commit à deux phases (2PC) Le site initiateur envoie, à tous les sites touchés par la transaction, un "prêt à commettre? " Chaque site répond "prêt" Le site initiateur envoie les commit à tous les sites Chaque site répond "ok" La transaction est validée quand tous les sites ont fait le commit Tous les cas d erreur sont traités grâce aux journaux sur chaque site BD réparties Michel Tuffery 26

27 Commit à deux phases SITE 1 Prêt à commettre? SITE 0 SITE 2 Prêt à commettre? Prêt Prêt Commit Commit OK État? Commit OK BD réparties Michel Tuffery 27

28 Exemples de validation en deux étapes (1) Validation normale S1 S0 S2 Prêt? Prêt? Prêt Prêt Commit Commit OK OK BD réparties Michel Tuffery 28

29 Exemples de validation en deux étapes (2) Panne de S2 avant d être prêt S1 S0 S2 Prêt? Prêt? Prêt Défaire TIMEOUT Défaire OK Reprise à chaud (rollback) BD réparties Michel Tuffery 29

30 Exemples de validation en deux étapes (3) Panne de S2 après envoi de prêt S1 S0 S2 Prêt? Prêt? Prêt Prêt Commit OK Commit Prêt Commit OK Reprise BD réparties Michel Tuffery 30

31 Exemples de validation en deux étapes (4) Panne du coordinateur S1 S0 S2 Prêt? Prêt? Prêt Prêt? Prêt Commit OK Prêt Prêt? Prêt Commit OK BD réparties Michel Tuffery 31

32 Reprise à froid après une panne catastrophique Restauration de la base à partir de la sauvegarde et du journal ("Recovery de la base") Une reprise est toujours locale Retour à un état stable de l ensemble du système réparti Le site coordinateur décide : Le site en panne peut restaurer la transaction ("prêt") et la séquence se poursuit (processus "Reco") Le site en panne ne peut restaurer la transaction : Demande à tous les sites de défaire les transactions Risque d effet domino BD réparties Michel Tuffery 32

33 Problème des accès concurrents verrou mortel global Pose de verrous sur des objets répartis Gestion d un graphe d attente réparti Graphe Qui Attend Quoi (QAQ) réparti Chaque site gère son propre graphe local et communique l information sur ses propres transactions bloquées Site 1 Site 2 T1 T3 T2 T4 BD réparties Michel Tuffery 33

34 (9), (10), (11) Indépendance du matériel, des systèmes d exploitation et du réseau Une base est "cliente" d une autre base et vice versa : architecture client - serveur C est le "connect string" ou "chaîne hôte" qui permet cette indépendance Contenu du "connect string" Protocole réseau Serveur hôte (n port) Nom de l instance de la base BD réparties Michel Tuffery 34

35 (12) Indépendance du SGBD Très difficile d arriver à cette indépendance Interfaces communes minimum : Protocole d échange Lecture et traduction des dictionnaires, types de données. Fonctions réciproques client serveur Système de mise à jour cohérent Verrouillage cohérent,.. Noyau standard avec SQL ANSI BD réparties Michel Tuffery 35

36 Création des fragments dans les bases distantes SQL-ANSI propose un ordre CREATE FRAGMENT permettant de créer les tables distantes Cet ordre permettra de conserver les règles de fragmentation dans le dictionnaire réparti Cet ordre n est pas encore implémenté Oracle propose l ordre COPY COPY est un ordre SQL+ permettant de Duplicationr un fragment d une base vers une autre en utilisant les connect string COPY possède 2 variables d environnement configurables COPYCOMMIT : intervalle du nombre de lignes transférées entre 2 COMMIT (0 : COMMIT à la fin) ARRAYSIZE : nombre de lignes transférées par chaque FETCH BD réparties Michel Tuffery 36

37 Commande COPY Syntaxe de la commande COPY FROM spécification_base1 - TO spécification_base2 - {APPEND CREATE REPLACE INSERT} - fragment [(colonnes)] - USING SELECT. APPEND : [CREATE] + INSERT Caractère ligne suite CREATE : CREATE + INSERT REPLACE : [DROP] + CREATE + INSERT INSERT : INSERT BD réparties Michel Tuffery 37

38 Exemples de COPY Création ou remplacement du fragment COPY FROM - TO - REPLACE enseignants_info - USING SELECT * FROM enseignants - WHERE ufr='info' Création d un fragment initial avec restriction verticale COPY FROM - TO - CREATE etudiant_scol(ine,nom,adr) - USING SELECT inet,nomet,adret - FROM etudiant BD réparties Michel Tuffery 38

39 Contraintes des fragments La commande COPY n exporte pas les contraintes (sauf NOT NULL) Il faut les recréer Clés primaires Clés étrangères Contraintes autres Problème pour les clés étrangères distantes Impossible d utiliser les DB LINKS (voir plus loin) Créer deux TRIGGERS : Sur le fragment fils : le père doit exister Sur le fragment père : suppression impossible si des fils sont présents BD réparties Michel Tuffery 39

40 Bases réparties : travail de compte à compte Ne pas travailler avec les véritables comptes propriétaires des données Chaque site distant doit créer un compte ayant accès aux objets répartis locaux Ces comptes 'miroir' sont crées par le DBA et reçoivent les droits d accès par les propriétaires des données réparties Chaque responsable local de la BDR ne connaît que le password des comptes 'miroir' distants BD réparties Michel Tuffery 40

41 Organisation de l ensemble base1 base2 OWNER 1 OWNER 2 GRANT GRANT DB LINK Compte miroir bdr/bdr Compte miroir bdr/bdr BD réparties Michel Tuffery 41

42 Lien inter-bases : Database Link Lien défini par un utilisateur pour relier deux bases Connaissance du user/password du compte miroir distant Utilisation du 'connect string' du serveur local pour accéder à l instance distante CREATE DATABASE LINK dbl_base2 CONNECT TO bdr IDENTIFIED by bdr USING 'vers_base2'; Nom du connect string User/password BD réparties Michel Tuffery 42

43 Manipulation des DataBase Link Suppression d un lien DROP DATABASE LINK dbl_base2; Dictionnaire de données : USER_DB_LINKS SQL> col DB_LINK format a8 SQL> col USERNAME format a8 SQL> col PASSWORD format a8 SQL> col HOST format a8 SQL> col CREATED format a8 SQL> select * from user_db_links; DB_LINK USERNAME PASSWORD HOST CREATED DB_ORA MICHEL MICHEL oracle 14/01/03 BD réparties Michel Tuffery 43

44 Utilisation des DataBase Link Sélection d un fragment distant SQL> select * from INE NOM DIPLO CYCLE étudiant 100 miag étudiant 200 stri étudiant 300 miag étudiant 400 stri2 2 Manipulation distante SQL> update SET cycle=3; 4 ligne(s) mise(s) à jour. BD réparties Michel Tuffery 44

45 Indépendance à la localisation les SYNONYMS Création d un synonyme CREATE SYNONYM etudiant FOR Suppression d un synonyme DROP SYNONYM etudiant; BD réparties Michel Tuffery 45

46 Constructions des objets virtuels Reconstitution d un objet fragmenté : VIEW CREATE VIEW etudiant (ine,nom,adr,cycle) AS SELECT inet,nomet,adret, L FROM etud_licence UNION SELECT inet,nomet,adret, M FROM etud_mastere; Reconstitution d un objet non éclaté : SYNONYM CREATE SYNONYM sequence_client FOR BD réparties Michel Tuffery 46

47 Manipulation d une base répartie les Procédures stockées Les procédures stockées ou packages se comportent comme de véritables méthodes Les données réparties sont encapsulées et ne sont pas accessibles directement aux développeurs clients Les règles de fragmentation sont dans les procédures La localisation des données est transparente aux utilisateurs : appel des procédures sans connaissance de la base La transaction est traitée dans la procédure (COMMIT / ROLLBACK) BD réparties Michel Tuffery 47

48 Manipulation d une base répartie les Triggers INSTEAD OF Ces triggers s appliquent sur des vues Les développeurs clients connaissent les objets virtuels et exécutent les ordres du LMD Les triggers INSTEAD OF prennent la main et font les mises à jour sur les fragments distants Les développeurs serveur connaissent les règles de distribution Ces triggers lèvent éventuellement des erreurs applicatives (raise_application_error) La transaction n est pas dans le Trigger mais dans le programme client BD réparties Michel Tuffery 48

49 Exemple de Trigger INSTEAD OF CREATE TRIGGER insert_etudiant INSTEAD OF INSERT ON etudiant FOR EACH ROW BEGIN IF :NEW.cycle= L THEN INSERT INTO VALUES (:NEW.ine,:NEW.nom,:NEW.adresse); INSERT INTO VALUES (:NEW.ine,:NEW.nomstage,:NEW.adstage); ELSIF :NEW.cycle= M THEN... Idem pour M et D... ELSE RAISE_APPLICATION_ERROR (-20455, Entrer M, L ou D ); END IF; END; / BD réparties Michel Tuffery 49

50 Duplication et Réplication des données réparties

51 Distribution, Duplication et Réplication Distribution BD distribuée ou répartie Sans redondance Duplication Duplication locale d un fragment éloigné maître Fragment local en lecture seule Notion de cliché ou snapshot (materialized view) Duplication synchrone (maj instantannée) ou asynchrone (maj en différé) Réplication Pas de fragment maître Duplications en miroir Réplication synchrone (emploi de jetons) ou asynchrone (problèmes de cohérence) BD réparties Michel Tuffery 51

52 Duplication de données : différentes possibilités Duplication d une base entière EXPORT IMPORT programmé Duplication d une table Create ou Copy Duplication synchrone : trigger ou trigger instead of Duplication asynchrone programmée par programmateur Duplication asynchrone assurée par Oracle : les snapshot ou vues matérialisées BD réparties Michel Tuffery 52

53 Exportation et Importation d une base Base maître Fichier de paramètres Log EXPORT Fichier export Base dupliquée IMPORT Automatisation par shell OS Fichier de paramètres Log BD réparties Michel Tuffery 53

54 Duplication d une table distante Processus simple, rapide et fiable (PUSH ou PULL) Duplication complète (sans les contraintes) CREATE TABLE copie AS SELECT * FROM Duplication d un fragment CREATE TABLE Duplication AS SELECT col1, col3, col5 FROM WHERE prédicat_de_resriction; BD réparties Michel Tuffery 54

55 Duplication d une table distante (2) Table locale existante DELETE FROM copie; INSERT INTO copie SELECT * FROM COMMIT; Marquage des lignes transférées INSERT INTO copie SELECT * FROM WHERE jeton='pas transféré' FOR UPDATE; UPDATE maître SET jeton='transféré' WHERE jeton='pas transféré'; COMMIT; BD réparties Michel Tuffery 55

56 Duplication d une table distante (3) COPY La Duplication peut être 'pilotée' à partir d un site tiers Plusieurs cas de Duplication (page 37) Duplication des données sans les contraintes Fortement utilisé pour créer les fragments répartis initiaux BD réparties Michel Tuffery 56

57 Duplication Synchrone Mise à jour instantanée de la Duplication pour toute modification de la table maître La duplication synchrone fait partie de la transaction Maître Cliché Ordre de MAJ Ordre de MAJ déclenché instantanément BD réparties Michel Tuffery 57 Duplication Synchrone

58 Duplication Synchrone : mise en œuvre avec les trigger Trigger de type 'before' qui répercute l ordre exécuté sur la table maître dans la table cliché La transaction est gérée par le client : exceptions possibles Insertion, mise à jour et suppression de données Plusieurs clichés possibles Méthode 'PUSH' Cliché 1 Maître TRIGGER Ordre de synchronisation Cliché 2 Ordre de MAJ BD réparties Michel Tuffery 58 Duplication Synchrone

59 Duplication Asynchrone par programmateur La mise à jour du cliché est différée Utilisation d un programmateur et d une file d attente Maître TRIGGER Cliché Mise de l ordre en attente Ordre de MAJ File d attente Ordre déclenché sur horloge (programmateur) BD réparties Michel Tuffery 59 Duplication Asynchrone par programmateur

60 Exemple de mise en attente d un ordre Un trigger de type 'before' est posé sur la table maître Important de conserver la séquence des ordres de mise à jour Utilisation du dblink CREATE TRIGGER mise_attente BEFORE INSERT ON maître FOR EACH ROW vordre VARCHAR(200); BEGIN vordre:='insert INTO VALUES '; INSERT INTO attente(numéro,ordre) VALUES (seq_ordre.nextval,vordre); END; BD réparties Michel Tuffery 60 Duplication Asynchrone par programmateur

61 Exemple de mise en attente d ordres Ordres de mise à jour dans maître INSERT INTO maitre VALUES('ligne1'); INSERT INTO maitre VALUES('ligne2'); INSERT INTO maitre VALUES('ligne3'); DELETE FROM maitre WHERE nom='ligne2'; UPDATE maitre SET nom='ligne33' WHERE nom='ligne3'; Table Maître SQL> SELECT * FROM maitre; NOM ligne1 ligne33 BD réparties Michel Tuffery 61 Duplication Asynchrone par programmateur

62 Exemple de mise en attente d ordres (2) Table attente SQL> select * from attente; NUMERO ORDRE insert into values('ligne1') 2 insert into values('ligne2') 3 insert into values('ligne3') 4 delete from where nom = 'ligne2' 5 update set nom = 'ligne33' where nom = 'ligne3' BD réparties Michel Tuffery 62 Duplication Asynchrone par programmateur

63 Notion de Programmateur Service de déclenchement d un processus par ordre d une horloge Logiciel installé extérieur (OS) ou interne à la base de données La table d attente peut être sur le site maître ou de Duplication Le programmateur peut être sur le site maître ou de Duplication Programmateur interne à la BD : JOBS BD réparties Michel Tuffery 63 Duplication Asynchrone par programmateur

64 Programmateur avec Oracle Processus (Unix) ou Service de type SNP Vérifier l état du service sur NT (activé) Le processus ouvre une session dans la base à intervalle régulier (programmé) et consulte les tâches Exécution en tâche de fond Utilisation multiple : sauvegarde, export, duplication, MAJ d attributs dérivés,. Exécution asynchrone BD réparties Michel Tuffery 64 Duplication Asynchrone par programmateur

65 Mise en service du programmateur (DBA) Vérification du nombre de jobs autorisés SQL> SELECT name,value FROM v$parameter 2 WHERE name LIKE '%job%'; NAME VALUE job_queue_processes 10 Si = 0, modifier le paramètre (init.ora, pfile) ou la commande système : ALTER SYSTEM SET job_queue_processes=10; au maximum Droits d exécution du package CONNECT system GRANT EXECUTE ON dbms_job TO user; BD réparties Michel Tuffery 65 Duplication Asynchrone par programmateur

66 Package DBMS_JOB Ce package permet de manipuler des taches ou JOBS Il contient des procédures : REMOVE CHANGE WHAT RUN SUBMIT BD réparties Michel Tuffery 66 Duplication Asynchrone par programmateur

67 Procédure SUBMIT Spécification PROCEDURE submit ( job OUT BINARY_INTEGER, what IN VARCHAR2, next_date IN DATE DEFAULT sysdate, interval IN VARCHAR2 DEFAULT 'null', no_parse IN BOOLEAN DEFAULT FALSE, instance IN BINARY_INTEGER DEFAULT 0, force IN BOOLEAN DEFAULT FALSE ); -- Submit a new job.chooses JOB from the -- sequence sys.jobseq. -- For example, -- variable x number; -- execute dbms_job.submit(:x,'pack.proc(''arg1'');' --,sysdate,'sysdate+1'); BD réparties Michel Tuffery 67 Duplication Asynchrone par programmateur

68 Autres Procédures REMOVE WHAT PROCEDURE remove( job IN BINARY_INTEGER ); -- Remove an existing job from the job queue. -- This currently does not stop a running job. -- execute dbms_job.remove(14144); PROCEDURE what( job IN BINARY_INTEGER, what IN VARCHAR2 ); -- Change what an existing job does, and --replace its environment NEXT_DATE PROCEDURE next_date ( job IN BINARY_INTEGER, next_date IN DATE ); -- Change when an existing job will next execute BD réparties Michel Tuffery 68 Duplication Asynchrone par programmateur

69 Exemple de manipulation de job Procédure d insertion d une ligne avec horaire drop table testjob; create table testjob (t varchar(50)); create or replace procedure test_job is heure varchar(20); begin heure:=to_char(sysdate,'hh24-mi-ss'); insert into testjob values('ajout : ' heure) ; end; / execute test_job; SQL> select * from testjob; T ajout : BD réparties Michel Tuffery 69 Duplication Asynchrone par programmateur

70 Exemple de manipulation de job (2) variable numjob number; execute dbms_job.submit(:numjob,'test_job;', sysdate,'sysdate+1/1440'); SQL>print numjob NUMJOB Attention au ; 3 SQL> select * from testjob T ajout : ajout : ajout : SQL>select job,what from user_jobs; JOB WHAT test_job; execute dbms_job.remove(3); BD réparties Michel Tuffery 70 Duplication Asynchrone par programmateur

71 Exemple de job d extraction de la file d attente Sans traiter les exceptions CREATE PROCEDURE exeordres IS CURSOR c1 is SELECT ordre FROM attente ORDER BY numero FOR UPDATE; BEGIN FOR c1rec IN c1 LOOP EXECUTE IMMEDIATE c1rec.ordre; DELETE FROM attente WHERE CURRENT OF c1; END LOOP; COMMIT; END; Le job qui lance le programmateur variable numjob number; execute dbms_job.submit(:numjob,'exeordres;', sysdate,'sysdate+1'); print numjob BD réparties Michel Tuffery 71 Duplication Asynchrone par programmateur

72 Placement du programmateur Gestion lourde pour la base (et l OS) Gestion des processus de fond Placé dans la base la moins chargée Deux types de propagations possibles PUSH Le programmateur "pousse" les ordres de MAJ PULL Le programmateur "tire" les ordres de MAJ BD réparties Michel Tuffery 72 Duplication Asynchrone par programmateur

73 Propagation par PUSH La base maître pousse vers le répliqua Maître Cliché Ordre de MAJ Mise de l ordre en attente Ordre déclenché sur horloge (programmateur) BD réparties Michel Tuffery 73 Duplication Asynchrone par programmateur

74 Propagation par PULL Le répliqua tire les modifications Maître Cliché Ordre de MAJ Mise de l ordre en attente Ordre déclenché sur horloge (programmateur) BD réparties Michel Tuffery 74 Duplication Asynchrone par programmateur

75 Gestion des erreurs Obligation de gérer les erreurs de façon autonome Plusieurs types d erreur Erreur de connexion vers le site de répliqua Violation de contraintes (?) Panne du réplicateur. Création d un journal (log) des erreurs Certaines erreurs sont irrattrapables Actions ponctuelles pour ramener à un état stable BD réparties Michel Tuffery 75 Duplication Asynchrone par programmateur

76 Duplication par Oracle Les vues matérialisées ou snapshots Technique d Oracle pour la duplication asynchrone Un cliché ou snapshot est un fragment de données en lecture seule Le cliché est rafraîchi à intervalles réguliers (refresh) ou à la demande Les rafraichissements sont complets (complete) ou différentiels (fast) Le cliché (fragment dupliqué) peut être le résultat de : Restriction verticale d une table Restriction horizontale Une jointure de plusieurs tables BD réparties Michel Tuffery 76 Duplication Asynchrone par Oracle

77 Principe général C est le site du cliché qui tire les MAJ (pull) On crée une vue matérialisée pour créer le cliché avec les méthodes de rafraîchissement et le contenu choisis Pour chaque table maître qui alimente un cliché, il faut créer un journal de vue matérialisée Ce journal contient les mises à jour différées gérées selon deux techniques possibles Par rowid (pas conseillé en cas de réorganisation de blocs) Par clé primaire (utilisé par défaut) table maître avec une clé primaire obligatoire Une table maître (un même journal) peut alimenter plusieurs fragments dupliqués BD réparties Michel Tuffery 77 Duplication Asynchrone par Oracle

78 Mise en œuvre d un rafraîchissement complet exécuté volontairement Création de la table maître sur le site maître DROP TABLE maitre; CREATE TABLE maitre (idm NUMBER PRIMARY KEY, texte varchar(20)); Création du journal de vue matérialisée sur le site maître DROP MATERIALIZED VIEW LOG ON maitre; CREATE MATERIALIZED VIEW LOG ON maitre; BD réparties Michel Tuffery 78 Duplication Asynchrone par Oracle

79 Journal de vue matérialisée De nom MLOG$_nom_de_table_maître SQL> DESC mlog$_maitre Clé primaire Nom Type IDM NUMBER Ordre du LMD SNAPTIME$$ DATE DMLTYPE$$ VARCHAR2(1) OLD_NEW$$ VARCHAR2(1) CHANGE_VECTOR$$ RAW(255) Old ou New Pour les copies multiples BD réparties Michel Tuffery 79 Duplication Asynchrone par Oracle

80 Ordre de création de vue matérialisée (1) Création sans intervalles de rafraîchissements CREATE MATERIALIZED VIEW copie REFRESH [NEVER COMPLETE FAST FORCE] AS SELECT FROM ; 4 méthodes de rafraîchissement NEVER : jamais rafraîchie COMPLETE : transfert complet FAST : transferts différentiels FORCE : FAST si possible, COMPLETE sinon BD réparties Michel Tuffery 80 Duplication Asynchrone par Oracle

81 Ordre de création de vue matérialisée (2) Création avec intervalles de rafraîchissements CREATE MATERIALIZED VIEW copie REFRESH FAST START WITH sysdate NEXT sysdate + 1 WITH PRIMARY KEY AS SELECT FROM ; Début du transfert Intervalle de rafraîchissement BD réparties Michel Tuffery 81 Duplication Asynchrone par Oracle

82 Mise en œuvre : cliché par rafraîchissement manuel Création du cliché CREATE MATERIALIZED VIEW cliché REFRESH FAST AS SELECT * FROM On utilisera la procédure refresh du package dbms_mview pour rafraîchir DBMS_MVIEW.REFRESH('nom_mv','F',NULL); F (fast) ou C (complète) BD réparties Michel Tuffery 82 Duplication Asynchrone par Oracle

83 Mises à jour sur la table maître Ordres de mise à jour INSERT INTO maitre VALUES(1,'ligne 1'); INSERT INTO maitre VALUES(2,'ligne 2'); INSERT INTO maitre VALUES(3,'ligne 3'); UPDATE maitre SET texte = 'LIGNE 1' WHERE idm=1; UPDATE maitre SET texte = 'LIGNE 3' WHERE idm=3; DELETE FROM maitre WHERE idm=2; SQL> SELECT * FROM maitre; IDM TEXTE LIGNE 1 3 LIGNE 3 BD réparties Michel Tuffery 83 Duplication Asynchrone par Oracle

84 Contenu du journal de MV La date indique qu aucun rafraîchissement n a eu lieu à partir de ce journal (pour un éventuel autre cliché) SQL> COL CHANGE_VECTOR$$ FORMAT a10 SQL> SELECT * FROM mlog$_maitre; IDM SNAPTIME D O CHANGE_VEC /01/00 I N FE 2 01/01/00 I N FE 3 01/01/00 I N FE 1 01/01/00 U U /01/00 U U /01/00 D O 00 BD réparties Michel Tuffery 84 Duplication Asynchrone par Oracle

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

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

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 Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes. Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger

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

BD parallèles et réparties

BD parallèles et réparties LOG660 - Bases de données de haute performance BD parallèles et réparties Département de génie logiciel et des TI BD parallèles vs réparties BD réparties Les données se trouvent sur plusieurs sites (noeuds)

Plus en détail

Administration des bases de données. Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/

Administration des bases de données. Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ Administration des bases de données Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ Administration des bases de données II Objets avancés dans les bases de données OBJECTIFS 2.1. NOTIONS 2.1.1.

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

Module BDR Master d Informatique (SAR)

Module BDR Master d Informatique (SAR) Module BDR Master d Informatique (SAR) Cours 6- Bases de données réparties Anne Doucet Anne.Doucet@lip6.fr 1 Bases de Données Réparties Définition Conception Décomposition Fragmentation horizontale et

Plus en détail

Considérons une partie d un modèle conceptuel de données avec les schémas d entités. Figure 1: Une partie du modèle conceptuel de données

Considérons une partie d un modèle conceptuel de données avec les schémas d entités. Figure 1: Une partie du modèle conceptuel de données Considérons une partie d un modèle conceptuel de données avec les schémas d entités suivants: EMP(EmpNo, Enom, Job, DirNo, Sal, Prime) DEPT(DeptNo, Dnom, Adr) Où EmpNo est la clé primaire de EMP et DeptNo

Plus en détail

Bases de données réparties

Bases de données réparties Bases de données réparties J. Akoka - I. Wattiau 1 Contexte Technologique : des solutions de communication efficace entre les machines des SGBD assurent la transparence des données réparties standardisation

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

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

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

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

Base de données II Module 3b

Base de données II Module 3b Base de données II Module 3b Bases de données répliquées Environnement Oracle et SQL Server Eddy.Meylan@hegne.ch E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 1 Plan

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

Cours 7 : Langage de définition, manipulation et contrôle des données

Cours 7 : Langage de définition, manipulation et contrôle des données Cours 7 : Langage de définition, manipulation et contrôle des données Objets d une base de données Dans un schéma Tables, vues Index, clusters, séquences, synonymes Packages, procédures, fonctions, déclencheurs

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

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste Christian Soutou Avec la participation d Olivier Teste SQL pour Oracle 4 e édition Groupe eyrolles, 2004, 2005, 2008, 2010, is BN : 978-2-212-12794-2 Partie III SQL avancé La table suivante organisée en

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple

Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple Ce document est publié sous licence Creative Commons CC-by-nc-nd. Il ne peut ni être modifié, ni faire l objet d une exploitation

Plus en détail

Bases de données avancées

Bases de données avancées Bases de données avancées Jean-Yves Antoine LI - Université François Rabelais de Tours Jean-Yves.Antoine@univ-tours.fr UFR Sciences et Techniques IUP SIR Blois Master 1 Bases de Données avancées IUP Blois,

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

//////////////////////////////////////////////////////////////////// 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

Configurer la supervision pour une base MS SQL Server Viadéis Services

Configurer la supervision pour une base MS SQL Server Viadéis Services Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès

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

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

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

Master Exploration Informatique des données DataWareHouse

Master Exploration Informatique des données DataWareHouse Master Exploration Informatique des données DataWareHouse Binôme Ahmed BENSI Enseignant tahar ARIB SOMMAIRE I. Conception...1 1. Contexte des contrats...1 2. Contexte des factures...1 II. Modèle physique...2

Plus en détail

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche Répartition, Parallèlisation, hétérogénéité dans les SGBD AI Mouaddib Département Informatique Université de Caen Systèmes d informations nouvelles générations! Constat :! Utilisation de nouveaux support

Plus en détail

Architecture des SGBD Architecture centralisée

Architecture des SGBD Architecture centralisée Chapitre 1 Université du Havre MASTER MATHÉMATIQUES ET INFORMATIQUE-Option SIRES 2013/20134 COURS BASES DE DONNEES REPARTIES Nakechbandi M., LITIS, Email : nakech@free.fr 1. Introduction : Notion de Bases

Plus en détail

Devoir Data WareHouse

Devoir Data WareHouse Université Paris XIII Institut Galilée Master 2-EID BENSI Ahmed CHARIFOU Evelyne Devoir Data WareHouse Optimisation, Transformation et Mise à jour utilisées par un ETL Mr R. NEFOUSSI Année 2007-2008 FICHE

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

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

Chapitre 1. 1. Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Chapitre 1. 1. Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties Université du Havre MASTER MATHÉMATIQUES ET INFORMATIQUE-Option SIRES 2010/2011 COURS BASES DE DONNEES REPARTIES Nakechbandi M., LITIS, Email : nakech@free.fr Chapitre 1 1. Introduction : Notion de Bases

Plus en détail

Bases de données et sites WEB

Bases de données et sites WEB Bases de données et sites WEB Cours2 : Sécurité et contrôles d accès Anne Doucet 1 Authentification Autorisation Privilèges Rôles Profils Limitations de ressources Plan Audit Contrôle d accès via les vues

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

Les transactions 1/40. 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/40. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions 1/40 2/40 Pourquoi? Anne-Cécile Caron Master MAGE - BDA 1er trimestre 2013-2014 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

Bases de Données & Interfaces Web. stanislas.oger@univ-avignon.fr

Bases de Données & Interfaces Web. stanislas.oger@univ-avignon.fr Bases de Données & Interfaces Web stanislas.oger@univ-avignon.fr 1 Architecture d'un SI Web Fonctionnement Dynamique avec Base de Données 2 Idée Dynamiser les pages avec des infos venant de BDD Enregistrer

Plus en détail

Feuille de TD 2 de BDA, M1 2008 2009 11-03-2011. SGBDRO avec Oracle. 1 Première version simpliste

Feuille de TD 2 de BDA, M1 2008 2009 11-03-2011. SGBDRO avec Oracle. 1 Première version simpliste Feuille de TD 2 de BDA, M1 2008 2009 11-03-2011 Les fichiers en format pdf des projections du cours sont disponibles sur la page : http://www.ibisc.univevry.fr/~serena mais ne pas les imprimer au bât.

Plus en détail

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie Cours Web Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr Structured Query Language Langage de manipulation des données stockées dans une base de données interrogation/insertion/modification/suppression

Plus en détail

Cours de Bases de Données Avancées 2006-2007 Groupe cinema, Rapport 4

Cours de Bases de Données Avancées 2006-2007 Groupe cinema, Rapport 4 1 Annexes Avec ce rapport il faut rendre en annexe le script SQL corrigé qui permet de créer la base de données selon votre modèle relationnel ainsi que de la peupler avec un nombre de tuples suffisant.

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 Bilan : Des vues à PL/SQL corrigé Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Cas exemple 2 Les tables... 3 Vues et index 4 Privilèges 5 Fonctions

Plus en détail

Le langage SQL (première partie) c Olivier Caron

Le langage SQL (première partie) c Olivier Caron Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)

Plus en détail

SQL Historique 1982 1986 1992

SQL Historique 1982 1986 1992 SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry Cours 3 Développement d une application BD 1 Plan du cours Gestion de la sécurité des données Optimisation des schémas de bases via la dénormalisation Utilisation de vues Placement du code applicatif dans

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Partie 0 : Gestion des tablespace et des utilisateurs... 3 Sommaire Partie 0 : Gestion des tablespace et des utilisateurs... 3 1- Créer deux TableSpaces votre_nom-tbs et Votre_nom-TempTBS :... 3 2. Créer un utilisateur qui porte votre nom :... 3 3. Attribuer à

Plus en détail

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/

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

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

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

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

Auto-évaluation Oracle: cours de base

Auto-évaluation Oracle: cours de base Auto-évaluation Oracle: cours de base Document: F0475Test.fm 14/01/2008 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION ORACLE: COURS DE

Plus en détail

Auto-évaluation DB2 for z/os: cours de base

Auto-évaluation DB2 for z/os: cours de base Auto-évaluation DB2 for z/os: cours de base Document: f1067test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION DB2 FOR Z/OS:

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

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

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

Partie II Cours 3 (suite) : Sécurité de bases de données

Partie II Cours 3 (suite) : Sécurité de bases de données Partie II Cours 3 (suite) : Sécurité de bases de données ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://odile.papini.perso.esil.univmed.fr/sources/ssi.html Plan du cours 1 Introduction

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Partie 1 : Notion de bases de données (Conception

Plus en détail

Instructions SQL. Première partie : Langage de description et de gestion des données

Instructions SQL. Première partie : Langage de description et de gestion des données Instructions SQL Première partie : Langage de description et de gestion des données Quelques instructions et leur syntaxe 1. Introduction Trois principales catégories d instructions. Instructions de création

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

Utiliser Service Broker pour les tâ ches progrâmme es dâns SQL Express

Utiliser Service Broker pour les tâ ches progrâmme es dâns SQL Express Utiliser Service Broker pour les tâ ches progrâmme es dâns SQL Express Chacun sait que SQL Express ne dispose pas de l Agent SQL qui permet l exécution automatique de tâches programmées, comme par exemple

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

Synchroniser ses données. C est plus pas facile que c est compliqué!

Synchroniser ses données. C est plus pas facile que c est compliqué! Synchroniser ses données C est plus pas facile que c est compliqué! Merci à nos sponsors Merci à nos volontaires Arian Papillon a.papillon@datafly.fr http://www.datafly.fr http://blog.datafly.pro http://mssql.fr

Plus en détail

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN Département Informatique Laboratoires de bases de données Laboratoire n 6 Programmation SQL par Danièle BAYERS et Louis SWINNEN Ce document est disponible sous licence Creative Commons indiquant qu il

Plus en détail

Memento MYSQL LINUX. Pour installer le serveur Mysql. Installer les paquets suivants :

Memento MYSQL LINUX. Pour installer le serveur Mysql. Installer les paquets suivants : Memento MYSQL LINUX Pour installer le serveur Mysql Installer les paquets suivants : Mysql-server (moteur de bases de données) Apache2 (serveur web si besoin) Php5 (langage de programmation permettant

Plus en détail

TP1 - Corrigé. Manipulations de données

TP1 - Corrigé. Manipulations de données TP1 - Corrigé Manipulations de données 1. Démarrez mysql comme suit : bash$ mysql -h 127.0.0.1 -u user4 -D db_4 p Remarque: le mot de passe est le nom de user. Ici user4 2. Afficher la liste des bases

Plus en détail

Testez vos connaissances avec Oracle Forms 11g Niveau débutant Réponses aux questions

Testez vos connaissances avec Oracle Forms 11g Niveau débutant Réponses aux questions Testez vos connaissances avec Oracle Forms 11g Niveau débutant Réponses aux questions Document préparé par Abderrahmane Abed Octobre 2013 Version 1.0 Courriel : aabed@oraweb.ca Site web: www.oraweb.ca

Plus en détail

Automatisation de l administration système

Automatisation de l administration système Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications

Plus en détail

Bases de Données Avancées PL/SQL

Bases de Données Avancées PL/SQL 1/170 Bases de Données Avancées Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

Gestion des utilisateurs et de leurs droits

Gestion des utilisateurs et de leurs droits Gestion des utilisateurs et de leurs droits Chap. 12, page 323 à 360 Lors de la création d'un utilisateur vous devez indiquer son nom, ses attributs, son profil, la méthode d'authentification (par le SE

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

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

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

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

Plus en détail

PRESENTATION. Document1 Serge GUERINET Page 1

PRESENTATION. Document1 Serge GUERINET Page 1 PRESENTATION Les domaines couverts par la série STG sont tous des pourvoyeurs ou exploitants des bases de données. Que l'on gère la relation aux clients, le suivi de l'activité financière, la comptabilité

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

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Le langage SQL pour Oracle - partie 1 : SQL comme LDD Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger

Plus en détail

REAL APPLICATION CLUSTERS

REAL APPLICATION CLUSTERS Oracle upg adm 9i Claude DA COSTA Chap 11 Scalable Real Appli Clusters Page 1/10 REAL APPLICATION CLUSTERS Cash Fusion Shared server_side initialization parameter Oracle upg adm 9i Claude DA COSTA Chap

Plus en détail

Gestion de base de données

Gestion de base de données Université Libre de Bruxelles Faculté de Philosophie et Lettres Département des Sciences de l Information et de la Communication Gestion de base de données Projet : Take Off ASBL Cours de M. A. Clève STIC-B-505

Plus en détail

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

Plus en détail

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW Groupe : 322 Exploitation des Banques de données 420-PK6-SL (1-2-1) Étape : 3 Professeur Nom: Marcel Aubin Courriel : maubin@cegep-st-laurent.qc.ca

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

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

Bases de données Niveau 1 SQL - MySQL MariaDB - Cours et TP 5 DDL et DML

Bases de données Niveau 1 SQL - MySQL MariaDB - Cours et TP 5 DDL et DML Bases de données Niveau 1 SQL - MySQL MariaDB - Cours et TP 5 DDL et DML MariaDB : https://mariadb.org/ Site officiel MySQL : http://www-fr.mysql.com/ Zone pour les développeurs : http://dev.mysql.com/

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

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

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ; RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines

Plus en détail

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans

Plus en détail

Servlets, beans, base de données

Servlets, beans, base de données Institut Galilée E-services Année 2014-2015 Master 2 T.P. 2 Servlets, beans, base de données L objectif de ce TP est de mettre en place un site web pour l administration et la commande de pizzas : une

Plus en détail