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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage