WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Opttimisation de l'application

( Télécharger le fichier original )
par Guelor IBARA NGATSE
ISTP - Master 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

29

Introduction

Dans la deuxième partie de notre travail nous présentons, l?optimisation au niveau de la base de données. Nous parlerons de l?optimisation au niveau conceptuel de la base de données.

Ainsi, nous n?allons pas concevoir la base de données, mais plutôt parler des procédures d?optimisation du modèle logique de données (MLD), optimisé appliqué au Système de gestion des bases de données relationnelles (SGBDR) Pour illuster nos propos, nous nous servirons des exemples bases sur le SGBDR oracle.

Chapitre I : Modèlisation de données

Ce chapitre ne nous apprend pas à modeliser la base de données, mais plustôt nous montre à quel niveau de la modelisation nous pouvons optimiser la base de données.

En fait, l?optimisation d?un modele intervient lors de la fin de la conception du modèle logique de données (MLD) déduit du modèle conceptuel de données (MCD).C?est pour quoi cette étapes intermediaires du modèle logique de données et du modèle physique de données est appelé modèle logique de données optimisé.

Ce modèle logique de données optimisé porte sur les concepts suivants : - les données calculées ;

- les clés secondaires ;

-la redandonse calculé ;

-le rapprochement physique.

Avant de parler de chaque concepts, nous disons que cette étape consiste à optimiser l?organisation physique de données afin de la reprendre au niveau traitements de l?application et d?améliorer les performances des accès logiques en reduissant leur nombres des R/W.

1-Les données calculées

Pendant la modelisation du MCD, les données calculées ne sont pas prises en compte dans les entités, c'est-à-dire ne représentent pas les proprietés des objets. Car leurs valeurs respectives sont trouvées suités à des calculés.

Il arrivé que ces valeurs soient calculées plusieurs fois selon les besoins de l?application, il est mieux de les mémorise dans la base de données. Cela fait l?optimisation de MLD.

2-Les clés secondaires

La création des clés secondaires dans les tables, nous offre une meilleure navigation dans tables de la base de données. Car la navigation facile, permet la rapidité des traitements dans l?application.

Pour illustrer ce propos, nous prenons trois tables : clients, commande et
facture. Les tables client et la facture ne sont pas liées, mais ells ne sont en

rélation qu?avec la table commande. Si on veut savoir à quel client appartient la facture, on est obligé de passer par la table commande, alors qu?on peut directement créer la clé secondaire référençant le client dans la table facture.

Voici cet exemple :

*MCD

Client Commande

NuméroCli

Numérocom

Facture

NuméroFac 1,N

1,1

Associer

1,N 1,1

passer

Client

Commande

NuméroCli

Numérocom NuméroCli

Facture

NuméroFac Numérocom

31

*MLD

Agent

NuméroAg

Affecter
1,N 1,N

Service

NuméroSer

*MLD optimisé

Client

Commande

NuméroCli

Numérocom NuméroCli

Facture

NuméroFac Numérocom NuméroCli

3-Redondance calculée

Ici on se propose de mettre dans une table quelques attributs d?une autre table afin de réduire le nombre d?accès.

Par exemple, les table agent et service relié par la relation affectée,l? on aura le MCD suivant :

*MLD

Agent

Service

NuméroSer

NuméroAg

NuméroAg NuméroSer

Affecter

NuméroAg NuméroSer

*MLD optimisé

 

Agent

Service

 

NuméroSer

 

Affecter

33

NuméroAg NuméroSer

4-Rapprochement physique

Le rapprochement physique s?effectue avec des liaisons paralleles (1,1) dites aussi bijections, il faudra concevoir une table qui prendra tous les attributs de l?autre table tout en éliminant celle qui donne ces attributs.

Considérons les entités secteur et charger d?affaire.L?on a le MCD suivant :

Secteur

NuméroSec NomSec

*MLD

Charger

d?affaire

NuméroCh

1,1 1,1

Couvrir

Secteur

NuméroSec NomSec NuméroCh

Charger
d?affaire

NuméroCh NuméroSec

