2010-11-10 8 views
1

Je vais écrire un logiciel en PHP pour analyser les fichiers journaux et agréger les données puis les afficher dans des graphiques (comme les graphiques à barres, pas les sommets et les arêtes). Oui, c'est essentiellement un logiciel de business intelligence pour lequel mon entreprise a une équipe entière mais apparemment ils ne font pas du bon travail (10 minutes pour charger une page ne suffit pas).Stockage et affichage des statistiques

Voici ce que je dois faire:

  • fichiers journaux sont des fichiers de données qui stocke les données brutes à partir d'un serveur de statistiques que nous avons mis en place en cours d'exécution de notre bureau (nous envoyons des appels asynchrones au serveur de statistiques un peu comme Google Analytics). Il stocke les données au format csv.
  • écrire un script pour analyser les fichiers et regrouper les données dans une base de données (ou je pensais à Redis)
  • Il y aura des millions et des millions de choses à agréger de façon lors de l'affichage des statistiques doit être rapide

Je connais OLAP pour la base de données, mais si je veux aller avec redis, pensez-vous qu'il s'agirait d'un grand volume de données? Pour analyser les fichiers pensez-vous qu'un script PHP suffirait ou devrais-je aller avec quelque chose de plus rapide comme C/C++? Fondamentalement, je voudrais obtenir des idées intéressantes sur les différentes façons d'accomplir ma tâche. Ça doit être rapide et à l'échelle.

Des idées?

Répondre

1

Il semble qu'à l'échelle dont vous parlez, vous devez séparer l'agrégation et l'affichage des données. Autrement dit, vous devriez avoir un processus qui fonctionne pour recevoir les fichiers journaux quand ils sont générés, les analyser et insérer les données dans la base de données; ce sera une tâche longue et compliquée. Ensuite, lorsqu'un utilisateur veut afficher un graphique des données, il peut faire une demande au serveur PHP, qui va extraire les données de la base de données et construire l'affichage souhaité. De cette façon, votre analyse est séparée de votre demande d'affichage (bien qu'elle dépende toujours en série, votre analyse peut commencer lorsque les fichiers journaux sont disponibles, et par conséquent, le retard impliqué dans leur analyse est masqué au moment de l'affichage).

+0

Oui, c'est exactement ce que je veux faire. – gprime

+0

Mais quelles langues et quelles technologies de stockage suggérez-vous? Straight up php et mysql? – gprime

+0

Je dirais que PHP est bien sur le frontal tant que vous avez un bon package graphique avec lequel vous êtes à l'aise. MySql devrait convenir à votre couche de stockage de données. Cela laisse votre étape d'agrégation de données déclenchée; Cela dépend vraiment de la façon dont vous êtes à l'aise pour déclencher le tout. Si vous êtes à l'aise avec PHP pour cela, ça devrait aller, puisque vous découplerez la performance; bien sûr, vous devrez caractériser la performance réelle pour déterminer si elle est assez rapide, ou si vous avez besoin d'une solution différente. –

Questions connexes