algèbre requêtes relationnelles équivalentes méthodes de calculs équivalentes limites par les ressources : mémoire, disques, cpu...

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

Download "algèbre requêtes relationnelles équivalentes méthodes de calculs équivalentes limites par les ressources : mémoire, disques, cpu..."

Transcription

1 Optimisation : un problème global MINES ParisTech interface client (GUI, web, mobile,... ) application (charge, requêtes, pooling, latence vs débit) caches applicatifs, pooling... base de données réseau reliant les éléments système d exploitation matériel (vitesses disques, bus, processeurs, mémoire disponible... ) Composé avec LAT E X, révision Optimisation des requêtes : motivation relationnel modèle élégant... mais efficace? 15 ans de R&D pour bonnes implémentations! requêtes avec des besoins différents transactionnel accès à quelques tuples seulement accès rapide : utilisation d index, cache mémoire décisionnel calcul systématique de statistiques toutes les données parcourues! recherche du meilleur plan de calcul... pas/peu d utilisation d index méthodes en mémoire vs accès disque Optimisation des requêtes : comment? algèbre requêtes relationnelles équivalentes jointures associatives, restriction éventuellement distributive... méthodes de calculs équivalentes e.g. parcours séquentiel filtré vs accès indexé limites par les ressources : mémoire, disques, cpu... choix? fonction de coûts approximative répétition? requêtes préparées, un seul plan! Objectif : meilleur... ou au moins éviter le pire! IIWDFI! IIABDFI! Mais TESTER! Cinq conseils préalables implique d avoir des données... volumétrie et charge procédures sauvegarde et rechargement plan de continuité d activité (PCA) mesures temporaires plan de reprise d activité (PRA) retour au fonctionnement nominal Connaître ses données et sa charge taille gros ou petit (vs mémoire disponible) usage principal : transactionnel vs décisionnel accès lectures (SELECT) vs écritures (INSERT, UPDATE, DELETE) modèle grosses tables et jointures? vs petites tables périphériques requêtes nombre, variabilité, criticité, distribution? besoin latence (interactif) ou débit (batch)? charge dans le temps : min (0?), max, périodes critiques? limite de performance : I/O? CPU? connexions (pool)? stats cache hits? qu espère-t-on? est-ce réaliste? 3. Configurations logicielles et matérielles PosgreSQL voir outil pgtune mémoire : postgresql.conf, en particulier : shared buffers = 128MB effective cache size = 4GB VACUUM FULL ANALYSE : récupère espace disque, stats normallement opération continue en tâche de fond Système et matériel machine : virtuelle/réelle? partagée/dédiée? plusieurs? CPU? mémoire (cache OS) : disponible? extension? stockage : type HDD/SSD? lents/rapides? nombre? write cache? RAID? 7 8

2 4. Analyse des requêtes lentes identifier : lesquelles? fréquence? criticité? extension pg stat statements CPU : requêtes préparées? usage des index? du cache mémoire? complexité du modèle de données? configuration logicielle et matérielle? 5. Sinon : autres solutions possibles réplication hot standby et pooling? distributions (applicative?) sur des bases indépendantes? sharding e.g. déclarations d impôts par régions... caches mémoire distribué? solutions NoSQL? uniquement si nécessaire : modèle dénormalisé/dynamique utilisation plus lourde, programmation vs algèbre pas nécessairement plus rapide, selon usage 9 10 Opérations élémentaires d une requête parcours+filtrage d une relation WHERE... recherche des tuples satisfaisant une condition tri d une relation ORDER BY... Comment ça marche? fixe l ordre des tuples jointure+condition de deux relations JOIN ON... mise en correspondance de tuples selon une condition aggrégation d une relation GROUP BY, DISTINCT, UNION... etc. regroupement des éléments selon un critère Plan de calcul d une requête choix d arbres d évaluation d une requête requêtes algébriquement équivalentes différentes opérations élémentaires (selon les index) évaluation du coût d un plan EXPLAIN... statisques sur les valeurs et tailles des données ANALYZE... comparaison avec exécution effective EXPLAIN ANALYZE... choix du meilleur : problème d optimisation difficile combinatoire ordre des jointures? placement des filtres? coûts non précisément connus... éviter le pire heuristiques, techniques IA... Coût des opérations élémentaires taille des données : nombre de tuples, d attributs, leurs tailles valeur des données! sélectivité d une conditions (proba. d être vrai) implique souvent la taille des résultats! WHERE id = 110; -- clef primaire (0-1) WHERE id > 0; % WHERE promo = 110; -- fraction des élèves... WHERE age <> 110; % WHERE année = 110; -- 0% ressources disponibles : mémoire, charge machine... statisques min/max, moyenne, distribution avec ANALYZE Stockage des données : la hiérarchie mémoire un processeur passe son temps à attendre les données! Type Taille Latence Débit max R registre n Ko 1 ns 50 GB/s cache 256 Ko-4 Mo 10 ns 16 GB/s RAM 512 Mo-16 Go 100 ns 6 GB/s SSD Go 100 µs MB/s HDD Go-2 To 10 ms MB/s **D RAID MB/s réseau 150 µs 100 MB/s IBM 350 Disk File 1956 HDD du 305 RAMAC ram account. syst. 24 disques capacité 4.4 MB! 5 M 7bit chars location $35,000 par an Latence : HDD/RAM = 100, 000 SSD/RAM = 1,

