Oui, par FTP, j'entends système de fichiers. Les intérêts du système de fichier:
- Possibilité de mise en cache ou d'utilisation des CDN (le fichier, type XML ou JSON, est publique et stockable sur proxy ou en cache du navigateur)
- Limite drastiquement toutes les injections (puisque BDD et messageries sont physiquement séparées)
- Evite que la BDD ne "gonfle" (si chacun des 10.000 joueurs peut avoir 1.000 messages de 10.000 caractères chacun, cela veut dire que la BDD peut pointer à 100Go alors que les données du jeu dépassent rarement les 0.1 à 1Go)
- Sépare les données de jeu (BDD, chiffres) des données "humaines" (messages échangés)
* La BDD peut aller en RAM: oui, mais les fichiers peuvent aller dans le cache du client / proxy, et (à tester) la durée de livraison d'un simple fichier statique par le serveur peut être plus rapide que {interprétation du PHP, + connexion au SQL + requête SQL}
* Limite d'inode: Rien n'oblige à avoir 1 fichier par message; j'aurai plutôt vu 1 fichier par joueur (messagerie privée), ou 1 fichier par discussion ou par catégorie (forum)
Enfin, les messages sont assez peu soumis aux changement (c'est plutôt de l'insertion et de la lecture). En d'autres mots, une fois un message inséré, je n'ai pas de raison de revenir dessus (oui, on peut l'éditer, mais le cas est assez rare et peut donc être un poil plus lourd en terme de temps de traitement). C'est un genre de données "quasi statiques", et je trouvais cela un peu lourd d'utiliser une BDD, hyper dynamique, pour cela.
Et j'oubliais: la base de donnée, vidée de la colonne "contenuDuMessage", peut alors utiliser des lignes de taille fixe, ce qui il me semble accélère les requêtes (mais je n'ai pas de statistiques là dessus)
- Possibilité de mise en cache ou d'utilisation des CDN (le fichier, type XML ou JSON, est publique et stockable sur proxy ou en cache du navigateur)
- Limite drastiquement toutes les injections (puisque BDD et messageries sont physiquement séparées)
- Evite que la BDD ne "gonfle" (si chacun des 10.000 joueurs peut avoir 1.000 messages de 10.000 caractères chacun, cela veut dire que la BDD peut pointer à 100Go alors que les données du jeu dépassent rarement les 0.1 à 1Go)
- Sépare les données de jeu (BDD, chiffres) des données "humaines" (messages échangés)
* La BDD peut aller en RAM: oui, mais les fichiers peuvent aller dans le cache du client / proxy, et (à tester) la durée de livraison d'un simple fichier statique par le serveur peut être plus rapide que {interprétation du PHP, + connexion au SQL + requête SQL}
* Limite d'inode: Rien n'oblige à avoir 1 fichier par message; j'aurai plutôt vu 1 fichier par joueur (messagerie privée), ou 1 fichier par discussion ou par catégorie (forum)
Enfin, les messages sont assez peu soumis aux changement (c'est plutôt de l'insertion et de la lecture). En d'autres mots, une fois un message inséré, je n'ai pas de raison de revenir dessus (oui, on peut l'éditer, mais le cas est assez rare et peut donc être un poil plus lourd en terme de temps de traitement). C'est un genre de données "quasi statiques", et je trouvais cela un peu lourd d'utiliser une BDD, hyper dynamique, pour cela.
Et j'oubliais: la base de donnée, vidée de la colonne "contenuDuMessage", peut alors utiliser des lignes de taille fixe, ce qui il me semble accélère les requêtes (mais je n'ai pas de statistiques là dessus)