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

Optimisations SGBD Discussion :

Une ou plusieurs tables


Sujet :

Optimisations SGBD

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 237
    Points : 99
    Points
    99
    Par défaut Une ou plusieurs tables
    Bonjour,

    J'ai un projet qui vise à stocker des grandeurs physiques : tensions, courants... 125 au total

    Ces données sont enregistrées toutes les 10 minutes puis transmises tous les jours sous forme de fichier *.csv.

    Je voudrai savoir si il vaut mieux stoker les 125 données dans une seule table ou découper mes fichiers CSV pour ensuite stoker dans plusieurs tables.

    Merci de votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    Suite à l’envoie vous effacez les données ou vous les gardez pour des raisons d'historisation ?

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 237
    Points : 99
    Points
    99
    Par défaut
    je les garde pour faire des extractions sur certaines colonnes et historisation

    merci

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Dans ce cas il sera préférable de modélisez un minimum votre projet je pense

  5. #5
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut questions
    Les questions que tu dois te poser :

    - Taille d'un fichier
    - type de SGBD, derby ou ORACLE
    - utilité de stocker dans plusieurs tables
    - as tu des références ou des contraintes sur les valeurs.
    - besoins fonctionnelles de l'application ( UML ?)


    olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 237
    Points : 99
    Points
    99
    Par défaut
    - Taille d'un fichier
    chaque fichier à injecter jounalièrement dans la base fait 250 ko
    - type de SGBD, derby ou ORACLE
    la base de données est SQLite
    - utilité de stocker dans plusieurs tables
    c'est ma question
    - as tu des références ou des contraintes sur les valeurs.
    je ne suis pas certain de répondre à la question mais les données sont de type DATE/HEURE, INTEGER et REAL
    - besoins fonctionnelles de l'application ( UML ?)
    je ne sais pas ce qu'est un besoin fonctionnel d'un application

    Merci de ton aide

  7. #7
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut explication
    Bonjour,

    je ne sais pas ce qu'est un besoin fonctionnel d'un application

    ce sont les fonctionnalités que tu veux implémenter.avant de coder, il faut exprimer ses besoins, pour les concevoir ... d'ou l'uml, je formalise par un modèle les besoins exprimer par des phrases.

    250KO c'est peu, donc 24*6*250 = 36Mo jour
    sur 365 jours je te laisse faire le calcul.

    pour ce qui est de l'enregistrement, tout dans une table c'est plus rapide et plus simple mais comme tu le fais toutes les 10mn, tu peux chercher à factoriser les valeurs, pour éviter une redondance.
    exemple une table pour des valeurs finis, qui changent peu.

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    On peut avoir un petit aperçu d'un fichier csv à importer ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 237
    Points : 99
    Points
    99
    Par défaut
    voici
    Fichiers attachés Fichiers attachés

  10. #10
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Ça n'aide pas beaucoup à la compréhension du problème !

    Ce que je remarque tout de même, c'est que la première colonne est une date/heure et que les autres sont des valeurs décimales à virgule.

    Par contre, à quoi correspondent les A2 à A124 ?
    Sont des mesures relevées sur un seule ensemble technique cohérent (une machine par exemple) ou bien ces colonnes regroupent-elles des mesures de même type provenant de plusieurs ensembles (plusieurs machines délivrant chacune leur lot de mesures et regroupées dans un seul fichier) ?

    Ce qui est sûr, c'est que pour traiter ces données, il faudra les convertir en un format adéquat : DATETIME pour la première colonne et INTEGER, DECIMAL ou FLOAT pour les autres. Si des colonnes sont en faite des références (numéro de machine) sur lesquelles on ne fera aucun calcul, on peut les laisser en CHAR ou en VARCHAR.

    Ensuite, selon la réponse à ma question ci-dessus, il peut être cohérent de tout laisser dans une seule table ou d'éclater ces données dans plusieurs tables.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 237
    Points : 99
    Points
    99
    Par défaut
    Merci pour cette réponse CinéPhil,

    Voici quelques précisions:

    Les données sont issues d'une centrale de mesures équipée de capteurs relevant des tensions, des courants, des fréquences...

    La ligne 1 (A2-A124) correspond aux entêtes et sera supprimé avant injection

    Le fichier correspond à des relevés de mesures ainsi :
    - les colonnes 3 à 20 sont des mesures de tensions,
    - les colonnes 21 à 23 sont des mesures fréquences,
    - les colonnes 24 à 36 sont des mesures de courants,
    - les colonnes 37 à 39 sont des mesures de puissance active,
    - les colonnes 40 à 42 sont des mesures de puissance réactive,
    ...

  12. #12
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Une centrale de mesure OK mais les mesures sont prise sur un ensemble à analyser en tant que tel ou sur plusieurs ensembles à comparer les uns aux autres ?

    S'il s'agit juste de faire par exemple la moyenne de chaque colonne sur une période donnée, laisse tout dans une table.

    Mais si tu dois comparer les données des colonnes issues de la machine 2 et de la machine 5 parce que c'est censé être les mêmes, tu aurais peut-être intérêt à modéliser le parc de machines et à associer les données extraites à ces machines, donc ne pas forcément tout laisser dans une seule table, en tout cas pas dans une table à 125 colonnes.

    Je t'ai donné les éléments de réflexion qui peuvent conduire à l'une ou l'autre solution, à toi maintenant de décider.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Choix entre une ou plusieurs tables
    Par moumoune65 dans le forum Optimisations
    Réponses: 2
    Dernier message: 30/12/2008, 14h39
  2. Recheche sur une ou plusieurs tables
    Par majothi dans le forum VBA Access
    Réponses: 6
    Dernier message: 19/09/2008, 16h13
  3. [nhibernate] mapper une classe à plusieurs tables
    Par maa dans le forum NHibernate
    Réponses: 6
    Dernier message: 02/07/2007, 18h06
  4. [Conception] Une ou plusieurs tables
    Par spawns dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/08/2006, 11h23
  5. [débutant] 1 ordre select sur une OU plusieurs tables
    Par goony dans le forum Langage SQL
    Réponses: 10
    Dernier message: 18/08/2005, 10h57

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