3 Technologie des disques magnétiques plateaux, faces, cylindres, secteurs, blocs... Mesure de coûts : I/O! unité d accès page PostgreSQL : 8 KB (Linux ext4 : 4 KB) accès séquentiel HDD/SSD typiquement X00 MB/s variation : bus IDE/SCSI, vitesse rotation, RAID, charge... accès aléatoire HDD typiquement 1 à 10 MB/s latence disque : déplacement du bras (3-15 ms) et rotations pérenne par rapport à la mémoire vive (panne courant) un ordre de grandeur du séquentiel attention aux options FS, HDD et montage BBU ou désactiver write cache (RAID et **D) ou disque particuliers entrées-sorties limitent les performances I/O bound si la base est petite, elle tient en mémoire! cache disque DB et système accès aléatoire SSD MB/s similaire à séquentiel si assez de requêtes calculs et accès mémoire simplement négligés! très rapide par rapport aux accès disques IOPS Évolutions des Solid-State Drive : SSD Paramètres de modélisation I/O HDD mémoire flash permanente (appareils photos, MP3) cache de disques magnétiques? disques complets? performances des SSD : R/W, débit/latence, aléa/séq lecture écriture ( MB/s) HDD aléatoire séquentiel HDD usure : si plein écriture aléatoire lente, nombre limité! cycle W page (4 KB) vs Erase block (512 KB) impact coûts 20, capacité 1 4 performances & optimisations? vitesse par tablespace... B taille d un bloc de la base en octet (vs bloc FS) k lecture séquentielle d un bloc en seconde K k lecture aléatoire d un bloc en seconde n R nombre de tuples d une relation R t R taille en octets d un tuple de R S R = n R t R taille de la relation s a taille en octet d un attribut particulier g probabilité de regroupement (coefficient d aggrégation) j probabilité de jointure selon une condition... M mémoire disponible (cache, données temporaires) sequential scan Parcours+Filtrage : parcours séquentiel lecture d une relation sur disque filtrage des tuples au cours du parcours SELECT * FROM oeuvres WHERE titre LIKE A% ; seq scan on oeuvres filter: titre LIKE A% k tn B index scan Parcours+Filtrage : parcours indexé K + K ln(ns/b) accès direct à quelques tuples... mais coût de l utilisation de l index! SELECT * FROM oeuvres WHERE id BETWEEN 12 AND 14 AND titre LIKE A% ; index scan using oeuvres_pkey on oeuvres index cond: id>=12 AND id<=14 filter: titre LIKE A% index scan using oeuvres_titre_idx on oeuvres index cond: titre LIKE A% filter: id>=12 AND id<= Parcours+Filtrage(S) : index bitmap bitmap index scan création de bitmaps combinables à partir d index 1 page = 1 bit, puis accès aux pages SELECT * FROM oeuvres WHERE oid < 100 AND cid < 10; bitmap heap scan on oeuvres bitmap and bitmap index scan on oeuvres_pk index cond: oid < 100 bitmap index scan on oeuvre_cid index cond: cid < 10 BM1 BM2 AND Indexation des attributs d une relation principes simples, détails compliqués et subtils... retrouver des tuples rapidement selon le critère indexé Hash sur disque partitionnement des données avec fonction de hashage permet uniquement des recherches = et <> B-tree (Balanced tree) relation d ordre! variantes : denses? partiels? unique? multi-niveau? équilibre? égalités = <>, intervalles < <= > >=, extrêmes MIN MAX R-tree (Region tree) données géométriques (géographiques?) GiST Generalized Search Tree texte, lossy GIN Generalized Inverted Index texte 23 24

4 B-tree arbre n-aire, séparation sur valeurs limites (<) feuilles référencent les tuples ou les pages contenant les tuples Création d un index unique (pour une clef) ou non précise la méthode d indexation attributs/expressions indexés ensembles (ordre lexicographique) options diverses (NULLS,... ) création automatique : UNIQUE, e.g. clefs primiaires CREATE [ UNIQUE ] INDEX idxname ON tablename USING [ hash btree rtree gist ] ( { column (expr) }[,...] ) [ WHERE predicat ]; Dessin : Br. David Carlson and Br. Isidore Minerd, Saint Vincent College Importance des index utilisation éventuelle par les requêtes! SELECT vérification des contraintes INSERT UPDATE DELETE existance de clefs étrangères, unicité d une clef... forcer l ordre de stockage CLUSTER... parcours séquentiel dans l ordre d un index particulier Index sur un attribut SELECT * FROM oeuvre WHERE titre = Triple Jeu ; Coût des index CREATE INDEX oeuvre titre ON oeuvre(titre); espace disque utilisé maintenance à chaque opération INSERT UPDATE DELETE Index avec prédicats indexation partielle : taille et coût réduits Index fonctionnels restreint à une recherche avec ce prédicat indexation de calculs sur les attributs utile pour contraintes partielles... restreint à une recherche avec cette fonction immutable si telle condition, tel attribut est unique... SELECT * FROM answer WHERE idusr=12 AND islast; SELECT titre FROM oeuvre WHERE UPPER(titre)= SLALOMS ; CREATE INDEX active user answer ON answer (idusr) WHERE islast; CREATE INDEX titre upper ON oeuvre USING BTREE ((UPPER(titre))); indexation de champs texte par défaut octets (plus rapide) Index texte mais ordre incompatible avec les caractères préciser une option, éventuellement la langue COLLATE indexation basée sur les caractères SELECT * FROM auteur WHERE nom LIKE Début% ; CREATE INDEX auteur nom fr ON auteur(nom text pattern ops); CREATE INDEX auteur nom fr ON auteur(nom COLLATE "fr FR" text pattern ops); Tri d une relation tri fusion merge sort de bloc triés espace mémoire et disque utilisable? meilleures techniques avec parcours séquentiels... nombreuses variantes... kxn ln(n) demandée par l utilisateur, ou techniques de calcul ORDER BY évidemment! GROUP BY et regroupement des données contiguës DISTINCT similaire au précédent JOIN ON jointure par fusion 31 32

5 Jointures de relations relation (= ou autre... ) entre attribut(s), clefs ou non... tables jointes de cardinalité n R et n P, résultat jn R n P évaluation de j selon les données? vnom dpt dpt dnom Avon Bouches du Rhône Briare Indre Cahors Loiret Figeac Lot Fontainebleau Paris Gien Savoie Héricy Seine et Marne Marseille 13 Jointure par fusion triée tri des relations selon le critère de jointure! puis parcours parallèle et fusion au vol des relations k B (t R(Xn R ln(n R ) + n R ) + t P (Y n P ln(n P ) + n P ) + t RP jn R n P ) écriture ou exploitation au vol du résultat? vnom dpt Marseille 13 Briare 45 Orléans 45 Gien 45 Cahors 46 Figeac 46 Paris 75 Vulaines 77 dpt dnom 13 Bouches du Rhône 36 Indre 45 Loiret 46 Lot 73 Savoie 75 Paris 77 Seine et Marne Jointure par hash relation mise en mémoire, indexée par critère de jointure puis parcours séquentiel de l autre relation k B (t Rn R + t P n P + t RP jn R n P ) la mémoire doit être suffisante... risque de swap? Agrégations regroupements si attributs égaux : GROUP BY, DISTINCT évaluation du taux de regroupement g? Département Ville Seine et Marne Avon Loiret Briare Autres techniques de calculs de jointure boucles différentes variantes, avec index... filtre produit cartésien, puis filtrage... Lot Lot Seine et Marne Loiret Seine et Marne Bouches du Rhône Cahors Figeac Fontainebleau Gien Héricy Marseille Agrégation par fusion triée tri de la relation selon le critère d agrégation groupement ou agrégation des éléments contigus k B (Xn ln(n) + tn + gtn) Agrégation par hash Département Bouches du Rhône Loiret Loiret Loiret Lot Lot Paris Ville Marseille Briare Orléans Gien Cahors Figeac Paris Département Nb villes Bouches du Rhône 1 Loiret 3 Lot 2 Paris 1 Seine et Marne 7 allocation en mémoire du résultat gtn! remplissage lors du parcours, puis écriture ou exploitation k B (tn + gtn) Seine et Marne Vulaines Exemples de EXPLAIN et EXPLAIN ANALYZE EXPLAIN plan de la requête méthode de calcul temps (sans unité) premier résultat et fin paramètres ajustables dans la configuration volumes nb tuples et tailles EXPLAIN ANALYZE plan et exécution ajoute le réalisé détection des erreurs d évaluation interprétation, voir Select simple SELECT titre FROM films WHERE fid=3; explain Seq Scan on films (cost= rows=1 width=12) Filter: (fid = 3) explain analyze Seq Scan on films (cost= rows=1 width=12) (actual time= rows=1 loops=1) Filter: (fid = 3) Rows Removed by Filter: 10 Total runtime: ms 39 40

