Précédent   Forum du club des développeurs et IT Pro > Bases de données > Décisions SGBD > Optimisations
Optimisations Forum de conseils pour les optimisations des performances SGBD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/10/2011, 09h37   #1
jouclar
Membre du Club
 
Inscription : novembre 2007
Messages : 176
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : novembre 2007
Messages : 176
Points : 42
Points : 42
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.
jouclar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 11h50   #2
punkoff
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 2 154
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 2 154
Points : 3 486
Points : 3 486
Bonjour,

Suite à l’envoie vous effacez les données ou vous les gardez pour des raisons d'historisation ?
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 11h53   #3
jouclar
Membre du Club
 
Inscription : novembre 2007
Messages : 176
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : novembre 2007
Messages : 176
Points : 42
Points : 42
je les garde pour faire des extractions sur certaines colonnes et historisation

merci
jouclar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 11h55   #4
punkoff
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 2 154
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 2 154
Points : 3 486
Points : 3 486
Dans ce cas il sera préférable de modélisez un minimum votre projet je pense
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 12h27   #5
nathieb
Membre émérite
 
Avatar de nathieb
 
Homme olivier Thiébaut
Chef de projet/Architecte
Inscription : mai 2004
Messages : 703
Détails du profil
Informations personnelles :
Nom : Homme olivier Thiébaut
Âge : 46
Localisation : France

Informations professionnelles :
Activité : Chef de projet/Architecte
Secteur : Service public

Informations forums :
Inscription : mai 2004
Messages : 703
Points : 841
Points : 841
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 déstructurant,
be cool, be free

J2EE - PHP - Free OS
nathieb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 13h33   #6
jouclar
Membre du Club
 
Inscription : novembre 2007
Messages : 176
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : novembre 2007
Messages : 176
Points : 42
Points : 42
- 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
jouclar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2011, 00h02   #7
nathieb
Membre émérite
 
Avatar de nathieb
 
Homme olivier Thiébaut
Chef de projet/Architecte
Inscription : mai 2004
Messages : 703
Détails du profil
Informations personnelles :
Nom : Homme olivier Thiébaut
Âge : 46
Localisation : France

Informations professionnelles :
Activité : Chef de projet/Architecte
Secteur : Service public

Informations forums :
Inscription : mai 2004
Messages : 703
Points : 841
Points : 841
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 déstructurant,
be cool, be free

J2EE - PHP - Free OS
nathieb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 13h28   #8
CinePhil
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 13 659
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 49
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 : 13 659
Points : 25 573
Points : 25 573
Envoyer un message via MSN à CinePhil
On peut avoir un petit aperçu d'un fichier csv à importer ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 13h16   #9
jouclar
Membre du Club
 
Inscription : novembre 2007
Messages : 176
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : novembre 2007
Messages : 176
Points : 42
Points : 42
voici
Fichiers attachés
Type de fichier : zip data1.zip (100,8 Ko, 4 affichages)
jouclar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 13h29   #10
CinePhil
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 13 659
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 49
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 : 13 659
Points : 25 573
Points : 25 573
Envoyer un message via MSN à CinePhil
Ç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 de Formation Agronomique. Autoentrepreneur.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 15h30   #11
jouclar
Membre du Club
 
Inscription : novembre 2007
Messages : 176
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : novembre 2007
Messages : 176
Points : 42
Points : 42
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,
...
jouclar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 15h50   #12
CinePhil
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 13 659
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 49
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 : 13 659
Points : 25 573
Points : 25 573
Envoyer un message via MSN à CinePhil
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 de Formation Agronomique. Autoentrepreneur.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h34.


 
 
 
 
Partenaires

Hébergement Web