Strukturieren Sie eine NoSQL-Datenbank für eine Chat-Anwendung (mit FireBase)
achdem ich jahrelang relationale Datenbanken verwendet habe, versuche ich, mit FireBase @ eine ziemlich einfache Chat- / Messaging-App zu entwickel
FireBase verwendet einen NoSQL-Datenstrukturansatz mit JSON-formatierten Zeichenfolgen.
Ich habe viel recherchiert, um zu verstehen, wie die Datenbank mit Blick auf die Leistung strukturiert wird. Ich habe versucht, die Struktur zu "denormalisieren" und habe folgendes herausgefunden:
{
"chats" : {
"1" : {
"10" : {
"conversationId" : "x123332"
},
"17": {
"conversationId" : "x124442"
}
}
},
"conversations" : {
"x123332" : {
"message1" : {
"time" : 12344556,
"text" : "hello, how are you?",
"userId" : 10
},
"message2" : {
"time" : 12344560,
"text" : "Good",
"userId" : 1
}
}
}
}
Die Zahlen 1, 10, 17 sind Beispielbenutzer-IDs.
Meine Frage ist, kann dies besser strukturiert werden? Das Ziel ist es, mit dem Wachstum der App-Benutzer zu wachsen und dennoch die bestmögliche Leistung zu erzielen.