6 explain analyze Select jointure SELECT titre FROM films JOIN personnes USING (pid) WHERE nom= Chaplin ; explain Hash Join (cost= rows=2 width=12) Hash Cond: (films.pid = personnes.pid) -> Seq Scan on films (cost= rows=11 width=16) -> Hash (cost= rows=1 width=4) -> Seq Scan on personnes (cost= rows=1 width=4) Filter: (nom = Chaplin ::text) Hash Join (cost= rows=2 width=12) (actual time= rows=6 loops=1) Hash Cond: (films.pid = personnes.pid) -> Seq Scan on films (cost= rows=11 width=16) (actual time= rows=11 loops=1) -> Hash (cost= rows=1 width=4) (actual time= rows=1 loops=1) Buckets: 1024 Batches: 1 Memory Usage: 1kB -> Seq Scan on personnes (cost= rows=1 width=4) (actual time= rows=1 loops=1) Filter: (nom = Chaplin ::text) Rows Removed by Filter: 5 Total runtime: ms Exemple de proposition d index Analyse d une requête pour proposer un INDEX 1. à partir de EXPLAIN (ANALYSE) index pour parcours séquentiels filtrés (coûteux)? 2. à partir de la requête partir des informations les plus sélectives WHERE en particulier sur les grosses tables vérifier que les index utiles existent propager le long des jointures vérifier que les index utiles existent SELECT titre FROM auteur AS a JOIN a ecrit AS e USING (aid) JOIN oeuvre AS o USING (oid) WHERE a.nom = Goscinny ; nom aid sur auteur : index auteur(nom) aid oid sur a ecrit : index a ecrit(aid) existe déjà en préfix car clef composite UNIQUE(aid,oid) oid titre sur oeuvre : index oeuvre(oid) existe déjà car oid est clef primaire Informations sur les volumes pg column size volume d une donnée pg database size volume d un catalogue pg relation size volume d une table, d un index Collecte d informations pg total relation size complet avec index et toasted pg tablespace size volume d un espace (partition?) pg size pretty interprétation avec unités (kb, M... ) SELECT pg size pretty(pg database size( test )); pg size pretty 9940 kb Informations statistiques Table pg statistic statistiques sur les valeurs de chaque colonne de chaque table 1. statistiques sur données pour optimisation analyze mise à jour par la commande ANALYZE (sinon, vague défaut) 2. historique requêtes et performances log utilisé par l optimiseur pour évaluer les tailles de relations 3. état courant (connexions, verrous, requêtes) système filtrage nombreux opérateurs WHERE opérations tables/indexes stat rel (row) regroupement GROUP BY comptages accès disque/cache stat io (block) jointure JOIN... ON informations sur les statements selon le type analysé : min, max, moyenne, distribution... problème de droits d accès : vue pg stats 47 48

7 Collecte d informations : requêtes, temps (attention au coût) log connection connexions à la base log statement requête exécutée log duration durée d exécution Configuration de la collection de statistiques stats start collector collecteur démarré processus séparé de collecte, pas temps-réel stats command string requête en cours [15611] LOG: query: SELECT DISTINCT domaine, libmin FROM thes, statel WHERE statel.code_dipl=thes.domaine AND domaine BETWEEN AND ORDER BY libmin [15611] LOG: duration: sec stats row level statistiques sur les tuples insert, update, fetch via indexes ou scans stats block level accès blocs cache ou disque Consultation des informations collectées nombreuses tables systèmes spéciales pg stat* niveau database, table et index, table, index... pg stat activity connexions et requêtes en cours (si longue) opération scan avec ou sans index, ins/upd/del... cache read (disque) vs hit (mémoire) obsolète fetch vs read datid datname procpid usename current query query start corrector 563 corrector SELECT COUNT(*) FROM answer; corrector 549 postgres <IDLE> comics 676 coelho <IDLE> informations différées... pas trop de charge de collecte détection des indexes inutilisés, des tables scannées pg stat database par base de données # connexions en cours # transactions confirmées (commit) vs annulées (rollback) blocks lus sur disque, lus dans le cache datid datname numbackends xact commit xact rollback blks read blks hit coelho corrector comics comtest pg stat user tables utilisation des tables all user sys nb parcours séquentiels et nb tuples lus (selon taille table) nb parcours indexés et nb tuples lus (comparables?) nb d insertions, mises à jour et effacement relname sq scan sq tup read idx scan idx tup fetch n tup ins n tup upd n tup del a ecrit collection langue exemplaire editeur auteur oeuvre pg stat io user tables disque/cache all user sys nombre de blocks table lus sur disque/cache index de blocks des indexes de la table lus sur disque/cache idem pour données toastées (attributs volumineux)... pg stat user indexes analyse par index nb parcours avec l index nb tuples lus par l index nb tuples récupérés par l index différent nb tuples lus pour tuples expirés all user sys relname heap read heap hit idx read idx hit oeuvre exemplaire editeur a ecrit auteur langue collection relname indexrelname idx scan idx tup read idx tup fetch auteur auteurs pkey collection collections nom key collection collections pkey exemplaire exemplaires pkey oeuvre oeuvres pkey oeuvre oeuvres titre key a ecrit a ecrit pkey

