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 michel/michel@vers_base1 - TO michel/michel@vers_base2 - 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 etudiant@db_ora; INE NOM DIPLO CYCLE étudiant 100 miag étudiant 200 stri étudiant 300 miag étudiant 400 stri2 2 Manipulation distante SQL> update etudiant@db_ora 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 etudiant@db_ora; 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 sequence_client@db_link; 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 etudiant_licence@db_l VALUES (:NEW.ine,:NEW.nom,:NEW.adresse); INSERT INTO stage@db_s 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 maître@dblink; Duplication d un fragment CREATE TABLE Duplication AS SELECT col1, col3, col5 FROM maître@dblink 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 maître@dblink; COMMIT; Marquage des lignes transférées INSERT INTO copie SELECT * FROM maître@dblink 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 cliché@dblink 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 cliché@db_ora values('ligne1') 2 insert into cliché@db_ora values('ligne2') 3 insert into cliché@db_ora values('ligne3') 4 delete from cliché@db_ora where nom = 'ligne2' 5 update cliché@db_ora 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 maître@dblink ; 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 maitre@db_tuf; 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Qui est Sybase ianywhere?

Qui est Sybase ianywhere? Sybase s ianywhere s Advantage Database Server Qui est Sybase ianywhere? Sybase ianywhere Sybase est la plus grande entreprise de logiciels et services exclusivement focalisée sur la gestion et la mobilisation

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

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

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 13 : Organisation d une base de données, ou comment soulever (un peu) le voile Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Les clusters de table

Plus en détail

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K.

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K. Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique CHAPITRE 4 ADMINISTRATION ET TUNING DE BASES DE DONNÉES RESPONSABLE DR K. BOUKHALFA POLITIQUES DE CONTRÔLES

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

1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours

1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours Bases de données Réparties, Fédérées et Réplication Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Avril 2013 1. Répartition & Fédération 2.

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

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

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

Intégrité sémantique dans les bases de données relationnelles

Intégrité sémantique dans les bases de données relationnelles Intégrité sémantique dans les bases de données relationnelles 1 - Intégrité sémantique Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU Ecole Polytechnique Universitaire de Marseille Fev. 2013

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

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f PGDay Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f Réplication Réplications, disponibilités, durabilités Evolution dans la base de données : Postgres 8.2 : warm standby Postgres 9.0 : hot

Plus en détail

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :

Plus en détail

Quelques aspects du Relationnel-Objet du SGBD Oracle

Quelques aspects du Relationnel-Objet du SGBD Oracle Département informatique de l IUT (de l université) de Bordeaux Cours de Bases de Données : présentation partielle d un SGBD RO 12 août 2015 Olivier Guibert Quelques aspects du Relationnel-Objet du SGBD

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

Les déclencheurs. Version 1.0. Grégory CASANOVA

Les déclencheurs. Version 1.0. Grégory CASANOVA Les déclencheurs Version 1.0 Grégory CASANOVA 2 Les déclencheurs [09/07/09] Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les déclencheurs du DML... 5 3.1 Introduction... 5 3.2 Création d un déclencheur

Plus en détail

Corrigés détaillés des exercices

Corrigés détaillés des exercices Corrigés détaillés des exercices Diagramme des tables objet La figure suivante vous aidera dans la compréhension des manipulations des objets de la base. Client_type Client num nom adresse {telephone_vry}

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

TP11 - Administration/Tuning

TP11 - Administration/Tuning TP11 - Administration/Tuning MIAGE #3-2006/2007 January 9, 2007 1 Architecture physique d une base Oracle 1.1 La structure physique Une base de données Oracle est composé de fichiers (au sens du système

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

I/ Présentation. On considère une BD CIRQUE dont le schema conceptuel : PERSONNEL _CIRQUE (NOM, ROLE) ;

I/ Présentation. On considère une BD CIRQUE dont le schema conceptuel : PERSONNEL _CIRQUE (NOM, ROLE) ; Université du Havre, UFR Sciences, Master Prof. Info.,, TP1, 22/11/2013, SIRES3(BDD Enseignants : Nakechbandi M Thème : Implémentation d une BD Répartie L objectif du TP est d implémenter une base de données

Plus en détail

La replication dans PostgreSQL

La replication dans PostgreSQL 10 mars 2011 Sommaire 1 Introduction 2 Les différents modes de réplication 3 La réplication par journaux Mise en place de la réplication en hot standby Limitations et critiques du hot standby Avenir du

Plus en détail

Secteur Tertiaire Informatique Filière étude - développement. Accueil. Apprentissage. Période en entreprise. Evaluation.

Secteur Tertiaire Informatique Filière étude - développement. Accueil. Apprentissage. Période en entreprise. Evaluation. Secteur Tertiaire Informatique Filière étude - développement Activité «Développer la persistance des» Sauvegarde et restauration Oracle 11g Accueil Apprentissage Période en entreprise Evaluation Code barre

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

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

BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013

BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 TS2 CGO 7 mars 2013 2 heures Aucun document autorisé Calculatrice autorisée Nota : Il vous est demandé d apporter un soin particulier à la présentation de

Plus en détail

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA DEFINITION D UNE BIBLIOTHEQUE D ACCES A UNE BASE DE DONNEES Cet article s adresse aux administrateurs SAS en charge de la mise à disposition des

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