historique membres - BDD ou fichierXML - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : historique membres - BDD ou fichierXML (/showthread.php?tid=5127) Pages :
1
2
|
historique membres - BDD ou fichierXML - Hell-AstiK - 26-10-2010 Bonjour, pour mon futur jeu, je souhaite faire un historique des actions de chaque membres. C'est à dire, comme ceci : http://www.jeuweb.org/showthread.php?tid=564 Je veut que chaque actions (heure de connexion, achats, dépenses diverse, etc...) de chaque membres soient enregistrés. Je voudrais ensuite, que chaque actions datant de > x heures soit effacées (48h par exemple). Mais je me poser la question : Faire un fichier XML pour chaque membres, avec toutes les actions récentes (x heures) dedans (mieux lisible ?) ou, enregistrer tout sa dans la BDD dans une table ? (habituel) Qu'en pensez vous ? RE: historique membres - BDD ou fichierXML - Sephi-Chan - 26-10-2010 Moi je pense que la base de données convient très bien. Sephi-Chan RE: historique membres - BDD ou fichierXML - Hell-AstiK - 26-10-2010 (26-10-2010, 08:22 PM)Sephi-Chan a écrit : Moi je pense que la base de données convient très bien.Merci de participer au débat. En quoi la BDD conviendrais mieux que des fichiers XML ? RE: historique membres - BDD ou fichierXML - Sephi-Chan - 26-10-2010 La base de données permet de trier facilement les colonnes, de faire des conditions, etc. Et en fait, c'est aussi parce que je ne vois pas d'avantages particuliers à XML : c'est plus lourd en terme de volume de données, plus lourd à traiter (pour le tri et les conditions, notamment) et plus lourd à écrire (c'est naze d'écrire du XML en PHP). Sephi-Chan RE: historique membres - BDD ou fichierXML - php_addict - 26-10-2010 oui et puis te toute facon apache sera plus efficasse pour ecrire des donnees sur le disque qu'un script fait maison... RE: historique membres - BDD ou fichierXML - Sephi-Chan - 27-10-2010 (26-10-2010, 11:55 PM)php_addict a écrit : oui et puis te toute facon apache sera plus efficasse pour ecrire des donnees sur le disque qu'un script fait maison... Plus de piles dans le correcteur orthographique ? :p Plus sérieusement, c'est MySQL qui écrit, pas Apache, et il est effectivement plus performant que PHP à ce petit jeu. C'est plutôt important pour un système si sollicité que celui des logs. Sephi-Chan RE: historique membres - BDD ou fichierXML - Roworll - 27-10-2010 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. RE: historique membres - BDD ou fichierXML - keke - 27-10-2010 Contrairement à RoworII, j'ai utilisé un système bien lourd en base de donnée. Au moins 5 tables, des logs croisées (un joueur voit certains types d'action des autres joueurs, mais pas toute, et ce, en fonction de la perception, de la position relative des joueurs), des logs avec 1 ou plusieurs protagonistes (joueur, monstre, batiment...). Chaque table contient la date d'inscription des logs. Ainsi, en cas de purge, je me fie à cette date. Le système est lourd en terme d'espace. Chaque déplacement rempli parfois une 30 aine d'enregistrement. Cependant, c'est aussi très rapide, très modulable, très fiable, etc. kéké RE: historique membres - BDD ou fichierXML - Hell-AstiK - 27-10-2010 Mouarf :good: On en revient à la ou j'en étais, je trouve des avantages et inconvénients de chaque cotés, donc je ne sait pas vers le quel me tourner. Pour petit info, ces historiques ne servirons que à moi, il ne seront pas affichés dans le jeux aux membres. RE: historique membres - BDD ou fichierXML - Sephi-Chan - 27-10-2010 (27-10-2010, 11:02 AM)Hell-AstiK a écrit : Mouarf :good: Mon conseil : va au plus simple. Ne perds pas ton temps sur des choix si superficiels : ça n'influera pas sur le reste de ton système (puisque tu créera bien sûr une classe de log !). La base de données est la solution la plus simple et la plus générique. L'utilisation de XML est ultra spécifique. D'ailleurs, Roworll, outre le dernier point de ta liste, je ne vois pas ce qui fait que XML est plus adapté : (27-10-2010, 08:20 AM)Roworll a écrit : Pour ma part, j'ai fait le choix du XML et ce pour plusieurs raisons propres au fonctionnement de mon application.
Après, j'ai peut-être loupé quelque chose. Je sais que tu aimes beaucoup XML et XSL, mais as-tu choisi ça par goût de la techno ou par réel intérêt ? Sephi-Chan |