8 pg stat io user indexes disque/cache all user sys relname indexrelname idx blks read idx blks hit pg stat io user sequences disque/cache all user sys auteur auteurs pkey 2 73 collection collections nom key 2 5 collection collections pkey 2 3 editeur editeurs nom key 2 1 editeur editeurs pkey 2 1 exemplaire exemplaires pkey 2 1 langue langues nom key 2 1 langue langues pkey 2 1 oeuvre oeuvres pkey oeuvre oeuvres titre key 4 60 relid schemaname relname blks read blks hit public connection idcon seq public users idusr seq public class idcls seq public correctiontype idcor seq public question idque seq public exercice idexe seq public answer idans seq public session idses seq 1 3 a ecrit a ecrit pkey Extension pg stat statements extension standard à charger CREATE EXTENSION pg stat statements; -- and in postgresql.conf: -- shared preload library = pg stat statements statistiques par requêtes similaires Exemple d extraction des requêtes lentes requêtes les plus longues SELECT query, total time/calls AS avg FROM pg stat statements ORDER BY avg DESC LIMIT 10; le regroupement ignore les constantes SELECT * FROM films WHERE titre LIKE C% ; SELECT * FROM films WHERE titre LIKE A% ; SELECT * FROM films WHERE titre LIKE L% ; -- regroupés sous : SELECT * FROM films WHERE titre LIKE?; -- requêtes avec plus d accès disques SELECT query FROM pg stat statements ORDER BY shared blks read DESC LIMIT 10; Montée en charge d une base de donnée Montée en charge base 1.5 GB ( pages), hôte avec 4 GB et HDD 7200 tr/s pgbench -i -s 100 bench requêtes en lecture seule, ok si index et données en cache... pgbench -S -T progress=10 bench requête : SELECT stuff FROM somewhere WHERE id=?; Montée en charge performance database warmup 4000 Explication tps initialement données sur disque chargement progressif des pages, cache DB et OS performances bornées par les accès disques quand tout est en cache, performances bornées par le processeur minutes 63 64

9 Analyse nombre total de pages P probabilité d un accès cache à la i-ème requête p(i) initialement cache disque vide p(0) = 0 progression moyenne de p p(i + 1) = p(i) + (1 p(i)) 1 P soit en cache, soit chargement d une page si hors cache équation différentielle ordinaire homogène (passage au continu) temps transaction cache ou disque T C et T D durée de transaction δ(i) = T C p(i) + T D (1 p(i)) δ(i) = T C + (T D T C ) e i P date de la transaction i i t(i) = δ(j)dj = T C i + P (T D T C ) e i P 0 solution p(i + 1) p(i) = dp 1 = (1 p(i)) di P p(i) = 1 e i P performance (tps) τ(i) = 1 δ(i) inflexion des performances δ (i) = 0 ( ) TD T C i = P ln T C Application P = , T C = 0.22 ms, T D = 4.9 ms simple model table+index model database warmup formula Comment attendre un peu moins? forcer le chargement en accès séquentiels! (SQL) charger les fichiers sous jacents (OS) faster database warmup tps minutes tps performance minutes Quelques remarques accès parallèles : plus de lectures par tour réordonnancement des lectures par le disque chargement plus rapide si accès non uniforme distribution des accès souvent exponentielle SSD?! Monitoring système et base ps top htop processus avec requête en cours... iostat iotop df du charge et volume des partitions nagios, cactus surveillance et alertes pg watch interface web (PHP) de monitoring PostgreSQL pgtop commande top spécifique Conclusion sur les performances optimisation difficile : selon valeurs, statistiques nécessaires contrôle explicite? algorithme génétique si trop gros (10 tables?) forcer les jointures : join collapse limit=1 indexation accélère, mais coût en maintenance choix des index et types pour les requêtes fréquentes collecte statistiques, utilisation des logs... caches données souvent sollicitées gardées en mémoire... en particulier petites tables périphériques influence du matériel à l application matériel disponible, dédié ou partagé à l application, duplication ruptures technologiques : SSD vs HDD (vs Memristors?) séparation des flux (log, WAL, bgwriter) configuration de l OS, de la base de donnée... maintenance DB VACUUM FULL ANALYZE... application : requêtes inutiles, relations mal conçues... dénormalisation pour réduire les jointures? 71 72

10 List of Slides 1 2 Optimisation : un problème global 3 Optimisation des requêtes : motivation 4 Optimisation des requêtes : comment? 5 Cinq conseils préalables 6 1. IIWDFI! IIABDFI! 7 2. Connaître ses données et sa charge 8 3. Configurations logicielles et matérielles 9 4. Analyse des requêtes lentes Sinon : autres solutions possibles 11 Comment ça marche? 12 Opérations élémentaires d une requête 13 Plan de calcul d une requête 14 Coût des opérations élémentaires 15 Stockage des données : la hiérarchie mémoire 16 IBM 350 Disk File 17 Technologie des disques magnétiques 18 Mesure de coûts : I/O! 19 Évolutions des Solid-State Drive : SSD 20 Paramètres de modélisation I/O HDD 21 Parcours+Filtrage : parcours séquentiel 22 Parcours+Filtrage : parcours indexé 23 Parcours+Filtrage(S) : index bitmap 24 Indexation des attributs d une relation 25 B-tree 26 Création d un index 27 Importance des index 27 Coût des index 28 Index sur un attribut 29 Index avec prédicats 30 Index fonctionnels 31 Index texte 32 Tri d une relation 33 Jointures de relations 34 Jointure par fusion triée 35 Jointure par hash 35 Autres techniques de calculs de jointure 36 Agrégations 37 Agrégation par fusion triée 38 Agrégation par hash 39 Exemples de EXPLAIN et EXPLAIN ANALYZE 40 Select simple 41 Select jointure 43 Analyse d une requête pour proposer un INDEX 44 Exemple de proposition d index 45 Collecte d informations 46 Informations sur les volumes 47 Informations statistiques 48 Table pg statistic 49 Collecte d informations : requêtes, temps (attention au coût) 50 Configuration de la collection de statistiques 51 Consultation des informations collectées 59 Extension pg stat statements 60 Exemple d extraction des requêtes lentes 61 Montée en charge 62 Montée en charge d une base de donnée 63 Montée en charge 71 Conclusion sur les performances 64 Explication 65 Analyse 67 Application 68 Comment attendre un peu moins? 69 Quelques remarques 70 Monitoring système et base

Optimisation. Bases de Données. Année 2007-08

Optimisation. Bases de Données. Année 2007-08 Optimisation Bases de Données Année 2007-08 Les index Les index sont utilisés pour accélérer l accès aux données. fonction de hachage qui permet de retrouver rapidement un ou des enregistrements les clés

Plus en détail

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes Optimisation de requêtes I3009 Licence d informatique 2015/2016 Cours 5 - Optimisation de requêtes Stéphane.Gançarski Stephane.Gancarski@lip6.fr Traitement et exécution de requêtes Implémentation des opérateurs

Plus en détail

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

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

Plus en détail

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

L optimiser ORACLE. L optimiser ORACLE suit une approche classique:

L optimiser ORACLE. L optimiser ORACLE suit une approche classique: L optimiser ORACLE L optimiser ORACLE suit une approche classique: Génération de plusieurs plans d exécution. Estimation du coût de chaque plan généré. Choix du meilleur et exécution. Tout ceci est automatique,

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

