Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/04/2005, 10h42   #1
Invité régulier
 
Inscription : novembre 2004
Messages : 36
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 36
Points : 7
Points : 7
Envoyer un message via ICQ à Grubshka Envoyer un message via MSN à Grubshka
Par défaut Aide pour projet : schéma & SGBD

Bonjour,

Je requiers votre aide concernant différents points d'un (gros) projet sur lequel je travaille, et qui me dépasse un peu, pauvre stagiaire que je suis.

Pour résumer, il s'agit de stocker dans une base de données un nombre très grand de mesures prises plusieurs fois par secondes lors de sessions de test. La structure est simple : lors d'une session de test, plusieurs paramètres sont mesurés (à des fréquences différentes, entre 8 et 100 fois par seconde selon les paramètres).
Pour l'instant ces données sont générées sous formes de fichier ASCII (exemple, un fichier avec la mesure de température, avec toutes les valeurs de la session) sur une machine. On récupèrera donc ces données pour les stocker ailleurs.

Pour donner un ordre de grandeur, si nous devions stocker l'intégralité de ces données, il faudrait à peu prêt 300 Go par heure de session de test, cependant je suis en train de convaincre mon chef que ce sera très coûteux, on va donc essayer de réduire le nombre de paramètres à garder. De plus les données seront sauvegardées régulièrement sur bandes si le volume est trop important.

Dans un premier temps j'avais fait un schéma simple : une table session (de test), une table paramètre mesuré (avec le nom et la description du paramètre), et une table valeurs (il peut y avoir différents types de valeurs : booleenne, entiere, chaine, etc). Le problème est que la table valeurs contiendra un nombre immense de lignes (toutes les valeurs de toutes les mesures de toutes les sessions...), j'ai donc peur du temps nécessaire pour effectuer une requête sur cette table. Je me vois mal créer une nouvelle table pour chaque paramètre (il y en a environ 4000)...
* Y'aurait-il un moyen d'optimiser ce schéma ?

Concernant le SGBD, dans un premier temps je vais utiliser Postgres (tests sur de "petites" quantités de données), mais la boite ou je bosse dispose d'une license Oracle 8, nous pourrons donc migrer dessus après.

Cette base de données sera alimentée chaque nuit, il n'y aura AUCUNE modification (UPDATE). Les requêtes seront simples, du style chercher les valeurs de tel et tel paramètre sur une plage horaire, mais pourront renvoyer quelques centaines de milliers de lignes ! (afin de tracer des courbes).

* Je n'ai jamais traité un nombre si grand de données, je ne sais pas si un SGBD peut avoir de bons temps de réponse avec un nombre si grand de lignes ?
Au pire nous pouvons juste rapatrier les fichiers, et utiliser la base de données juste pour structurer les mesures ? Mais je ne connais pas la différence de temps d'accès entre des fichiers et une base de données.
* Vu que les données ne seront pas modifiées, mais juste ajoutées la nuit, la réplication ne poserait pas trop de problème, mais je doute de son utilité (nombre restreint d'utilisateurs).

J'espère avoir été assez explicite. Tous vos commentaires, infos, liens, suggestions, etc. sont les bienvenus !

Merci d'avance.
Grubshka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2005, 11h13   #2
Rédacteur/Modérateur
 
Inscription : janvier 2005
Messages : 2 320
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 320
Points : 2 368
Points : 2 368
Oracle avec l'option partitionement peut être une solution à ton probléme
Jaouad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2005, 11h24   #3
Invité régulier
 
Inscription : novembre 2004
Messages : 36
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 36
Points : 7
Points : 7
Envoyer un message via ICQ à Grubshka Envoyer un message via MSN à Grubshka
Merci !
Je viens de voir oracle.developpez.com, je vais fouiner un peu.
Apparement Oracle permet aussi de faire du backup/restore facilement... Ce serait la solution a tout ? :p
Grubshka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2005, 11h29   #4
Rédacteur/Modérateur
 
Inscription : janvier 2005
Messages : 2 320
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 320
Points : 2 368
Points : 2 368
dans ton cas oui
Jaouad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2005, 11h34   #5
Invité régulier
 
Inscription : novembre 2004
Messages : 36
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 36
Points : 7
Points : 7
Envoyer un message via ICQ à Grubshka Envoyer un message via MSN à Grubshka
Citation:
Envoyé par jaouad
dans ton cas oui
Merci

Petite question, la version 10g d'Oracle apporte beaucoup de choses comparée à la 8 ? (ma boite dispose d'une license site pour la 8 )

Petite autre question : existe-t-il des sgbd avec des systèmes de sauvegarde, mais qui permettent de restaurer une petite partie d'une sauvegarde uniquement si besoin ?

Re-Merci
Grubshka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2005, 16h50   #6
Invité régulier
 
Inscription : novembre 2004
Messages : 36
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 36
Points : 7
Points : 7
Envoyer un message via ICQ à Grubshka Envoyer un message via MSN à Grubshka
Par défaut Datawarehouse ?

J'ai trouvé des cours de Datawarehouse, et je trouve que mon schéma s'en rapproche. Le fait serait une mesure, dimensionnée par les paramètres, la session et le temps.
Qu'en pensez-vous ?

En fait nous ne savons pas ce qui optimisera le plus la consultations de valeurs en fonction d'une plage horaire et d'un paramètre.
Les solutions sont :
- on garde les fichiers (un fichier par session et par paramètre qui contient toutes les valeurs), mais cela nous pose quelques problèmes pour récupérer des parties de ces fichiers (ex lors d'un zoom sur la courbe, on doit rouvrir le fichier pour en récupérer une partie... sinon ou le stocker temporairement ?)
- une BD "normale" mais une table de valeurs de plusieurs milliards de lignes... durée des requêtes ?
- solution de mon chef : on fait une table par paramètre (environ 5000) pour faciliter la recherche...
Grubshka est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h17.


 
 
 
 
Partenaires

Hébergement Web