sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB-struktur för meddelandeapp

Jag ser att den här frågan är gammal, men för alla intresserade ställdes en liknande fråga och ett svar ser rimligt ut 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' }

Uppdatering #1

1) Skalbarhet:MongoDB skalar bra med mycket stor samling. Miljarder meddelanden per samling. Det finns en teknik som kallas sharding som gör att du kan dela upp en större samling till flera noder.

2) Läsning. Eftersom MongoDB har indexeringsmekanismer är läsningar jämförbara med vilken finjusterad databasmotor som helst. Så läsning kommer inte att vara ett problem. Speciellt när en konversation(grupp|rum) har färre deltagare, till exempel två personer som skickar meddelanden till varandra.



  1. Återställ redis-data från slav till master

  2. Vad är en bra strategi för att gruppera liknande ord?

  3. MongoDB - mongofiler

  4. Hur man får DIFF på sorterat set