Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parGérard Leroux Modifié depuis plus de 9 années
1
07/05/2015© Robert Godin. Tous droits réservés.1 13 Conception dans un contexte relationnel
2
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é
3
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
4
07/05/2015© Robert Godin. Tous droits réservés.4 Processus de conception de BD
5
07/05/2015© Robert Godin. Tous droits réservés.5 13.1 Mise en œuvre des contraintes d'intégrité en SQL n Enjeux client ou serveur – Robustesse – Interactivité – Performance
6
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 »
7
07/05/2015© Robert Godin. Tous droits réservés.7 13.2 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
8
07/05/2015© Robert Godin. Tous droits réservés.8 Shéma relationnel pour SyLeRat
9
07/05/2015© Robert Godin. Tous droits réservés.9 13.1.1Contraintes 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)
10
07/05/2015© Robert Godin. Tous droits réservés.10 13.1.1.1 Contrainte sur le domaine d'une colonne
11
07/05/2015© Robert Godin. Tous droits réservés.11 13.1.1.2 Contrainte de clé primaire
12
07/05/2015© Robert Godin. Tous droits réservés.12 Contrainte de clé candidate
13
07/05/2015© Robert Godin. Tous droits réservés.13 Contrainte d'intégrité référentielle Politique NO ACTION par défaut
14
07/05/2015© Robert Godin. Tous droits réservés.14 Contrainte intra-ligne
15
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
16
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}
17
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}
18
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}
19
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)}
20
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)}
21
07/05/2015© Robert Godin. Tous droits réservés.21 Réalisation avec TRIGGER
22
07/05/2015© Robert Godin. Tous droits réservés.22
23
07/05/2015© Robert Godin. Tous droits réservés.23 Par TRIGGER : forcer le changement de statut
24
07/05/2015© Robert Godin. Tous droits réservés.24
25
07/05/2015© Robert Godin. Tous droits réservés.25 {CatégorieUtilisateur doit être cohérente avec la table d'appartenance} par TRIGGER
26
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
27
07/05/2015© Robert Godin. Tous droits réservés.27 13.1.2Contraintes dynamiques n Interdit de faire un prêt à un Membre qui possède un retard
28
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é}
29
07/05/2015© Robert Godin. Tous droits réservés.29 Archivage des prêts lors d'un retour
30
07/05/2015© Robert Godin. Tous droits réservés.30 7.1.9 Exemple de schéma SQL pour SyLeRat n Eviter la circularité des définitions
31
07/05/2015© Robert Godin. Tous droits réservés.31 Utilisation du ALTER TABLE
32
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
33
07/05/2015© Robert Godin. Tous droits réservés.33 Une seule fois ! N.B. Contrôle plus fin avec PL/SQL
34
07/05/2015© Robert Godin. Tous droits réservés.34 13.2 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
35
07/05/2015© Robert Godin. Tous droits réservés.35 13.2.1 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
36
07/05/2015© Robert Godin. Tous droits réservés.36 Exemple d ’encapsulation
37
07/05/2015© Robert Godin. Tous droits réservés.37 Exemple de mécanisme de sécurité
38
07/05/2015© Robert Godin. Tous droits réservés.38 13.2.2 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
39
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
40
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 !
41
07/05/2015© Robert Godin. Tous droits réservés.41 Utilisation de TRIGGER n Le prêt est interdit 1h00 et 7h00
42
07/05/2015© Robert Godin. Tous droits réservés.42 13.3 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
43
07/05/2015© Robert Godin. Tous droits réservés.43 13.3.1 Conception physique dans un contexte centralisé n Organisations primaires n Organisations secondaires
44
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
45
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
46
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)
47
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
48
07/05/2015© Robert Godin. Tous droits réservés.48 13.3.2 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 »
49
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
50
07/05/2015© Robert Godin. Tous droits réservés.50 13.3.3 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
51
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
52
07/05/2015© Robert Godin. Tous droits réservés.52 13.3.4 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
53
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
54
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) > 50 010ms (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
55
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
56
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 :
57
07/05/2015© Robert Godin. Tous droits réservés.57 Indexer les colonnes individuelles ? n TempsES(S ) = 3 221,9 ms
58
07/05/2015© Robert Godin. Tous droits réservés.58 n Meilleur plan P avec schéma interne précédent – 505 000 ms (pire cas) > TempsES (BAL) > 5 010 ms (meilleur cas) n TempsES ( S=IS sur annéeParution ) = 102 565,5 ms
59
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é
60
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
61
07/05/2015© Robert Godin. Tous droits réservés.61 13.3.5 Sélection par intervalle n Index sur titre n Préfixe ~ intervalle
62
07/05/2015© Robert Godin. Tous droits réservés.62 13.3.6 Tri du résultat (ORDER BY) n Index primaire sur datePrêt n Index secondaire inutile dans ce cas
63
07/05/2015© Robert Godin. Tous droits réservés.63 13.3.7 Calcul du minimum (MIN) et du maximum (MAX) n Index sur noSequence
64
07/05/2015© Robert Godin. Tous droits réservés.64 13.3.8 Calcul d'agrégat (GROUP BY) n Index primaire, grappe ou hachage sur idUtilisateur
65
07/05/2015© Robert Godin. Tous droits réservés.65 13.3.9 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 )
66
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 ) = 5 030 ms n Pénalise TempsES (BAL pour Catégorie)
67
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...
68
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
69
07/05/2015© Robert Godin. Tous droits réservés.69 13.3.10 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
70
07/05/2015© Robert Godin. Tous droits réservés.70 Exemple n Heuristique : index primaire sur datePrêt ?
71
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
72
07/05/2015© Robert Godin. Tous droits réservés.72 n Schéma 1 (privilégie sélection) Organisation sur code de Livre ???
73
07/05/2015© Robert Godin. Tous droits réservés.73 n Schéma 2 (privilégie jointure)
74
07/05/2015© Robert Godin. Tous droits réservés.74 n Schéma 3 (index secondaires seulement)
75
07/05/2015© Robert Godin. Tous droits réservés.75 Cas complexe
76
07/05/2015© Robert Godin. Tous droits réservés.76
77
07/05/2015© Robert Godin. Tous droits réservés.77 Plan générique
78
07/05/2015© Robert Godin. Tous droits réservés.78 Schéma 1 Variante : index secondaires
79
07/05/2015© Robert Godin. Tous droits réservés.79 Plan correspondant au schéma 1
80
07/05/2015© Robert Godin. Tous droits réservés.80 Raffinement n Organisation hétérogène
81
07/05/2015© Robert Godin. Tous droits réservés.81 Autre possibilité
82
07/05/2015© Robert Godin. Tous droits réservés.82 13.3.11 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
83
07/05/2015© Robert Godin. Tous droits réservés.83 13.3.12 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
84
07/05/2015© Robert Godin. Tous droits réservés.84 13.3.12.1 ALTERNATIVES DE TRADUCTION n Attributs multivalués n Associations n Généralisations n...
85
07/05/2015© Robert Godin. Tous droits réservés.85 13.3.12.2 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
86
07/05/2015© Robert Godin. Tous droits réservés.86 13.3.12.3 INTRODUCTION D'ÉLÉMENTS DÉRIVÉS n Index sur noSequence n Nouvelle table PrêtEnCoursGénéral(maxNoSequence)
87
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
88
07/05/2015© Robert Godin. Tous droits réservés.88 13.3.12.4 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
89
07/05/2015© Robert Godin. Tous droits réservés.89 13.3.12.5 FRAGMENTATION VERTICALE n Cas des colonnes volumineuses (LOB) n Traduction de généralisation par délégation
90
07/05/2015© Robert Godin. Tous droits réservés.90 7.3.12.6 CONCEPTION D'UN ENTREPÔT DE DONNÉES
91
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
92
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é
93
07/05/2015© Robert Godin. Tous droits réservés.93 13.4 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)
94
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)
95
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
96
07/05/2015© Robert Godin. Tous droits réservés.96 Clauses TABLESPACE et STORAGE Taille des EXTENTS
97
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)
98
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
99
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
100
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
101
07/05/2015© Robert Godin. Tous droits réservés.101 CLUSTER INDEX n Allocation sérielle + index n Réservation d ’espace (SIZE)
102
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
103
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
104
07/05/2015© Robert Godin. Tous droits réservés.104 Index primaire n Version 8 n Interdit index secondaire
105
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
106
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
107
07/05/2015© Robert Godin. Tous droits réservés.107 Exemple
108
07/05/2015© Robert Godin. Tous droits réservés.108 13.5 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
109
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
110
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)
111
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
112
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
113
07/05/2015© Robert Godin. Tous droits réservés.113 13.6Choix 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) – http://www.tpc.org http://www.tpc.org – 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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.