Les bases de l optimisation SQL avec DB2 for i

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

Plus en détail

Systèmes de Fichiers

Systèmes de Fichiers Systèmes de Fichiers Hachage et Arbres B Serge Abiteboul INRIA February 28, 2008 Serge Abiteboul (INRIA) Systèmes de Fichiers February 28, 2008 1 / 26 Systèmes de fichiers et SGBD Introduction Hiérarchie

Plus en détail

NIMBUS TRAINING. Mise en œuvre d une SGBD dans toutes les étapes du projet. Déscription. Objectifs. Publics. Durée. Pré-requis

NIMBUS TRAINING. Mise en œuvre d une SGBD dans toutes les étapes du projet. Déscription. Objectifs. Publics. Durée. Pré-requis Mise en œuvre d une SGBD dans toutes les étapes du projet. Déscription A partir des retours d expérience, et des préconisations des éditeurs, présenter les facteurs clés de succès et les bonnes pratiques

Plus en détail

PoWA 3 Optimisations avancées de PostgreSQL Ronan Dunklau - Julien Rouhaud

PoWA 3 Optimisations avancées de PostgreSQL Ronan Dunklau - Julien Rouhaud PoWA 3 Optimisations avancées de PostgreSQL Ronan Dunklau - Julien Rouhaud Dalibo - www.dalibo.org 24 septembre 2015 - PostgreSQL Session #7 [ 1 / 43 ] License Create Commons BY-NC-SA Vous êtes libre de

Plus en détail

Les requêtes de consultation. Ex. bibliothèque état de la base. Ex. bibliothèque état de la base. Consultation simple d'une table

Les requêtes de consultation. Ex. bibliothèque état de la base. Ex. bibliothèque état de la base. Consultation simple d'une table Les requêtes de consultation Représente la ma jorité des requêtes SQL (Deuxième partie) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Encapsule complètement l'algèbre relationnel Une

Plus en détail

Bases de données. Cours 2 : Stockage

Bases de données. Cours 2 : Stockage Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 2 : Stockage kn@lri.fr http://www.lri.fr/~kn Plan 1 Rappels 2 Stockage 2.1 Introduction 2.2 Aspects bas-niveau 2.3 Stockage pour les SGBD

Plus en détail

Structure fonctionnelle d un SGBD

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

Plus en détail

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

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

Plus en détail

Plan d exécution de requêtes. scan d une table. Scan séquentiel - sequential scan. Pour obtenir le plan de l exécution d une requête :

Plan d exécution de requêtes. scan d une table. Scan séquentiel - sequential scan. Pour obtenir le plan de l exécution d une requête : Pour obtenir le plan de l exécution d une requête : EXPLAIN [ANALYZE] requ^ete Plan d exécution de requêtes Wies law Zielonka 23 novembre 2013 EXPLAIN seul : juste estimation de temps, la requête ne sera

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

Plan. Bases de données. Cours 2 : Stockage. Quels types de mémoire pour une BD? Où stocker les données? Polytech Paris-Sud. Apprentis 4 ème année

Plan. Bases de données. Cours 2 : Stockage. Quels types de mémoire pour une BD? Où stocker les données? Polytech Paris-Sud. Apprentis 4 ème année Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 2 : Stockage 2.1 Introduction 2.2 Aspects bas-niveau kn@lri.fr http://www.lri.fr/~kn 2/20 Hierarchie mémoire : Où stocker les données? Type

Plus en détail

Chapitre 1 Installer MySQL 5 21

Chapitre 1 Installer MySQL 5 21 Chapitre 1 Installer MySQL 5 21 1.1. Les outils nécessaires... 22 1.2. Télécharger et installer le serveur MySQL... 22 Télécharger la dernière version... 22 Lancer l installation sous Windows... 23 Lancer

Plus en détail

Plans d'exécution et EXPLAIN. Marc Cousin

Plans d'exécution et EXPLAIN. Marc Cousin Plans d'exécution et EXPLAIN Marc Cousin 1 Exécution d'une requête Analyse (parser) Réécriture (rewriter) Planification (planner) Exécution (executor) 2 SQL est déclaratif SELECT x,y,z FROM t1 JOIN t2

Plus en détail

Optimisation de requêtes

Optimisation de requêtes Optimisation de requêtes Illustration avec Oracle J. Akoka - I. Wattiau Introduction BUT : Fournir l'algorithme d'accès à la base de données pour répondre à une requête exprimée en langage assertionnel

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

Base de données en mémoire

Base de données en mémoire Base de données en mémoire Plan Bases de données relationnelles OnLine Analytical Processing Difficultés de l OLAP Calculs en mémoire Optimisations 1 Base de données relationnelle Introduction Date Exemple

Plus en détail

MySQL 5. Guide de l'administrateur et du développeur. Michael Kofler. Groupe Eyrolles, 2005 pour l édition française, ISBN : 2-212-11633-0

MySQL 5. Guide de l'administrateur et du développeur. Michael Kofler. Groupe Eyrolles, 2005 pour l édition française, ISBN : 2-212-11633-0 MySQL 5 Guide de l'administrateur et du développeur Michael Kofler Groupe Eyrolles, 2005 pour l édition française, ISBN : 2-212-11633-0 Table des matières Avant-propos..............................................

Plus en détail

Comparaison de tables à distance

Comparaison de tables à distance Rapport de recherche A/375/CRI Fabien Coelho fabien@coelho.net composé avec LAT E X, révision 463 du document 1 Fabien Coelho job enseignant-chercheur à MINES ParisTech ingénieur civil 1993, docteur en

Plus en détail

Techniques d optimisation standard des requêtes

Techniques d optimisation standard des requêtes 6 Techniques d optimisation standard des requêtes L optimisation du SQL est un point très délicat car elle nécessite de pouvoir modifier l applicatif en veillant à ne pas introduire de bogues. 6.1 Réécriture

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

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

Plus en détail

Optimisation des bases de données

Optimisation des bases de données Optimisation des bases de données Mise en œuvre sous Oracle Laurent Navarro Avec la contribution technique d Emmanuel Lecoester Pearson Education France a apporté le plus grand soin à la réalisation de

Plus en détail

EXPLOITATION - QUERY et QUERY MANAGER SQL SUR AS400 - LANGAGE DE CONTROLE, introduction à SDA et création de commandes SUR AS/400.

EXPLOITATION - QUERY et QUERY MANAGER SQL SUR AS400 - LANGAGE DE CONTROLE, introduction à SDA et création de commandes SUR AS/400. EXPLOITATION - QUERY et QUERY MANAGER SQL SUR AS400 - LANGAGE DE CONTROLE, introduction à SDA et création de commandes SUR AS/400 Durée 10 jours PROGRAMME DE FORMATION PART I Durée 5 jours RESPONSABLES

