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 24/11/2004, 16h26   #1
Invité de passage
 
Inscription : décembre 2003
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 6
Points : 2
Points : 2
Par défaut Base de données ENORME !!!

Bonjour,
j'ai une base de données avec :
- 1 million de lignes par jour (environ)
- 10 champs par ligne (environ)
à partir de cela, j'aimerais calculer des valeurs sur :
- 15 min
- 1 heure
- 1 jour (jusque là, ça devrait aller)
- 1 semaine
- 1 mois
- 1 an
- 3 an (c'est le maximum)

Quelqu'un aurait-il une solution pour pas que les calculs durent 2 ou 3 heures ?

Merci d'avance
cox1505 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2004, 16h46   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739


c'est quoi le sgbd (environ) ? l'OS hôte (environ) ?

T'es sûr que la table fait pas 11 champs (environ) ?

Peux-tu (environ) fournir la définition de cette table ?


Et tout autre renseignement permettant aux nombreux (environ) forumeurs de pouvoir fournir des réponses circonstanciées...

Et quels genres de calculs ?

Car vraiment là, sans boule de cristal, on aura du mal
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2004, 18h38   #3
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
alors moi je ne dirais que 2 mots : partitionnement et snapshot... sans ça t'es mort

Pour Oracle bien entendu
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2004, 14h22   #4
Invité de passage
 
Inscription : décembre 2003
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 6
Points : 2
Points : 2
Je répond un peu tardivement mais j'avais pas trop le temps...

Le sgbd est SQL Server, l'OS est Windows 2000 ou NT
Les champs ne sont pas encore bien définis mais leur nombre peut-être de 10...
Les champs correspondent aux valeurs récupérées dans des logs (HTTP par exemple)
Il y a (environ ) 1 millions de lignes dans un log et on veut faire des calculs sur ces lignes, du genre :
-Temps total passé dans le serveur HTTP
-Temps mini, maxi passé dans le serveur HTTP
-Et d'autres calculs pas encore très bien définis...

Je pense avoir éclairé vos "boules de cristal"

Merci d'avance
cox1505 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2004, 15h17   #5
Membre éprouvé
 
Inscription : mai 2003
Messages : 494
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 494
Points : 455
Points : 455
1 millions de lignes = 1 Millions d'enregistrements créés par jour ???
titides est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2004, 15h27   #6
Invité de passage
 
Inscription : décembre 2003
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 6
Points : 2
Points : 2
oui, c'est ça, enfin presque...
il y a 1 millions de lignes sur 10h donc on peut faire 10 enregistrements de 100 000 lignes...

C'est un des problème qu'il faut résoudre...
cox1505 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2004, 18h01   #7
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Je sais pas si ma proposition va aider mais je réfléchirai à votre place à une tout autre solution :

Plutot que de créer une usine a gaz qui va recalculer laborieusement à chaque requete vos statistiques, je n'enregistrerai dans la base que la synthése de vos log.

Si j'ai bien compris vous voulez lires vos logs pour les intégrer dans une base pour ensuite lancer des requetes de statistiques.

Ma solution est que le programme qui lit les log fasse lui même les calculs statistiques, que vous enregistrez dans la base. (Celà ne vous empéche pas de sauver vos log dans la base pour des calculs futurs non encore définis)

Donc si votre unité de stat la plus petite est le quart d'heure vous n'avez plus que 24*4=(environ )96 enregistrements par jours, ce qui est à la porté de n'importe quel SGBD.

Je ne sais pas si j'ai été clair en cette fin de semaine ?
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2004, 19h39   #8
Membre à l'essai
 
Inscription : novembre 2004
Messages : 17
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 17
Points : 21
Points : 21
Salut,

J'ai été éditeur d'un soft d'analyse de logs, spécialisé dans le clickstream et le data-mining. Un cas classique était par exemple :
* récupération des logs HTTP, des logs applicatives BroadVision, des données de pub
* création du clickstream
* intégration du référentiel client (p=212 => c'est du Poisson, ça vaut 10E, je fais 1E de marge dessus)
* génération de rapports synthétiques
* possibilité de requêtage avec BO
* algos de data-mining pour faire du clustering/profiling ou des associations.

1 million de lignes par jour, c'est pas ENORME, c'est même pas grand chose. Par contre :
1. Il faut avoir le hardware qui tient la route par derrière (pour un bon site on prenait un serveur Sun 4 CPU sous Oracle)
2. Il faut BIEN MODELISER la base avant de tout charger
3. Il faut faire un preprocessing des données ou utiliser un ETL : monter ça directement en base, c'est suicidaire
4. Il faut calculer des agrégats et les historiser : stocker tout cela n'a aucun sens. Par exemple, qu'est-ce que j'en ai à faire qu'il il a 6 mois un internaute a fait un hit sur monlogo.jpg ? Là aussi, il y a une phase de prétraitement.
5. 1 table avec 10 ou 20 champs : ça ne marchera pas ou ça marchera au début, puis moins bien puis plus du tout.

Deux exemples bêtes :
http://www.monsite.com/catalogue.jsp?prod=212&idcs=123456789
http://www.monsite.com/catalogue.jsp?prod=212&idcs=451254774
=> Même page vue deux fois mais passage du cookie de session dans l'URL => Je vais devoir faire un SELECT COUNT(*) ... LIKE 'http://www.monsite.com/catalogue.jsp?prod=212%'
=> Je suis mort...

Autre problème :
Quand je stocke du texte, un index sur les dix premièrs caractères est en général suffisant. Si je te donne un dico et une suite de dix lettres, tu vas tomber sur trois ou quatre mots au plus. Donc c'est efficace.
Là c'est l'inverse :
Tu auras tout le temps : "http://www.monsite.com/" = 23 caractères.
Il faudrait donc un index sur au moins les 50 premiers caractères pour que ça serve à quelques chose, mais un index sur autant de data, ça ne sert plus à rien...

Alors tu fais comment ? Il faut bien réfléchir à ça...

Et si c'est pour sortir des stats de base, autant prendre un open source comme AW Stat, mais monter des URL en base, c'est pas du tout modélisé, c'est suicidaire...

Ce n'est pas le nombre de lignes qui pose problème dans ton cas, mais la manière dont tu vas structurer ton info.

Si c'est bien fait, tu peux faire une requête :
* est venu de Google en utilisant banque comme mot clef
* a vu au moins un produit de placement
* n'a pas vu de produit d'épargne
* a vu le formulaire d'inscription
* a été au moins à l'étape 2 mais pas jusqu'à la 5/confirmation
* Est en ADSL sur Free
* A passé plus de 3 minutes sur le site
* A vu plus de 10 pages lors de sa session
=> Temps de réponse de quelques secondes

Si tu n'a pas ça, c'est que c'est mal modélisé...
Danny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2004, 16h00   #9
Invité de passage
 
Inscription : décembre 2003
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 6
Points : 2
Points : 2
Voilà en détails ce que je veux calculer à partir des logs, ce qui correspond à mes indicateurs :
-Temps de réponse
-Nombre d'appels
-Taille question
-Taille réponse
-Nb requêtes par secondes
-Nb requêtes simultanées
-Taux d'occupation

Ensuite, voilà comment je veux pouvoir les classer, ce qui correspond à mes aggrégations :
-Code retour
-Temps (jour,heure)
-La requête
-Le demandeur

C'est le détail de ce que je veux avoir au final...

Si vous pouvez toujours m'aider
Merci d'avance
cox1505 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 08h43.


 
 
 
 
Partenaires

Hébergement Web