*MLD optimisé

Charger
d?affaire

NuméroCh NuméroSec NomSec

35

Chapitre II : Principe de l?optimisation de la base de données

Les principaux points d?optimisation de la base de données sont les suivants :

-Organiser les données pour obtenir une base de données fonctionnant avec de bonnes performances ;

-le modèle logique de données que l?on déduit du modèle conceptuel de données ne coïncide pas toujours avec une bonne organisation optimale des données dans le disque. Il faut réaliser le modèle logique de données optimisé pour reprendre avec le besoin du système d?information.

Ainsi, nous disons que la réalisation d?une base de données surtout quand elle doit contenir de très nombreuses données, nécessite fréquemment une nette modification au niveau modélisation optimale afin de garantir la fiabilité, voir les qualités d?une application.

Cette modification résulte d?une optimisation de la base de données avec les méthodes précises et des possibilités qu?offre le système de gestion de base de données rélationnelle comme dans le cas d?oracle.

Chapitre III : Méthode d?optimisation de la base de données

Les méthodes que nous pouvons retenir partant des principes pour d?optimisation d?une base données sont :

-l? évaluation générale des performances d?une application ; -les paramètres d?enregistrement ;

-la démarche d?optimisation de la base de données.

1-Evaluation générale des performances d?une application

Il y a deux éléments essentiels pour évaluer la performance d?une application. Ces éléments sont :

-le temps de réponse qui se passe lors du lancement de chaque traitement et l?obtention des résultats correspondant attendu.

-la fiabilité qui détermine la capacité de la base de données à réagir de façon stable et a ne pas provoquer de perte d?informations ou données en cas de problème et aussi d?enpêcher des accès intempestifs à son contenu.

En plus de ce qui vient d?être dit, la qualité d?une application réside aussi de ces capacités à évaluer à moindre coût. Car la maintenance d?une application est facile que si elle a été conçue clairement et qu?elle est bien documentée.

Certains choix technique élaboré peuvent en particulier améliorer la performance d?une application en faisant migrer la base de données de celui-ci vers un système de base de données à une autre.

2-Les paramètres d?enregistrements

Le temps de réponse dans les applications informatiques est souvent influencé par des paramètres agissants sur un élément essentiel qui est le disque dur.

Le disque est constitué de surfaces planes en rotation, sur lesquelles on enregistre les données dans les emplacements bien définis appelés les secteurs.

Pour effectuer la lecture, ou l?écriture d?un secteur disque, il faut que le bras de lecture/écriture se déplace puis attendre que la rotation du disque amène le secteur à lire devant la tête de lecture/écriture portée par le bras. Cette action ralentie les traitements.

Ainsi, nous pouvons retenir deux paramètres d?enregistrements des données dans le disque :

37

-l?accès séquentiel ; -l?accès direct.

a-L?accès séquentiel

Ce paramètre permet de parcourir ou de lire la table de la base de données depuis sa première ligne d?enregistrement jusqu'à trouver la donnée recherchée. Ceci afin d?accéder à autant d?enregistrement sur le disque.

b-L?accès direct

Il nécessite les connaissances de l?adresse de l?enregistrement se trouvant dans un secteur disque pour retrouver chaque donnée trouvée, chaque donnée voulue. Cette astuce, est impossible dans les applications de gestions courantes. Par contre le SGBD fournit un accès accéléré grâce à des index et des blocs de données créent par l?administrateur de la base de données.

3-La démarche d?optimisation

Pour optimiser une base de données, il faut : - optimiser le MLD selon les traitements ; -optimiser le MPD selon le SGBD.

Voici un tableau résumant ces propos :

Base de départ

Actions d?optimisations

possibles

Résultat

d?optimisation

 

Optimisation logique selon la logique des traitements :

 
 

-groupement des tables ;

 

MLD

 
 
 

-définition des index ;

 
 
 

MLD optimisé

 

-élimination des tables

volumineuses.

 
 

Optimisation physique selon
des caractéristiques du

 
 

SGBD :

 

Tables logiquement

-définition des tailles de

 

optimisées

bloc ;