Plus en détail

Plan. Cours 4 : Méthodes d accès aux données. Architecture système. Objectifs des SGBD (rappel)

Plan. Cours 4 : Méthodes d accès aux données. Architecture système. Objectifs des SGBD (rappel) UPMC - UFR 99 Licence d informatique 205/206 Module 3I009 Cours 4 : Méthodes d accès aux données Plan Fonctions et structure des SGBD Structures physiques Stockage des données Organisation de fichiers

Plus en détail

INFO4008 Programmation Unix Systèmes de Gestion de Fichiers

INFO4008 Programmation Unix Systèmes de Gestion de Fichiers I. Système de Gestion de Fichiers Un SGF est la partie d un système d exploitation chargée de : Établir la correspondance entre l organisation logique (vue utilisateur) et l organisation physique. Fournir

Plus en détail

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes) Avant-propos 1. Lectorat 11 2. Pré-requis 12 3. Objectifs 12 4. Environnement technique 13 Choisir la bonne architecture matérielle 1. Introduction 15 2. Architecture disque 16 2.1 La problématique de

Plus en détail

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr 1- Structure d un disque 2- Ordonnancement des requêtes 3- Gestion du disque - formatage - bloc d amorçage - récupération

Plus en détail

Systèmes de gestion de bases de données

Systèmes de gestion de bases de données Systèmes de gestion de bases de données Supports de stockage P. Rigaux Cnam, dépt. informatique April 1, 2015 PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 1 / 1 Techniques

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

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 1 : Vues et Index Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Les Vues Généralités Syntaxe Avantages Conditions de mise à jour 2 Index Généralités

Plus en détail

Ora2Pg Performances. (C) 2013 Gilles Darold

Ora2Pg Performances. (C) 2013 Gilles Darold Ora2Pg Performances (C) 2013 Gilles Darold Gilles Darold Consultant @ Dalibo Auteur d'ora2pg Auteur de PgBadger Auteur de pgformatter Et autres => http://www.darold.net/ Cas pratique Migration d'une base

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

Module BDR Master d Informatique (SAR) Cours 5- bases de données parallèles Anne Doucet Anne.Doucet@lip6.fr

Module BDR Master d Informatique (SAR) Cours 5- bases de données parallèles Anne Doucet Anne.Doucet@lip6.fr Module BDR Master d Informatique (SAR) Cours 5- bases de données parallèles Anne Doucet Anne.Doucet@lip6.fr 1 Plan Introduction Architectures Placement des données Parallélisme dans les requêtes Optimisation

Plus en détail

Module GMIN308: Optimisation de requêtes dans le contexte d Oracle

Module GMIN308: Optimisation de requêtes dans le contexte d Oracle Module GMIN308: Optimisation de requêtes dans le contexte d Oracle 1. Préalable L optimisation de performances se révèle d importance dans le contexte de la gestion de gros volumes de données par les SGBDs.

Plus en détail

La Gestion des Fichiers

