27-10-2010, 08:20 AM
Pour ma part, j'ai fait le choix du XML et ce pour plusieurs raisons propres au fonctionnement de mon application.
- Les logs n'affichent que les informations concernant le joueur en cours.
- En passant par XML, je créé simplement un fichier par joueur et par jour.
- Je me suis fait une toute petite classe pour générer ces XML, je n'utilise donc pas les classes plus lourdes propres à PHP.
- La suppression des anciens fichier se fait simplement via un CRON chaque nuit.
- Toutes mes données sont affichées via des feuilles XSL. L'organisation et le filtrage des données est donc réalisé sur le poste client. Pas de traitement supplémentaire via BDD ou PHP
L'affichage des pages de logs pour un joueur revient à simplement inclure X fichiers XML en fonction du nombre de jours d'historique à afficher. Pas de requête SQL, pas de trafic supplémentaire généré.
Encore une fois, c'est un système adapté à mes besoins. Son grand avantage est d'utiliser les feuilles XSL pour le rendu ce qui en soit est déjà une exception.
En fonction de ce que tu souhaites faire, il est plus ou moins certain que cela ne te conviendra pas. Si tu dois par exemple parser le XML pour le mettre en forme correctement avant de le renvoyer vers le client, il y a des chances que ce soit plus pénalisant niveau ressources.
Maintenant, une purge de l'historique sur une base de données peut aussi mettre ton serveur SQL à genoux en fonction du volume de données à effacer et des méthodes employées. Dans le cas de logs, mieux vaudra privilégier une série de petites transactions (joueur par joueur ou heure par heure) plutôt qu'une grosse requête qui posera des verrous dans tous les sens pendant un temps plus ou moins long.
- Les logs n'affichent que les informations concernant le joueur en cours.
- En passant par XML, je créé simplement un fichier par joueur et par jour.
- Je me suis fait une toute petite classe pour générer ces XML, je n'utilise donc pas les classes plus lourdes propres à PHP.
- La suppression des anciens fichier se fait simplement via un CRON chaque nuit.
- Toutes mes données sont affichées via des feuilles XSL. L'organisation et le filtrage des données est donc réalisé sur le poste client. Pas de traitement supplémentaire via BDD ou PHP
L'affichage des pages de logs pour un joueur revient à simplement inclure X fichiers XML en fonction du nombre de jours d'historique à afficher. Pas de requête SQL, pas de trafic supplémentaire généré.
Encore une fois, c'est un système adapté à mes besoins. Son grand avantage est d'utiliser les feuilles XSL pour le rendu ce qui en soit est déjà une exception.
En fonction de ce que tu souhaites faire, il est plus ou moins certain que cela ne te conviendra pas. Si tu dois par exemple parser le XML pour le mettre en forme correctement avant de le renvoyer vers le client, il y a des chances que ce soit plus pénalisant niveau ressources.
Maintenant, une purge de l'historique sur une base de données peut aussi mettre ton serveur SQL à genoux en fonction du volume de données à effacer et des méthodes employées. Dans le cas de logs, mieux vaudra privilégier une série de petites transactions (joueur par joueur ou heure par heure) plutôt qu'une grosse requête qui posera des verrous dans tous les sens pendant un temps plus ou moins long.
Quand on te dit qu'un projet est terminé à 90%, prépare toi pour les 90% suivant
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC