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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Plus en détail

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

Cours Bases de données

Cours Bases de données Cours Bases de données Stockage des données, indexation, optimisation des requêtes 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Stockage, indexation, optimisation

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

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

Tests de performance du matériel

Tests de performance du matériel 3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons

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

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

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

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

PostgreSQL 9.x: une nouvelle ère!

PostgreSQL 9.x: une nouvelle ère! PostgreSQL 9.x: une nouvelle ère! Jean-Paul Argudo Dalibo L Expertise PostgreSQL Paris, France http://www.solutionslinux.fr/ Agenda 1 À propos 2 PostgreSQL et NoSQL hstore JSON PL/v8 3 Avant PostgreSQL

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

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

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

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

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

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

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

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

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

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

Évaluation et optimisation de requêtes

Évaluation et optimisation de requêtes LOG660 - Bases de données de haute performance Évaluation et optimisation de requêtes Département de génie logiciel et des TI Question Laquelle de ces requêtes est la plus performante? Requête 1: SELECT

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

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

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

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

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

Plus en détail

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

Nouveautés de PostgreSQL 9.2

Nouveautés de PostgreSQL 9.2 Table des matières PostgreSQL 9.2...3 1 Au menu...3 2 Performances...3 2.1 Scalabilité des lectures...4 2.2 Scalabilité des lectures - graphique...4 2.3 Scalabilité des écritures...5 2.4 Scalabilité des

Plus en détail

Plan du chapitre. Systèmes de gestion des fichiers. Définitions. Pourquoi des fichiers. Organisation logique : les fichiers.

Plan du chapitre. Systèmes de gestion des fichiers. Définitions. Pourquoi des fichiers. Organisation logique : les fichiers. Plan du chapitre Systèmes de gestion des fichiers Introduction Organisation logique Fichiers Désignation et catalogues Mise en œuvre des SGF Gestion de l espace libre Descripteurs de fichiers Amélioration

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

Gestion de mémoire secondaire

Gestion de mémoire secondaire Gestion de mémoire secondaire F. Boyer, Laboratoire Lig 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

Faculté de Sciences Économiques et de Gestion. Bases de données. Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont

Faculté de Sciences Économiques et de Gestion. Bases de données. Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont Faculté de Sciences Économiques et de Gestion Bases de données Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont http://eric.univ-lyon2.fr/~jdarmont/ Plan du cours I. Introduction II. Le

Plus en détail

14. Stockage des données. OlivierCuré [ocure@univ-mlv.fr]

14. Stockage des données. OlivierCuré [ocure@univ-mlv.fr] 14. Stockage des données 416 Hiérarchie des stockages Mémoire cache est plus rapide et plus onéreuse que... RAM est plus rapide et plus onéreuse que... Disque dur est plus rapide et plus onéreux que...

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

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

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

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

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

Solaris pour la base de donnés Oracle

<Insert Picture Here> Solaris pour la base de donnés Oracle Solaris pour la base de donnés Oracle Alain Chéreau Oracle Solution Center Agenda Compilateurs Mémoire pour la SGA Parallélisme RAC Flash Cache Compilateurs

Plus en détail

Bases de Données Avancées

Bases de Données Avancées /210 Bases de Données Avancées Optimisation Thierry Hamon Bureau H202 Institut Galilée - Université Paris 13 & LIMSI-CNRS hamon@limsi.fr http://perso.limsi.fr/hamon/teaching/bda-20132014/ INFO2 BDA 2/210

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

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

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

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

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

Fonctionnement d un Système de Gestion de Fichiers (SGF) - les disques. christophe.cerin@iutv.univ-paris13.fr 27 décembre 2012

Fonctionnement d un Système de Gestion de Fichiers (SGF) - les disques. christophe.cerin@iutv.univ-paris13.fr 27 décembre 2012 Fonctionnement d un Système de Gestion de Fichiers (SGF) - les disques christophe.cerin@iutv.univ-paris13.fr 27 décembre 2012 1 Systèmes de fichiers Propriétés attendues : Stocker de très grandes quantités

Plus en détail

La présente publication est protégée par les droits d auteur. Tous droits réservés.

La présente publication est protégée par les droits d auteur. Tous droits réservés. Editeur (Medieninhaber/Verleger) : Markus Winand Maderspergerstasse 1-3/9/11 1160 Wien AUSTRIA Copyright 2013 Markus Winand La présente publication est protégée par les droits d auteur.

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

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

Informatique Générale. Organisation de la mémoire et stockage. Jacques Farré (d'après Fabrice Huet, Wikipedia... et bien d'autres)

Informatique Générale. Organisation de la mémoire et stockage. Jacques Farré (d'après Fabrice Huet, Wikipedia... et bien d'autres) Université de Nice Sophia Antipolis Licence 1 Sciences & Technologies Informatique Générale Organisation de la mémoire et stockage Jacques Farré (d'après Fabrice Huet, Wikipedia... et bien d'autres) Jacques.Farre@unice.fr

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

Techniques de stockage

Techniques de stockage NFE113 Administration et configuration des bases de données 2010 Techniques de stockage 1 Eric Boniface Sommaire Stockage de données Disques RAID Fichiers Oracle et MySQL 2 Stockage de données Une base

Plus en détail

Cours 2 : SQL Structured Query Language

