07/05/2015© Robert Godin. Tous droits réservés.1 13 Conception dans un contexte relationnel.

Slides:



Advertisements
Présentations similaires
Évaluation des requêtes relationnelles
Advertisements

Évaluation des requêtes relationnelles
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Fonctionnalités des SGBD
TP 3-4 BD21.
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Contrôles d'accès aux données
Rappel sur les bases de données et le vocabulaire
Gérer les tablespaces et les fichiers de données
Serveurs Partagés Oracle
Chap 4 Les bases de données et le modèle relationnel
SYSTEME DE GESTION DE BASES DE DONNEES
Dépendances entre les chapitres
8 Organisations unidimentionnelles : indexage et hachage
Staf 2x Cours de bases de données
Les concepts et les méthodes des bases de données
Management of Information Technology - e-business
OPTIMISATION DE BASE DE DONNEES ORACLE
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
Vue d'ensemble Surveillance des journaux d'événements
Introduction.
Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation.
Gérer la sécurité des mots de passe et les ressources
Module 8 : Surveillance des performances de SQL Server
PLAN ● L'instance ● Optimisations – Gestion de l'espace – La gestion des quotas – Les requêtes gourmandes – Les goulots d'étranglement ● Administration.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Les Composants de l’architecture Oracle
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Cours de Systèmes d’exploitations
Créer des packages.
Optimisation de requêtes
Concepts et administration
Composants de l'architecture Oracle
PostgreSQL – Présentation
Cours oracle n°1 Le SGBD ORACLE
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Module 4 : Implémentation de l'intégrité des données.
Structures de données avancées : Concepts du Multidimensionnel D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Heg Haute école de gestion de Neuchâtel 24/11/00Cahier théorique 02 V1-01 Prise en main (2) Création et gestion d'une association.
Structure de stockage et relations
LE DATA WAREHOUSE.
Module 3 : Création d'un domaine Windows 2000
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
2 Processus de conception de BD
Gérer les utilisateurs
21/04/2015© Robert Godin. Tous droits réservés.1 6Gestion des contraintes d’intégrité en SQL n Contrainte d'intégrité statique – respectée pour chacun.
22/04/2015© Robert Godin. Tous droits réservés.1 10 Évaluation des requêtes relationnelles n SQL – QUOI n Évaluateur de requêtes du SGBD – COMMENT – en.
PLAN ● L'instance – Création – Démarrer, Arréter et surveiller – Connexion / Utilisateurs ● Optimisations et interconnexions ● Administration et sauvegardes.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
06/05/2015© Robert Godin. Tous droits réservés.1 9 Méthodes multidimentionnelles et représentation d'associations n Méthodes d ’organisation avancées –
Les vues Une vue: c’est une relation virtuelle. Définie par:
02/06/2015© Robert Godin. Tous droits réservés.1 5 Interface entre SQL et un programme n SQL incomplet n Défaut d'impédance (impedance mismatch) – modèle.
Initiation aux SGBD Frédéric Gava (MCF)
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Structures de données avancées : Principales structures de fichiers
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Module 2 : Planification de l'installation de SQL Server
La gestion des bases de données
Les bases de données Séance 8 Jointures.
Module 3 : Gestion des fichiers de base de données
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Introduction Module 1.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Cours 11 Entrepôts de données
Chapitre 12 Surveillance des ressources et des performances Module S41.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
13 Conception dans un contexte relationnel
Transcription de la présentation:

07/05/2015© Robert Godin. Tous droits réservés.1 13 Conception dans un contexte relationnel

07/05/2015© Robert Godin. Tous droits réservés.2 Réalisation de la persistance n Constantes du programme d ’application n Fichiers (API du SGF) n Librairies spécialisées (API de haut-niveau) n SGBD – souplesse, robustesse, intégrité,… – approche privilégiée dans ce chapitre n SGBD relationnel SQL centralisé

07/05/2015© Robert Godin. Tous droits réservés.3 Forces du relationnel n Accessibilité large n Maturité de la technologie n Fondements théoriques solides n Norme répandue (SQL) n Support solide de l'intégrité n Outils de développement

07/05/2015© Robert Godin. Tous droits réservés.4 Processus de conception de BD

