MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Struttura MongoDB per app di messaggi

Vedo che questa domanda è vecchia, ma per chiunque fosse interessato è stata posta una domanda simile e una risposta sembra fattibile https://stackoverflow.com/a/30830429/132610

Conversation : {
 id: 123,
 members: [ user_id1, user_id2 ]
}
Message { conversationId: 123, author: user_2, body: 'Hi what's up' }
Message { conversationId: 123, author: user_1, body: 'Whanna ask some question on stackoverflow' }

Aggiornamento n. 1

1) Scalabilità:MongoDB si adatta bene con una raccolta molto ampia. Miliardi di messaggi per raccolta. Esiste una tecnica chiamata sharding che ti consente di dividere una raccolta più ampia su più nodi.

2) Lettura. Poiché MongoDB ha meccanismi di indicizzazione, le letture sono paragonabili a qualsiasi motore di database ottimizzato. Quindi la lettura non sarà un problema. Soprattutto quando una conversazione(gruppo|stanza) ha meno partecipanti, ad esempio due persone che si scambiano messaggi.