Wenn ein Knoten so viele Kinder hat, ist der Zugriff auf den Knoten in irgendeiner Weise ein Rezept für Probleme. Der Zugriff auf ein einzelnes Kind ist nie ein Problem.
Das Abfragen des Knotens für eine Teilmenge seiner untergeordneten Elemente erfordert weiterhin, dass die Datenbank jedes dieser untergeordneten Elemente berücksichtigt. Wenn Sie die letzten 10 von 100 Millionen Artikeln anfordern, bitten Sie die Datenbank, 999.999.990 Artikel zu betrachten, die Sie offensichtlich nicht interessieren.
Es ist unmöglich zu sagen, was das Maximum ohne eine konkretere Beschreibung ist Datengröße, Bestellkriterien usw. Aber um ehrlich zu sein, ist das Beste, was Sie wahrscheinlich bekommen, ein Wert mit einer großen Varianz, die sich im Laufe der Zeit wahrscheinlich ändern wird.
Der beste Ansatz in Firebase (und den meisten NoSQL-Lösungen) besteht darin, die Daten so zu modellieren, dass sie mit den Daten Ihrer App übereinstimmen. So zum Beispiel: Wenn Sie Ihren Benutzern die neuesten 10 Artikel anzeigen müssen, speichern Sie die (Schlüssel) der letzten 10 Artikel in einer separaten Liste.
items
-K........0
title: "Firebase Performance: How many children per node?"
body: "If a node has 100 million children, will there be a performance impact if I:..."
-K........1
title: "Firebase 3x method won't working in real device but worked in simulator swift 3.0"
body: "Hi we are working with google firebase 3x version and we faced..."
.
.
.
-K999999998
-K999999999
recent
-K999999990: true
-K999999991: true
-K999999992: true
-K999999993: true
-K999999994: true
-K999999995: true
-K999999996: true
-K999999997: true
-K999999998: true
-K999999999: true
Ich bin mir nicht sicher, ob ich die richtige Anzahl von Neunen da drin, aber ich hoffe, Sie bekommen die Idee.
Sie sollten lesen Sie https://firebase.google.com/docs/database/web/structure-data –
Und auch https://firebase.google.com/docs/database/web/retrieve-data – Kato
I hatte ein ähnliches Problem (Präsentation einer großen Liste in einem RecyclerView), siehe hier: http://stackoverflow.com/questions/36401332/firebase-android-offline-performance Sie können meine Lösung hier finden: http://stackoverflow.com/a/37772597/6155664 – Niels