07/05/2015© Robert Godin. Tous droits réservés Mise en œuvre des contraintes d'intégrité en SQL n Enjeux client ou serveur – Robustesse – Interactivité – Performance

07/05/2015© Robert Godin. Tous droits réservés.6 Représentation UML : Data Modeling Profile n TABLE – classes stéréotypées « TABLE » n PRIMARY KEY – étiquette PK devant les colonnes – une opération stéréotypée « PK » n UNIQUE – opération stéréotypée « UNIQUE » n FOREIGN KEY : – une étiquette FK devant les colonnes – opération stéréotypée « FK » – association de un à plusieurs n association stéréotypée « Identifying » pour association identifiante n CHECK – opération stéréotypée « CHECK » n TRIGGER – opération stéréotypée « TRIGGER »

07/05/2015© Robert Godin. Tous droits réservés Représentation des contraintes d'intégrité en SQL n Voir chap. 6 pour syntaxe SQL n Deux catégories – Contrainte d'intégrité statique n respectée pour chacun des états de la BD – Contrainte d'intégrité dynamique n contrainte sur changements d'états

07/05/2015© Robert Godin. Tous droits réservés.8 Shéma relationnel pour SyLeRat

07/05/2015© Robert Godin. Tous droits réservés Contraintes statiques n Mécanismes déclaratifs (à privilégier) – PRIMARY KEY, UNIQUE, NOT NULL, DOMAIN, FOREIGN KEY, CHECK, ASSERTION n Procédural – TRIGGER (SQL3) n plus complexe à coder – plus sujet à erreur n parfois plus performant n parfois inévitables (limite des mécanismes déclaratifs)

07/05/2015© Robert Godin. Tous droits réservés Contrainte sur le domaine d'une colonne

07/05/2015© Robert Godin. Tous droits réservés Contrainte de clé primaire

07/05/2015© Robert Godin. Tous droits réservés.12 Contrainte de clé candidate

07/05/2015© Robert Godin. Tous droits réservés.13 Contrainte d'intégrité référentielle Politique NO ACTION par défaut

07/05/2015© Robert Godin. Tous droits réservés.14 Contrainte intra-ligne

07/05/2015© Robert Godin. Tous droits réservés.15 Contraintes statiques complexes n CHECK avec SELECT enchâssé – non supporté par Oracle n ASSERTION – non supporté par Oracle n TRIGGER