-répartition des tables par bloc ;

Tables physiquements

optimisées

 

-paramétrage des index.

 
 

39

Chapitre IV : Optimisation du SGBDR

Pour parler de l?optimisation SGBDR, nous avons choix le SGBDR oracle, car il fournit un grand nombre d?éléments nécessaires pour notre étude.

Ainsi, disons que oracle est un système de gestion de base de données relationnel puissant et utilisé aussi dans les grandes organisations ou entreprises, pour ces possibilités de sécurité, de performances...

Il fournit quelques paramètres essentiels pour une meilleure optimisation de la base de données, que nous citons comme suit :

-les implantations des index ;

-enregistrement des données sur les mémoires de masses et des accès concurrentiels ;

-les reprises après panne ;

-l?optimisation des requêtes ;

Les transactions dans les bases de données reparties.

1-Implementation des index

Un index est un objet informatique qui contient des clés utilisées dans oracle, pour accéder rapidement à une ou plusieurs lignes de la table et accélérer une jointure ou une recherche d?informations dans la base.

Le principe clé des index est de limiter le nombre des accès disque pour trouver une clé de la table.

On distingue trois types des index dans oracles. A savoir :

v' B-arbes qui sont les plus utilisés et pour l?optimisation, la taille du noeud (le nombre minimum et maximum des clés) doit être un multiple de la taille du secteur disque.

v' L?index bitmaps réservé aux données qui peuvent être modifiées rarement. Ils sont performants sur les combinaisons et /ou des critères ;

v' Index appelé table hachage, qui ne sont presque pas moins utilisés dans les nouvelles versions d?oracle.

2-Enregistrement des données et accès concurrents

Dans ce contexte, les données de la base sont enregistrées dans les fichiers du système d?exploitation. Or le SGDB enregistre les données des tables, des vues... dans le système de fichiers. Il arrive parfois que le SGDB pour l?enregistrement de données puisse s?en passer complètement du système de fichier du système d?exploitation. Oracle utilise le fichier REDOLOG pour les enregistrements système et le segment ROLLBACK or le système, mais dans la base de données.

Pour les accès concurrentiels, oracle utilise des BUFFERS en mémoire centrale pour les opérations de lectures/écritures.

En ce qui concerne les performances, Oracle fournit Les COMMIT pour éviter d?écrire dans la base de données placé dans les BUFFERS et si ces BUFFERS sont pleins, les données non validées peuvent être enregistrées dans la base de données sans problème.

3-Reprise après panne

Nous constatons souvent les pannes dues aux : -les logiciels installés ;

-les matériels utilisés ;

-l? implantation du réseau.

Ces pannes peuvent endommager ou non les fichiers.

> Si les fichiers sont corrects, la reprise après panne du fonctionnement de SGBD permet de déterminer les transactions validées qui ne sont pas finies et annulées ces transactions non validées (ROLLBACK, on panne avant le COMMIT) ;

> Si les fichiers sont abîmés ou endommagés, l?administrateur doit commencer par récharger la dernière sauvegarde complète de la base de données et ensuite, en redemarrant les actions enregistrées des images après depuis la dernière sauvegarde. Sinon, il faut recommencer les commandes perdues.

4-Optimisation de requêtes

L?optimisation des requêtes est basée sur :

-les considérations logiques en réduisant la taille des données, c'est-à-dire faire des sélections ou les projections avant les jointures ;

41

-l?implantation physique des données comme l?existence des index et des clusters ;

-de faire des statistiques sur les données contenus dans les tables (nombre de ligne, de valeur...).

5-Base de données reparties

Les processus du SGBD sont souvent repartis sur les machines tandis que les données sont sur plusieurs sites. Il est nécessaire d?utiliser les COMMITS distribués pour les transactions distantes. Or, il arrive parfois aussi des pertes de performances dues au réseau.

Pour résoudre ce problème, il est faut gérer en temps réel des données locales en faisant utiliser des copies des données distantes.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Des chercheurs qui cherchent on en trouve, des chercheurs qui trouvent, on en cherche !"   Charles de Gaulle