Questo è un grosso problema architettonico, lo sai. Aziende come Facebook e Twitter hanno speso molto tempo e denaro per risolvere il tuo problema in modo solido. Se il tuo server di chat è semplice (come hai scritto), usa il modo 1.b, ma crea un livello di astrazione (qualcosa come saveConversation
, getConversation
). Se in futuro la velocità non ti soddisfasse, pensa a una rappresentazione più efficiente, come il database NoSQL (LevelDB o qualcosa del genere). Non pensare alle prestazioni ora, crea un prototipo con una buona astrazione e un'architettura collegabile.