IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Conception de DB : question..


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de magic charly
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut Conception de DB : question..
    bonjour a tous,

    je réalise actuellement la modification d'une base de données existante. Je ne suis pas expert (loin de là) dans le domaine mais j'ai quand même quelques notions. remarque : La base de données est une Oracle

    la question est la suivante :

    j'ai une table tres grande pour lesquels j'ai des temps d'accès qui sont trop longs. Cette table est une table de mesure qui contient plusieurs types de mesures cependant tous les attributs de cette table sont communs a chaque type de mesure.

    Devrais-je laisser toutes les mesures au sein d'une même table ?
    (selon moi le + logique)
    ou devrais-je créer une table par type de mesure ?

    (sachant qu'une table par type de mesuer n'apporte aucune information supplémentaire)

    Merci d'avance, pour votre aide...

    Charly mieux connu sous le nom de "database beginner touch"

  2. #2
    Membre émérite Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Pour un modele de donnees et une application bien construites, le volume n'est pas un frein a la performance.

    Une table "trop grande" dans les conditions decrites, parce qu'elle regroupe les mesures de 3 instruments, sera peut-etre 3 fois plus rapide en acces une fois decomposee en 3 tables dedies pour chacune de ces instruments, mais les problemes de performance persisteront.

    Il faut mieux analyser les raisons de ces problemes de performance: manque d'index? manque d'index pertinent? non selectivite de la recherche?, etc.

  3. #3
    Membre expérimenté

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2004
    Messages : 220
    Par défaut
    cela peut venir de la base autant que des requetes

  4. #4
    Membre confirmé Avatar de magic charly
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut
    merci de preter attention a mon probleme

    En fait, le soucis vient de la façon sont faites les requetes ... toutes en memes temps (toutes les 15 min). il y a donc des accès concurrents d'insertinon dans la table. Et je me demandais si de séparer les types de données dans différentes tables de données ne pourrait pas accèlérer les choses.



    :

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Est-ce que vous pouvez nous donner quelques chiffres:
    - taille de la table ?
    - taille de la base ?
    - nombre d'insertions par unité de temps ?
    - temps d'accès très longs ?

    Une solution possible à un goulot d'étranglement pour des insertions massives est l'utilisation du partitionnement: la table est découpée par Oracle en partitions et les insertions peuvent être réparties sur les différentes partitions de façon assez transparente par Oracle.

    voir le chapitre 17 de l'admin guide 9i dans:
    http://oraclesvca2.oracle.com/docs/c...titi.htm#20590

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 138
    Par défaut
    Sans mentionner le fait qu'en divisant le modèle selon la logique d'affaire, on a un gain de performance certes, mais une évolutivité réduite... Plus le modèle est collé à la structure administrative, plus il est performant mais moins évolutif.

    Un juste milieu est nécéssaire. Dans le cas présent, j'arbore plabrevo en disant que je ne crois pas que le volume freine la performance, c'est probablement un problème d'utilisation plutot que de capacité ou de modélisation.

  7. #7
    Membre expérimenté

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2004
    Messages : 220
    Par défaut
    quand j'ai dit que cela pouvait venir des requêtes, evidemment que les ralentissement sont dues au fait qu'il y a des requêtes, mais ce que je voulais dire c'est que certaines requêtes sont plus optimisées que d'autres (INNER JOIN au lieu de WHERE par exemple)

  8. #8
    Membre expérimenté
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut
    Est ce que tu pourrais nous donner le script de création de la table (pour avoir les colonnes et les indexes...)? En précisant le volume de celle ci.

    Est ce que tu pourrais nous faire parvenir les requetes d'insertion?
    (en nous donnant une idée du nbre de fois et du rythme auquel elles sont jouées)

    Sinon splitter la table en plusieurs pour éviter les accès concurrentiels peut être une bonne idée. Mais normalement, s'il n'y a que des requetes d'insertions, cela ne devrait pas poser de problemes (pas de concurrence)

    Si les insertions sont longues cela peut venir d'un (trop?) grand nombre d'index ou de l'utilisation d'index bitmaps ou encore des contraintes ou des triggers.

    Autre question: Est ce que toutes les colonnes sont utilisées par tous les instruments?
    Si ce n'est pas le cas, il y a peut être moyen de modéliser cela par héritage...

  9. #9
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    un partitionnement de la table par type de mesure pourrait être une solution non ?

  10. #10
    Membre éprouvé Avatar de Process Linux
    Inscrit en
    Septembre 2003
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 136
    Par défaut
    Je suis avec la solution de Fred_D, un partitionnement résoud le problème.
    Je vais ajouter une solution à un niveau plus bas , généralement il faut mettre cette table dans un tablespace independant, les fichiers de ce tablespace seront dans un autre HDD , comme ca , il y aura un seule controlleur disque qui est dédié à cette table, les accés I/O sont plus rapides.

  11. #11
    Membre confirmé Avatar de magic charly
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut DSL pour le retard.... je suis à la bourre
    Bonjour,

    dsl j'ai été amené a me pencher sur problèmes + "urgents" :p et j'ai quelque peu délaissé ma super table oracle .

    je m'en excuse pour les gens qui ont pris la peine la peine de ramasser ma bouteille de Gin-Oracle jetée à la mer....

    je pense que je vais m'orienter vers un partionnement mais je ne sais pas quelles difficultés cela représente tant d'un point de vue administratif que d'un point de vue technique étant donné que je suis assez novice dans le domaine des bases de données.

    Sauriez-vous sur quels sont les points auxquels je devrais faire attention?
    et surtout comment mettre en place le partitionnement proprement?

    j'ai un peu peur de faire de grosses bétises en partant bille en tête sur la mise en place de la solution.

    merci d'avance, 8)
    Charly,

    Optimiseur Oracle en herbe

Discussions similaires

  1. [Conception] Question sur un code permettant de connaître le nombre de connectés
    Par inferno66667 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 19/12/2005, 19h49
  2. [Débutant] Concepts : types + tas de questions
    Par Epouvantail dans le forum C++
    Réponses: 7
    Dernier message: 01/12/2005, 10h27
  3. [XML]Question de conception
    Par nana1 dans le forum Persistance des données
    Réponses: 17
    Dernier message: 17/11/2005, 09h34
  4. Réponses: 24
    Dernier message: 29/08/2005, 13h33
  5. [Strategie][GUI]Petite question de conception
    Par bischof dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 26/10/2004, 22h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo