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

Décisions SGBD Discussion :

Aide pour projet : schéma & SGBD


Sujet :

Décisions SGBD

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 16
    Points
    16
    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.

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Oracle avec l'option partitionement peut être une solution à ton probléme

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 16
    Points
    16
    Par défaut
    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

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    dans ton cas oui

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 16
    Points
    16
    Par défaut
    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

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 16
    Points
    16
    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...

Discussions similaires

  1. aide pour projet ecole (morpion)
    Par nicosant dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 04/12/2006, 17h19
  2. Aide pour projet de programmation Lycée
    Par Supervince dans le forum C
    Réponses: 26
    Dernier message: 21/05/2006, 15h55
  3. Réponses: 1
    Dernier message: 17/05/2006, 15h27
  4. besoin d'aide pour projet
    Par donromanino dans le forum C++
    Réponses: 5
    Dernier message: 02/04/2006, 18h35
  5. Aide pour projet avec carte asi candibus
    Par sinicha dans le forum C
    Réponses: 13
    Dernier message: 16/01/2006, 15h32

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