Stocker les messages d'un système de conversation

Fermé
Akuro Messages postés 234 Date d'inscription lundi 7 mars 2011 Statut Membre Dernière intervention 23 avril 2020 - 27 janv. 2015 à 00:57
flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 - 28 janv. 2015 à 11:53
Bonjour,

Je souhaite créer un système de messagerie pour mon site, je n'ai pas de soucis pour la réalisation, je me demande seulement quelle est la stratégie la plus optimisée pour stocker les messages.

Je compte créer une table pour stocker les conversations et j'aurais besoin d'une multitude d'autres tables pour stocker les messages de ces conversations.
J'ai envisagé plusieurs solutions mais dans chacune, je me retrouve d'une façon où d'une autre avec bloc d'information qui peut atteindre une taille énorme, ce qui ne me semble pas du tout adapté pour le traitement des messages.

Quelle est la meilleure stratégie selon vous?

Merci


4 réponses

flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 280
28 janv. 2015 à 11:53
Salut,

Quelle est ta principale contrainte / crainte ? La taille occupée sur le disque ?

Il s'agit juste de stocker des messages de taille illimitée et de les resservir à la demande ?

Si c'est bien le cas, le choix d'un stockage en base MySQL ne me parait pas très pertinent. Je me tournerais plutôt vers des fichiers plats, voire des solutions NoSQL.

Si malgré tout tu souhaites te baser sur une solution MySQL, tu peux utiliser une table compressée et un moteur particulièrement efficace en compression, comme par exemple infobright ou d'autres.

Je te donne quelques pistes, surtout pour attirer ton attention sur des possibilités autres que MySQL et ses moteurs par défaut, mais à toi de faire tes comparatifs pour choisir la solution qui correspond le mieux à tes besoins. Car ils ne sont selon moi pas exprimés suffisamment clairement dans ta demande initiale.
0
Utilisateur anonyme
27 janv. 2015 à 14:43
Bonjour,

deux tables

1 ) table users

id : index primaire, auto increment
identifiant_user : INT, 5 char
user : text, 30 char

2 ) table conversation

id : index primaire, auto increment
identifiant_user : INT, 5 char
texte : textarea, 250 char
horodatage : timestamp

Cdt

-1
Akuro Messages postés 234 Date d'inscription lundi 7 mars 2011 Statut Membre Dernière intervention 23 avril 2020 20
27 janv. 2015 à 19:22
déjà fait, je cherche un moyen efficace de stocker chaque message avec quelques propriétés
0
Utilisateur anonyme > Akuro Messages postés 234 Date d'inscription lundi 7 mars 2011 Statut Membre Dernière intervention 23 avril 2020
Modifié par ludobabs le 28/01/2015 à 10:36
Bonjour,

tu peux ajouter des champs aux tables, un champ par propriété que tu souhaites traiter. Dans la table Conversation tu peux utiliser l'id de la table Users au lieu d'ajouter un champ identifiant_user dans la table conversation. Personnellement je ne le fais pas ainsi je suis assuré qu'en cas de modification de la table Users ( exportation, etc ) l'identifiant_user ne sera pas impacté.

Cdt

ps -> pour le stockage tu peux créer des fichiers texte à partir de ta base

ps² -> ce ne sont que qques pistes
0
c'est juste
-1
je crois avoir une autre proposition
-1