Cours 2 : SQL Structured Query Language Cours 2 : SQL Structured Query Language SQL Langage permettant de définir, manipuler et contrôler les données d une BD relationnelle Objet d une norme de l Institut National Américain de Normalisation

Plus en détail

MySQL 5.6 Administration et optimisation

MySQL 5.6 Administration et optimisation Avant-propos 1. MySQL en quelques mots 17 2. Objectifs du livre 18 3. Description 18 Installation du serveur 1. Généralités 21 1.1 Stabilité des versions 21 1.2 Version communautaire et version Enterprise

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

Ingénierie et Optimisation de Bases de Données

Ingénierie et Optimisation de Bases de Données Ingénierie et Optimisation de Bases de Données FIP - ABD TPs CNAM Paris Nicolas.Travers (at) cnam.fr Table des matières 1 Informations surlabasededonnées 3 1.1 Informations sur les capacités........................

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

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

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

SQL : Origines et Evolutions

SQL : Origines et Evolutions SQL : Origines et Evolutions SQL est dérivé de l'algèbre relationnelle et de SEQUEL Il a été intégré à SQL/DS, DB2, puis ORACLE, INGRES, Il existe trois versions normalisées, du simple au complexe : SQL1

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

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

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

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

Introduction aux bases de données

Introduction aux bases de données 1/73 Introduction aux bases de données Formation continue Idir AIT SADOUNE idir.aitsadoune@supelec.fr École Supérieure d Électricité Département Informatique Gif sur Yvette 2012/2013 2/73 Plan 1 Introduction

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

Éléments pour l'optimisation des data warehouses

Éléments pour l'optimisation des data warehouses Éléments pour l'optimisation des data warehouses Data warehouse http://dwh.crzt.fr Stéphane Crozat 28 novembre 2014 Table des matières Introduction 3 I - Optimisation de requêtes sous Oracle 9i 4 1. Problématique...

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

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

SAP HANA: note de synthèse

SAP HANA: note de synthèse Préface: Au cœur des nombreux défis que doivent relever les entreprises, l informatique se doit de soutenir les évolutions, d aider au développement de nouveaux avantages concurrentiels tout en traitant

Plus en détail

Optimisation SQL. Quelques règles de bases

Optimisation SQL. Quelques règles de bases Optimisation SQL Quelques règles de bases Optimisation des ordres SQL Page 2 1. QUELQUES RÈGLES DE BASE POUR DES ORDRES SQL OPTIMISÉS...3 1.1 INTRODUCTION...3 1.2 L OPTIMISEUR ORACLE...3 1.3 OPTIMISEUR

Plus en détail

10/04/2011. Toute requête SQL est traitée en trois étapes :

10/04/2011. Toute requête SQL est traitée en trois étapes : 1 1. Rappels 2. Structures d indexation et placement 3. Algorithmes de sélection 4. Algorithmes de jointure Toute requête SQL est traitée en trois étapes : 1. Analyse et traduction de la requête : on vérifie

Plus en détail

Installation et configuration

Installation et configuration Installation et configuration Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2 Olivier.Perrin@loria.fr Quel SGBD? Open source MySQL 5.x PostgreSQL 8.x Firebird 1.5.x MaxDB

Plus en détail

BD parallèles et réparties

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

Plus en détail

Gilles Roussel. Disques. Optimisation. Bas niveau. Partitions. fichiers FAT RAID. Gilles Roussel. Disques. Optimisation. Bas niveau.

Gilles Roussel. Disques. Optimisation. Bas niveau. Partitions. fichiers FAT RAID. Gilles Roussel. Disques. Optimisation. Bas niveau. C est quoi un disque? de Gilles.Roussel@univ-mlv.fr http://igm.univ-mlv.fr/ens/licence/l2/2012-2013/system/ Licence 2 de 7 avril 2015 C est quoi un disque? C est quoi un disque? de Différents types de

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

Langage de Requêtes. talel@infres.enst.fr

Langage de Requêtes. talel@infres.enst.fr Langage de Requêtes talel@infres.enst.fr Supports de cours : (1) Database Management Systems, R. Ramakrishnan and J. Gehrke, ed. McGrawHill, 2000. (2) Bases de Données, G. Gardarin, ed. Eyrolles, 2001.

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

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

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

3 - Administration de BD SQL. Chapitre III. Administration des BD SQL. Actions possibles. Composants ORACLE. Chapitre 3 : Administration des BD SQL 1

3 - Administration de BD SQL. Chapitre III. Administration des BD SQL. Actions possibles. Composants ORACLE. Chapitre 3 : Administration des BD SQL 1 3 - Administration de BD SQL Chapitre III Administration des BD SQL 3.1 Création de BD 3.2 Gestion des utilisateurs 3.3 Administration des transactions 3.4 Accès à une BD distante 3.5 Conclusions Composants

Plus en détail

Introduction aux SGBDR

Introduction aux SGBDR 1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux

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

DB2 10.5 BLU Acceleration Francis Arnaudiès f.arnaudies@fr.ibm.com

DB2 10.5 BLU Acceleration Francis Arnaudiès f.arnaudies@fr.ibm.com DB2 10.5 BLU Acceleration Francis Arnaudiès f.arnaudies@fr.ibm.com #solconnect13 SOLUTIONS ADAPTEES AUX BESOINS CLIENTS Mobile/Cloud Data Serving and Transaction Processing Mobile Storefront JSON Database

Plus en détail