La Gestion des Fichiers KWWSZZZDGHOHLPDJIUaGRQVH]FRXUV 6\VWqPHVG ([SORLWDWLRQ La Gestion des Fichiers Hafid Bourzoufi Université de Valenciennes Didier Donsez Université Grenoble 1 'LGLHU'RQVH]#LPDJIU 2 Système de fichiers De

Plus en détail

Examen Administration BD (Module FMIN363)

Examen Administration BD (Module FMIN363) Examen Administration BD (Module FMIN363) 1. Optimisation de requêtes (I. Mougenot) Un caviste veut gérer l ensemble des vins référencés au sein de sa cave. L information associée à la cave est volontairement

Plus en détail

BASES DE DONNÉES AVANCÉES

BASES DE DONNÉES AVANCÉES L3 Informatique Option : ISIL BASES DE DONNÉES AVANCÉES RAMDANI MED U-BOUIRA M. R A M D A N I @ U N I V - B O U I R A. D Z P E R S O. L I V E H O S T. F R Cours 5 : Evaluation et optimisation des requêtes

Plus en détail

SQL Les fondamentaux du langage (2ième édition)

SQL Les fondamentaux du langage (2ième édition) Introduction 1. Un peu d'histoire 11 2. Les normes SQL 12 3. Description rapide du modèle relationnel 14 3.1 Principaux concepts du modèle relationnel 15 3.2 Principales règles 16 4. Les opérateurs en

Plus en détail

Formation DEV4 : SQL - Conception & Mise en Oeuvre

Formation DEV4 : SQL - Conception & Mise en Oeuvre Synopsis Formation DEV4 : SQL - Conception & Mise en Oeuvre Le SQL (Structured Query Language) est le langage standard de manipulation de données. À ce titre, il est le pilier fondamental de la base PostgreSQL,

Plus en détail

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Plan Généralités Langage de Définition des (LDD) Langage de Manipulation

Plus en détail

Compte rendu d activité Fiche n 1

Compte rendu d activité Fiche n 1 Compte rendu d activité Fiche n 1 Alexandre K. (http://ploufix.free.fr) Nature de l activité Création d une base de connaissances avec PostgreSQL Contexte : Le responsable technique souhaite la mise en

Plus en détail

LIF4 - Optimisation à base de règles

LIF4 - Optimisation à base de règles LIF4 - Optimisation à base de règles Fabien Duchateau fabien.duchateau [at] univ-lyon1.fr Université Claude Bernard Lyon 1 2015-2016 http://liris.cnrs.fr/fabien.duchateau/ens/lif4/ Remerciements : Nicolas

Plus en détail

Révisions sur les Bases de données. Lycée Thiers - PC/PC*

Révisions sur les Bases de données. Lycée Thiers - PC/PC* Bases de données Architecture clients-serveur Architecture trois tiers Vocabulaire des BDD Algèbre relationnelle Création/modification d une table Commandes SQL de manipulation de tables Définition formelle

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

ADMIN SGBD TP 1. Préliminaires. Dictionnaire des données. Utilisateurs, vues et autorisations

ADMIN SGBD TP 1. Préliminaires. Dictionnaire des données. Utilisateurs, vues et autorisations ADMIN SGBD TP 1 Préliminaires L'objectif de ce TP est de: installer l environnement (PostgreSQL, base, tables), créer des utilisateurs, des vues, et de gérer les privilèges, créer des triggers, utiliser

Plus en détail

Exadata Storage Server et DB Machine V2

<Insert Picture Here> Exadata Storage Server et DB Machine V2 Exadata Storage Server et DB Machine V2 Croissance de la Volumétrie des Données Volumes multipliés par 3 tous les 2 ans Evolution des volumes de données 1000 Terabytes (Données) 800

Plus en détail

Conception de BDR et requêtes. Migration vers une BDR. Conception d'une BDR par Décomposition. Objectifs de la Décomposition

Conception de BDR et requêtes. Migration vers une BDR. Conception d'une BDR par Décomposition. Objectifs de la Décomposition Conception de BDR et requêtes Migration vers une BDR Approche décomposition Fragmentation Allocation des fragments Fragmentation de requêtes Optimisation de requêtes Décomposition en BD locales BD BD1

Plus en détail

Optimisation des Requêtes D après J. Akoka - I. Wattiau

Optimisation des Requêtes D après J. Akoka - I. Wattiau NFE113 Administration et configuration des bases de données 2011 Optimisation des Requêtes D après J. Akoka - I. Wattiau 1 Eric Boniface Introduction Fournir l'algorithme d'accès à la B.D. pour répondre

Plus en détail

CNAM. Mémoires de Masse. 2007/2008 Ivan Boule

CNAM. Mémoires de Masse. 2007/2008 Ivan Boule Mémoires de Masse 1 Plan Disques durs Formattages physiques et logiques Tri des requêtes d'entrée/sortie Mémoires Flash - Principes Mémoires Flash de type NOR Mémoires Flash de type NAND 2 Disque Dur Plateaux

Plus en détail

Stockage : capacité, performances

Stockage : capacité, performances Stockage : capacité, performances Intervenant :Thomas Robert C234-4 thomas.robert@telecom-paristech.fr Transparents : Thomas Robert Institut Mines-Télécom Lectures possibles Chapitre 7.2 de : http://ceit.aut.ac.ir/~amirkhani/

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

Implémentation des systèmes de fichiers. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation

Implémentation des systèmes de fichiers. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation 1/25 Implémentation des systèmes de fichiers didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/25 Table des matières 1 2 Méthodes d allocation 3 Implémentation des répertoires 4 Implémentation du

Plus en détail

2 ème PARTIE : LE LANGAGE SQL

2 ème PARTIE : LE LANGAGE SQL 2 ème PARTIE : LE LANGAGE SQL PLAN : I. Le langage de manipulation des données II. Le langage de définition des données III. Administration de la base de données IV. Divers (HORS PROGRAMME) Introduction:

Plus en détail

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données Implantation des SGBD relationnels Université de Nice Sophia-Antipolis Version 3.4 25//06 Richard Grin Plan de cette partie Nous allons étudier (très rapidement!) quelques éléments de solutions utilisés

Plus en détail

Modèles de stockage et indexation. Architecture en couche d un SGBD. Disques Magnétiques. Hiérarchie mémoire. 4. Organisations arborescentes

Modèles de stockage et indexation. Architecture en couche d un SGBD. Disques Magnétiques. Hiérarchie mémoire. 4. Organisations arborescentes Modèles de stockage et indexation. Hiérarchie mémoire 2. Modèles de stockage 3. Propriétés des index 4. Organisations arborescentes 5. Organisations hachées Hiérarchie mémoire Ratio Prix (approx) Accès

Plus en détail

Mise en oeuvre TSM 6.1

Mise en oeuvre TSM 6.1 Mise en oeuvre TSM 6.1 «Bonnes pratiques» pour la base de données TSM DB2 Powered by Qui sommes nous? Des spécialistes dans le domaine de la sauvegarde et de la protection des données 10 ans d expertise

Plus en détail

Systèmes de gestion de bases de données

Systèmes de gestion de bases de données Systèmes de gestion de bases de données Fichiers P. Rigaux Cnam, dépt. informatique April 1, 2015 PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 1 / 1 Fichiers Une base de

Plus en détail

Architecture d Oracled. Richard CHBEIR Email : richard.chbeir@u-bourgogne.fr

Architecture d Oracled. Richard CHBEIR Email : richard.chbeir@u-bourgogne.fr Architecture d Oracled Richard CHBEIR Email : richard.chbeir@u-bourgogne.fr Plan Architecture Structure Physique Composants Processus Traitement de requêtes Structure Logique Architecture Un serveur Oracle

Plus en détail

Le langage SQL (deuxième partie) c Olivier Caron

Le langage SQL (deuxième partie) c Olivier Caron Le langage SQL (deuxième partie) 1 Les requêtes de consultation Représente la majorité des requêtes 1 Les requêtes de consultation Représente la majorité des requêtes Encapsule complètement l algèbre relationnel

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

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget Julien Forget Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS 3 2011-2012 1 / 46 Rôle du gestionnaire de mémoire Le gestionnaire de mémoire a

Plus en détail

L2 sciences et technologies, mention informatique SQL

L2 sciences et technologies, mention informatique SQL Bases de données L2 sciences et technologies, mention informatique SQL ou : le côté obscure de la jolie théorie films titre réalisateur année starwars lucas 1977 nikita besson 1990 locataires ki-duk 2005

Plus en détail

Il est nécessaire de connaître au moins un système d'exploitation de type graphique.

Il est nécessaire de connaître au moins un système d'exploitation de type graphique. GBD-030 Oracle Prise en main Saint-Denis à 9h30 5 jours Objectifs : Une formation Oracle complète pour découvrir tous les concepts du système et les différentes façons de les utiliser concrètement tout

Plus en détail

Table des matières. Module 1 L ARCHITECTURE D ORACLE... 1-1. Module 2 L INSTALLATION... 2-1

Table des matières. Module 1 L ARCHITECTURE D ORACLE... 1-1. Module 2 L INSTALLATION... 2-1 Table des matières Module 1 L ARCHITECTURE D ORACLE... 1-1 La base de données... 1-2 Le stockage des données... 1-4 L instance... 1-6 La zone «Shared Pool»... 1-7 La zone «Buffer Cache»... 1-8 L exécution

Plus en détail

Bases de Données Avancées

Bases de Données Avancées Bases de Données Avancées Optimisation Travaux Pratiques ECP Lydia Khelifa, Nicolas Travers Table des matières 1 Etudedelabasededonnées 3 1.1 Tables............................................... 3 1.2

Plus en détail

Plan. Bases de données. Cours 1 : Généralités & rappels. But du cours. Organisation du cours. Polytech Paris-Sud. Apprentis 4 ème année

Plan. Bases de données. Cours 1 : Généralités & rappels. But du cours. Organisation du cours. Polytech Paris-Sud. Apprentis 4 ème année Plan Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 1 : Généralités & rappels 1.1 Avant-propos 1.2 Algèbre relationnelle kn@lri.fr http://www.lri.fr/~kn 2/18 But du cours Organisation

Plus en détail

Systèmes d exploitation Gestion des fichiers. Catalin Dima

Systèmes d exploitation Gestion des fichiers. Catalin Dima Systèmes d exploitation Gestion des fichiers Catalin Dima 1 Problématique Certains processus doivent stocker/avoir accès à une très grande quantité de mémoire Parfois plusieurs ordres de grandeur par rapport

Plus en détail

Cours Bases de données

Cours Bases de données Cours Bases de données Optimisation 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Méthodes d optimisation des requêtes 1. Introduction 2. Étude des coûts 3.

Plus en détail

Base de donnée relationnelle. Exemple de table: Film. Exemple de table: Acteur. Exemple de table: Role. Contenu de la table Role

Base de donnée relationnelle. Exemple de table: Film. Exemple de table: Acteur. Exemple de table: Role. Contenu de la table Role IFT7 Programmation Serveur Web avec PHP Introduction à MySQL Base de donnée relationnelle Une base de données relationnelle est composée de plusieurs tables possédant des relations logiques (théorie des

Plus en détail

4D v11 SQL Release 5 (11.5) ADDENDUM

4D v11 SQL Release 5 (11.5) ADDENDUM ADDENDUM Bienvenue dans la release 5 de 4D v11 SQL. Ce document présente les nouveautés et modifications apportées à cette nouvelle version du programme. Prise en charge de nouvelles plates-formes La release

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

ICM 1A - SIN 27 juin 2011. École Nationale Supérieure des Mines de Saint-Étienne

ICM 1A - SIN 27 juin 2011. École Nationale Supérieure des Mines de Saint-Étienne ICM 1A SIN Pôle XXI Stockage de l Information Numérique P Lalevée, S Sanaur, S Blayac, P Boivin École Nationale Supérieure des Mines de Saint-Étienne Présentation Présentation générale Le stockage de l'information

Plus en détail

Laboratoire 3 Optimisation de requêtes et analyse de la performance. 1 Introduction. Tâche 1 : Évaluation et optimisation de requêtes

Laboratoire 3 Optimisation de requêtes et analyse de la performance. 1 Introduction. Tâche 1 : Évaluation et optimisation de requêtes DÉPARTEMENT DE GÉNIE LOGICIEL ET DES TI LOG660 - BASE DE DONNÉES HAUTE PERFORMANCE Laboratoire 3 Optimisation de requêtes et analyse de la performance 1 Introduction L objectif de ce troisième laboratoire

Plus en détail

FONCTIONS DE TRAITEMENT} COUNT

FONCTIONS DE TRAITEMENT} COUNT Nom Prénom Promotion Date Buhl Damien Année 1 Groupe 2 21 Janvier 2007 CER Prosit n 22 Mots-Clés : - Requête/Langage SQL Le langage SQL (Structured Query Language) est un langage de requêtes, il permet

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

SQL Server Integration Services 2012 Mise en oeuvre d'un projet ETL avec SSIS

SQL Server Integration Services 2012 Mise en oeuvre d'un projet ETL avec SSIS Introduction à SSIS 1. Présentation de SSIS 13 1.1 Concepts de l ETL 13 1.2 Management Studio et SQL Server Data Tools 14 1.3 Architecture 14 2. SSIS 2012 17 2.1 Les nouveautés de la version 2012 17 2.2

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

10/04/2011. Serveur de données. Serveur de données. Client. Programme d'application Logiciel intermédiaire Pilote de télécommunication.

10/04/2011. Serveur de données. Serveur de données. Client. Programme d'application Logiciel intermédiaire Pilote de télécommunication. 1 BD locale BD locale Programme d'application Logiciel intermédiaire Client SGBD réparti Logiciel intermédiaire données SGBD réparti Logiciel intermédiaire données 2 Bénéfices potentiels Performance Fiabilité

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 GMI Blois IUP3 Bases de Données avancées IUP Blois,

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

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

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

Bacula et PostgreSQL, optimisation et retour d'expérience. Eric Bollengier / Marc Cousin

Bacula et PostgreSQL, optimisation et retour d'expérience. Eric Bollengier / Marc Cousin Bacula et PostgreSQL, optimisation et retour d'expérience Eric Bollengier / Marc Cousin Plan 1/2 Présentation Bacula Présentation Historique Architecture Le catalogue des sauvegardes Schéma simplifié du

Plus en détail

BdD Base de Données. Clément VERMOT-DESROCHES

BdD Base de Données. Clément VERMOT-DESROCHES BdD Base de Données Clément VERMOT-DESROCHES 17 novembre 2009 Table des matières 1 Présentation Générale 3 1.1 Présentation Générale............................. 3 1.1.1 Définition................................

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

Composantes principales des ordinateurs

Composantes principales des ordinateurs Composantes principales des ordinateurs GIF-1001: Ordinateurs: Structure et Applications Jean-François Lalonde, Hiver 2015 Stallings ch. 3, Englander ch. 7, 10.1 Architecture von Neumann Mémoire (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

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr 1- Structure d un disque 2- Ordonnancement des requêtes 3- Gestion du disque - formatage - bloc d amorçage - récupération

Plus en détail

La Compression, une fonctionnalité extraordinaire pour la Haute Volumétrie.

La Compression, une fonctionnalité extraordinaire pour la Haute Volumétrie. La Compression, une fonctionnalité extraordinaire pour la Haute Volumétrie. Philippe de Saint Aignan, Administrateur Senior OCP Oracle Présentation du mercredi 29 juin 2011- Hôtel

Plus en détail

OPTIMISATION DE QUESTIONS

OPTIMISATION DE QUESTIONS OPTIMISATION DE QUESTIONS Luc Bouganim Luc.Bouganim@prism.uvsq.fr Page 2 Architecture en couche d un SGBD Gestion de Mémoire Interface Analyseur sémantique Optimiseur Moteur d exécution Opérations relationnelles

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

Plus en détail

Performances PostgreSQL au niveau du système

Performances PostgreSQL au niveau du système 1 Performances PostgreSQL au niveau du système A propos de l'auteur Auteur: Julien Rouhaud julien.rouhaud@dalibo.com Société: DALIBO Date: Mars 2013 URL: www.dalibo.org 2 Licence Create Commons BY-NC-SA

Plus en détail

Module MLBDA Master Informatique Spécialité DAC. Cours 10 NoSQL

Module MLBDA Master Informatique Spécialité DAC. Cours 10 NoSQL Module MLBDA Master Informatique Spécialité DAC Cours 10 NoSQL Systèmes NoSQL (not only SQL) Systèmes qui abandonnent certaines propriétés des SGBDR (one size does not fit all): Le langage d interrogation

Plus en détail