07/05/2015© Robert Godin. Tous droits réservés.16 {Un Editeur ne peut exister sans qu'un Livre y fasse référence}

07/05/2015© Robert Godin. Tous droits réservés.17 {Un Editeur ne peut exister sans qu'un Livre y fasse référence}

07/05/2015© Robert Godin. Tous droits réservés.18 {Un Editeur ne peut exister sans qu'un Livre y fasse référence}

07/05/2015© Robert Godin. Tous droits réservés.19 {Le nombre de PrêtsEnCours d'un Membre <=nbMaxPrêts (de la table MembreGénéral)}

07/05/2015© Robert Godin. Tous droits réservés.20 {Le nombre de PrêtsEnCours d'un Membre <=nbMaxPrêts (de la table MembreGénéral)}

07/05/2015© Robert Godin. Tous droits réservés.21 Réalisation avec TRIGGER

07/05/2015© Robert Godin. Tous droits réservés.22

07/05/2015© Robert Godin. Tous droits réservés.23 Par TRIGGER : forcer le changement de statut

07/05/2015© Robert Godin. Tous droits réservés.24

07/05/2015© Robert Godin. Tous droits réservés.25 {CatégorieUtilisateur doit être cohérente avec la table d'appartenance} par TRIGGER

07/05/2015© Robert Godin. Tous droits réservés.26 {Exclusives et une des deux est nécessaire} par CHECK Impossible avec TRIGGER non DEFERRABLE

07/05/2015© Robert Godin. Tous droits réservés Contraintes dynamiques n Interdit de faire un prêt à un Membre qui possède un retard

07/05/2015© Robert Godin. Tous droits réservés.28 {le statut de l'Exemplaire doit être disponible avant qu'un prêt ne soit effectué}

07/05/2015© Robert Godin. Tous droits réservés.29 Archivage des prêts lors d'un retour

07/05/2015© Robert Godin. Tous droits réservés Exemple de schéma SQL pour SyLeRat n Eviter la circularité des définitions

07/05/2015© Robert Godin. Tous droits réservés.31 Utilisation du ALTER TABLE

07/05/2015© Robert Godin. Tous droits réservés.32 Combinaison de TRIGGER Contrôler l'ordre d'exécution Améliorer la performance

07/05/2015© Robert Godin. Tous droits réservés.33 Une seule fois ! N.B. Contrôle plus fin avec PL/SQL

07/05/2015© Robert Godin. Tous droits réservés Conception du schéma relationnel au niveau externe n Ce que l ’utilisateur voit n Sécurité – utilisateurs, rôles, privilèges – partir des cas d ’utilisation n Tables virtuelles

07/05/2015© Robert Godin. Tous droits réservés Tables virtuelles n Mécanisme d ’encapsulation – isoler l ’utilisateur des détails du schéma – indépendance logique des données n Mécanisme de sécurité – privilège d ’accès à la table virtuelle seulement

07/05/2015© Robert Godin. Tous droits réservés.36 Exemple d ’encapsulation

07/05/2015© Robert Godin. Tous droits réservés.37 Exemple de mécanisme de sécurité

07/05/2015© Robert Godin. Tous droits réservés Réalisation des contraintes de sécurité n Sécurité par les données – acteur associé à un authorizationID SQL n GRANT les privilèges nécessaires n sécurité appliquée de manière globale (indépendante de l’application) – traçabilité (audit au niveau SGBD) – pooling de connexion impossible avec les connexions JDBC normales n Sécurité par les traitements – identificateur d'utilisateur et mot de passe gérés par le programme d'application – indépendamment des mécanismes SQL – connexion avec authorizationID SQL omnipotent – danger accrue en cas de sécurité brisée – pas de traçabilité directe à l’acteur – Oracle : session légère et authentification proxy pour pooling

07/05/2015© Robert Godin. Tous droits réservés.39 Sécurité avancée n Option Oracle Advanced Secutity – Cryptage bout en bout (réseau) – Authentification externe n Kerberos, SSL, certificats, biométrique,… n Single Sign-On (SSO) – par Oracle Internet Directory (LDAP v3) n Virtual private database – Plusieurs BD dans une DATABASE n Oracle Label Security – Étiquetage des lignes par niveaux de sécurité – e.g. public, secret, top-secret

07/05/2015© Robert Godin. Tous droits réservés.40 Exemple par les données n Acteur (cas d ’utilisation) : ROLE SQL – ROLE RôleAdministrateurSystème n accès à tout – ROLE RôleCommisAuPrêt n tout en lecture (SELECT) n Membre, Utilisateur, PrêtEnCours, PrêtArchivé, Exemplaire en écriture (INSERT, DELETE, UPDATE) – ROLE RôleMembre –... n GRANT ROLE xxx to authorizationID n NB Pas de motDePasse dans table Utilisateur !

07/05/2015© Robert Godin. Tous droits réservés.41 Utilisation de TRIGGER n Le prêt est interdit 1h00 et 7h00

07/05/2015© Robert Godin. Tous droits réservés Niveau interne du schéma relationnel : conception physique n Input – schéma (niveau conceptuel) initial – estimations des volumes de données – architecture n contraintes SGBD n contraintes plate-forme – charge de travail n exigences de performance n Output – le « meilleur » schéma interne n solution approchée

07/05/2015© Robert Godin. Tous droits réservés Conception physique dans un contexte centralisé n Organisations primaires n Organisations secondaires

07/05/2015© Robert Godin. Tous droits réservés.44 Organisation primaire n Fichiers et paramètres d'allocation d'espace – quel disque/site n architectures RAID – taille de bloc – taille de fichier n fixe n allocation dynamique – taille des granules

07/05/2015© Robert Godin. Tous droits réservés.45 Organisation primaire (suite) n Paramètres d'allocation d'espace aux tables – quels fichiers ? – taille des granules – homogène / hétérogène – colonne externe ? (multimédia) n chemin vers fichier externe n URL

07/05/2015© Robert Godin. Tous droits réservés.46 Organisation primaire (suite) n Paramètres du mécanisme d'allocation d'espace aux lignes – position dans le fichier n allocation sérielle, grappe, index primaire, hachage n réservation d ’espace n paramètres spécifiques à l ’organisation – enregistrements n taille fixe/variable n chevauchant ou non n compression n cryptage – gestion des identifiants d ’enregistrement (IDE)

07/05/2015© Robert Godin. Tous droits réservés.47 Organisations secondaires n Chemins d ’accès supplémentaires – référence par IDE n Index secondaire n Organisation multidimensionnelle n Listes – SGBD réseau n Collections de références – SGBD objet

07/05/2015© Robert Godin. Tous droits réservés Le processus de conception n Intrants – schéma relationnel au niveau conceptuel – volume des tables n estimation difficile – charge de travail n partir des cas d ’utilisation n Sortie – schéma interne « optimal »

07/05/2015© Robert Godin. Tous droits réservés.49 Problème d ’optimisation complexe n Enjeux conflictuels – lecture/écriture, espace/temps n Grande quantité de paramètres n Mesures approximatives n Evolution des paramètres n Solution approchée – heuristiques n Surveillance et mise au point

07/05/2015© Robert Godin. Tous droits réservés Heuristiques de conception n Sous-ensemble des opérations – en ordre d ’ importance n Négliger le coût des mises à jour n Négliger le coût en espace mémoire n Méthode gloutonne

07/05/2015© Robert Godin. Tous droits réservés.51 Méthode gloutonne n Initialiser schémaInterne – e.g. organisation sérielle pour chacune des tables n Pour chacune des opération i (en ordre de priorité) – trouver meilleur plan P pour opération i selon schémaInterne – chercher amélioration de schémaInterne n qui permet de produire un meilleur plan P ’ n sans pénaliser opération 1 … opération i-1 – si P ’ meilleur que P n schémaInterne := schémaInterne amélioré n Comment améliorer ? – heuristiques d ’amélioration

07/05/2015© Robert Godin. Tous droits réservés Sélection par égalité n SELECT... n FROM T n WHERE X = uneValeurDeX n Heuristique – Si n bonne sélectivité de X n volume de données suffisant – 1. Hachage sur X – 2. Index primaire ou index groupant sur X – 3. Index secondaire sur X – N.B. Conditions particulières

07/05/2015© Robert Godin. Tous droits réservés.53 Exemple glouton n >>> sélectivité de ISBN n >>> volume de données n TempsES (S=H) = 10,1ms – volume assez stable n TempsES (S=IP) = 40,4ms – sélection par intervalle non pertinente n TempsES (S=IS) = 50,5ms

07/05/2015© Robert Godin. Tous droits réservés.54 Exemple n Meilleur plan P avec schéma interne précédent – TempsES (BAL) > ms (meilleur cas) n sélectivité de code = 1/4000 n volume de données suffisant n TempsES (S=H) = 131,3ms – conflit avec hachage sur ISBN n TempsES (S=IP) = 222,2ms – conflit... n TempsES (S=IS) = 2595,7ms – seule possibilité pour éviter de pénaliser 1

07/05/2015© Robert Godin. Tous droits réservés.55 Glouton : temps moyen sous-optimal n Hypothèse – sélection par ISBN : 50 fois par jour – sélection par code : 30 fois par jour – moyenne : (50*10,1 + 30*2 595,7)/80 = 1 979,7 ms n Pénaliser un peu opération 1… – moyenne : (50*50,5 + 30*131,3)/80 = 80,8 ms

07/05/2015© Robert Godin. Tous droits réservés.56 n Meilleur plan P avec schéma interne précédent – TempsES (S=IS sur code) = 2 595,7ms n TempsES ( S=IS sur la clé composée {code, annéeParution} ) = 90,9ms n N.B. Index sur {code, annéeParution} utilisé pour :

07/05/2015© Robert Godin. Tous droits réservés.57 Indexer les colonnes individuelles ? n TempsES(S  ) = 3 221,9 ms

07/05/2015© Robert Godin. Tous droits réservés.58 n Meilleur plan P avec schéma interne précédent – ms (pire cas) > TempsES (BAL) > ms (meilleur cas) n TempsES ( S=IS sur annéeParution ) = ,5 ms

07/05/2015© Robert Godin. Tous droits réservés.59 Accès multidimensionnel n Ex: accès par titre, code, annéeParution et nomEditeur – seule ou en combinaison n Indexer toutes les combinaisons ? n Un index pour chacune des colonnes n Organisation multidimensionnelle n Index bitmap pour faible facteur de sélectivité

07/05/2015© Robert Godin. Tous droits réservés.60 Maintenance des contraintes d ’intégrité n Contrainte PRIMARY KEY(ISBN) – hachage ou indexage sur ISBN n Heuristique – hachage ou indexage sur PRIMARY KEY et UNIQUE – Oracle : n index secondaire automatique

07/05/2015© Robert Godin. Tous droits réservés Sélection par intervalle n Index sur titre n Préfixe ~ intervalle

07/05/2015© Robert Godin. Tous droits réservés Tri du résultat (ORDER BY) n Index primaire sur datePrêt n Index secondaire inutile dans ce cas

07/05/2015© Robert Godin. Tous droits réservés Calcul du minimum (MIN) et du maximum (MAX) n Index sur noSequence

07/05/2015© Robert Godin. Tous droits réservés Calcul d'agrégat (GROUP BY) n Index primaire, grappe ou hachage sur idUtilisateur

07/05/2015© Robert Godin. Tous droits réservés Jointure par égalité n Jointure sur la clé de jointure X – bonne sélectivité de X – volume de données suffisant n Heuristique – 1. Organisation hétérogène sur X n grappe, hachage ou index primaire (pré-jointure) – 2. Organisation homogène sur X n table interne ( boucle imbriquée )

07/05/2015© Robert Godin. Tous droits réservés.66 Organisation hétérogène n TempsES (PJ) = – TempsES (BAL Livre ) + TempsES (BAL Catégorie ) = ms n Pénalise TempsES (BAL pour Catégorie)

07/05/2015© Robert Godin. Tous droits réservés.67 Organisation homogène n Livre ou Catégorie ? – organisation sur code pour Livre n ne pénalise pas TempsES (BAL pour Catégorie) – organisation sur code pour Catégorie – faible sélectivité de la jointure...

07/05/2015© Robert Godin. Tous droits réservés.68 Cas d ’une jointure sélective n Organisation hétérogène à éviter – jointure sélective pour Exemplaire

07/05/2015© Robert Godin. Tous droits réservés Impact du plan d'exécution de l'optimiseur de requête n Heuristiques précédentes pas toujours pertinentes n Cas de requêtes complexes – plusieurs sélections, jointures,... n Tenter de prévoir le plan d ’exécution – utiliser modèles de coût

07/05/2015© Robert Godin. Tous droits réservés.70 Exemple n Heuristique : index primaire sur datePrêt ?

07/05/2015© Robert Godin. Tous droits réservés.71 Exemple n Ne peut faire mieux que BIM avec organisation homogène – voir estimations

07/05/2015© Robert Godin. Tous droits réservés.72 n Schéma 1 (privilégie sélection) Organisation sur code de Livre ???

07/05/2015© Robert Godin. Tous droits réservés.73 n Schéma 2 (privilégie jointure)

07/05/2015© Robert Godin. Tous droits réservés.74 n Schéma 3 (index secondaires seulement)

07/05/2015© Robert Godin. Tous droits réservés.75 Cas complexe

07/05/2015© Robert Godin. Tous droits réservés.76

07/05/2015© Robert Godin. Tous droits réservés.77 Plan générique

07/05/2015© Robert Godin. Tous droits réservés.78 Schéma 1 Variante : index secondaires

07/05/2015© Robert Godin. Tous droits réservés.79 Plan correspondant au schéma 1

07/05/2015© Robert Godin. Tous droits réservés.80 Raffinement n Organisation hétérogène

07/05/2015© Robert Godin. Tous droits réservés.81 Autre possibilité

07/05/2015© Robert Godin. Tous droits réservés Techniques sophistiquées de conception et mise au point n Enjeu important n Simulation n Banc d ’essais n Dernier recours – surveillance – mise au point

07/05/2015© Robert Godin. Tous droits réservés Modification du schéma conceptuel n Dernier recours n Introduction de redondance – dénormaliser – introduction d ’éléments dérivés n Favoriser lecture (SELECT) n Pénaliser écriture – traitements de maintien de la cohérence

07/05/2015© Robert Godin. Tous droits réservés ALTERNATIVES DE TRADUCTION n Attributs multivalués n Associations n Généralisations n...

07/05/2015© Robert Godin. Tous droits réservés DÉNORMALISATION n Inclure Editeur dans Livre n Évite jointure coûteuse n Maintien de la cohérence – nomEditeur  ville dans Livre (modifiée) – ajout de TRIGGER

07/05/2015© Robert Godin. Tous droits réservés INTRODUCTION D'ÉLÉMENTS DÉRIVÉS n Index sur noSequence n Nouvelle table PrêtEnCoursGénéral(maxNoSequence)

07/05/2015© Robert Godin. Tous droits réservés.87 Oracle et Designer n Code Control Sequence de Designer – maximum dans une table Code Control – blocage du au verrouillage n SEQUENCE Oracle – CREATE SEQUENCE nomSequence... n INSERT INTO …(nomSequence.NEXTVAL,…) – série de valeurs en antémémoire n pas de blocage – problème de trous dans la SEQUENCE

07/05/2015© Robert Godin. Tous droits réservés FRAGMENTATION HORIZONTALE n Cas des données archivées – table pour données récentes (e.g. PrêtEnCours) – table pour historique (e.g. PrêtArchivé) – VIEW pour cacher la fragmentation n Oracle8 – fragmentation transparente de table n clause PARTITION – fragmentation d ’index

07/05/2015© Robert Godin. Tous droits réservés FRAGMENTATION VERTICALE n Cas des colonnes volumineuses (LOB) n Traduction de généralisation par délégation

07/05/2015© Robert Godin. Tous droits réservés CONCEPTION D'UN ENTREPÔT DE DONNÉES

07/05/2015© Robert Godin. Tous droits réservés.91 Caractéristiques n Entrepôt de données = redondance contrôlée n Requêtes d ’analyse de données (OLAP) – complexes – imprévisibles – grand volume n Relational OLAP - ROLAP – schéma en étoile n Multidimen s ion a l OLAP -MOLAP – cube de données n T able virtuelle matérialisée n P arallélisme n Organisations multidimensionnelles

07/05/2015© Robert Godin. Tous droits réservés.92 Schéma en étoile (star schema) Table de faits Dimensions : cube de données Tables de dimensions : hiérarchie de granularité

07/05/2015© Robert Godin. Tous droits réservés Paramètres du mécanisme d'allocation d'espace : cas de Oracle n DATABASE – fichiers de données (DATAFILE) – fichiers de journalisation (REDO LOG) – fichiers de contrôle (control file) – utilisé par un serveur (instance)

07/05/2015© Robert Godin. Tous droits réservés.94 Démarrage du serveur n Installation d'un serveur Oracle – DATABASE automatiquement créée n Démarrage d ’un serveur Oracle – ouvre fichier de configuration n e.g. C:\orawin\DATABASE\initorcl.ora (si SID = orcl) – ouvre fichier de contrôle n e.g. C:\orawin\DATABASE\ctl1orcl.ora – ouvre fichiers de données/journal – la DATABASE est montée (mounted)

07/05/2015© Robert Godin. Tous droits réservés.95 TABLESPACE n DATABASE = ensemble de TABLESPACE – minimum 1 (SYSTEM TABLESPACE) n contient le dictionnaire de données – peut ajouter des TABLESPACE n TABLESPACE – espace pour TABLE (et autres objets) – = ensemble de DATAFILE

07/05/2015© Robert Godin. Tous droits réservés.96 Clauses TABLESPACE et STORAGE Taille des EXTENTS

07/05/2015© Robert Godin. Tous droits réservés.97 EXTENT, SEGMENT n EXTENT – granule d'allocation d'espace – ensemble de blocs contigus – dans un DATAFILE du TABLESPACE n Clause STORAGE de défaut n niveau TABLESPACE n niveau DATABASE n SEGMENT – ensemble de EXTENT d ’un objet n (DATA, INDEX, ROLLBACK, TEMPORARY SEGMENTS)

07/05/2015© Robert Godin. Tous droits réservés.98 Conception des TABLESPACE n 1. Unité de base de prise de copie n 2. Sélectivement désactivés (offline) n 3. TABLESPACE sur des disques différents – réduire congestion n 4. EXTENT de même taille ensemble n 5. Limiter fragmentation n TABLESPACE de défaut – associé au authorizationID

07/05/2015© Robert Godin. Tous droits réservés.99 Allocation sérielle par défaut n Enregistrements de taille variable – adressage structuré par bloc n ROWID – gestion des débordements par chaînage – voir volume 1, chap.2 n PCTFREE – réservé pour UPDATE n PCTUSED – seuil pour retour dans FREE LIST n INITRANS – entrée de transaction n MAXTRANS

07/05/2015© Robert Godin. Tous droits réservés.100 Organisation par grappe (CLUSTER INDEX ou HASH) n Homogène ou hétérogène n Clé de grappe (CLUSTER KEY) n INDEX – index groupant n HASH – hachage satique

07/05/2015© Robert Godin. Tous droits réservés.101 CLUSTER INDEX n Allocation sérielle + index n Réservation d ’espace (SIZE)

07/05/2015© Robert Godin. Tous droits réservés.102 CLUSTER HASH n SIZE – taille d ’un paquet n HASHKEYS – nombre minimal de paquets – h(clé) = expression contenant la clé MOD HASHKEYS n arrondi à nombre premier n HASH IS – fonction de hachage

07/05/2015© Robert Godin. Tous droits réservés.103 Index BITMAP n Version 7.3 et + – petit domaine – données peu volatiles n DATAWHAREHOUSE

07/05/2015© Robert Godin. Tous droits réservés.104 Index primaire n Version 8 n Interdit index secondaire

07/05/2015© Robert Godin. Tous droits réservés.105 Partition des tables et des index n Fragmentation horizontale n Clé de partition n Clause PARTITION BY RANGE (clé) – partie->TABLESPACE n Partition d ’un index secondaire

07/05/2015© Robert Godin. Tous droits réservés.106 Index secondaire n Arbre-B + secondaire – variante B* pour division n Entrée d ’une feuille – clé, ROWID – clés non uniques répétées n PCTFREE – taux de remplissage au chargement n PCTUSED – non applicable n INITRANS, MAXTRANS – idem table n La table peut contenir des données au moment du CREATE INDEX

07/05/2015© Robert Godin. Tous droits réservés.107 Exemple

07/05/2015© Robert Godin. Tous droits réservés Mise au point de la configuration du SGBD : cas de Oracle n Espace RAM n Processus SGBD n Journal n Option parallèle – plusieurs instances

07/05/2015© Robert Godin. Tous droits réservés.109 Organisation RAM n System Global Area – espace mémoire partagé n Paramètres du fichier de configuration INITxxxx.ORA – Database Buffer Cache – Redo Log Buffer – Dictionary Cache – Shared Pool n un shared SQL area par opération SQL

07/05/2015© Robert Godin. Tous droits réservés.110 Processus du SGBD n Processus serveur (dédié-Snnn ou multi-fils) n Database Writer (DBWn) n Log Writer (LGWR) n Checkpoint (CKPT) n System Monitor (SMON) n Process Monitor (PMON) n Archiver (ARCH) n Recoverer (RECO) n Dispatcher (Dnnn) n Lock (LCKn) n Job Queue (SNPn)

07/05/2015© Robert Godin. Tous droits réservés.111 Configuration du journal n Nombre de ROLLBACK SEGMENT n Paramètre des ROLLBACK SEGMENT – INITIAL, NEXT, MINEXTENT, MAXEXTENT, OPTIMAL,… n Nombre de fichiers REDO LOG et taille des fichiers n Délai entre points de vérification n Nombre de groupes de REDO LOG

07/05/2015© Robert Godin. Tous droits réservés.112 Oracle 10g n Automatisation accrue de la mise au point de la configuration – Mécanismes de surveillance et de mise au point intégrés – Basés sur connaissances d’experts de la mise au point

07/05/2015© Robert Godin. Tous droits réservés Choix de l'architecture et bancs d'essais TPC n Choix du matériel, réseau, système d’exploitation, SGBD, … – Difficulté : évolution rapide des technologies n Transaction Processing Performance Council (TPC) – – Comparaison de différentes architectures – Initialement TPC-A, TPC-B: OLTP n transactions par seconde (tps) n prix/tps – TPC-C remplace A et B n mélange de transactions plus réaliste n transactions par minute (tpmC) – TPC-H et TPC-R : OLAP – TPC-W : e-commerce n BD objet : OO7