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?
Oui, c'est exactement ce que je veux faire. – gprime
Mais quelles langues et quelles technologies de stockage suggérez-vous? Straight up php et mysql? – gprime
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. –