Limits für Echtzeit-Datenbanken

Im Folgenden sind Einschränkungen für die Datenspeicherung und -vorgänge in der Firebase Realtime Database aufgeführt. Um über diese Grenzen hinaus zu skalieren, verwenden Sie mehrere Datenbanken .

Global

Operation Grenze Beschreibung
Gleichzeitige Verbindungen 200.000 Eine gleichzeitige Verbindung entspricht einem Mobilgerät, einer Browser-Registerkarte oder einer Server-App, die mit der Datenbank verbunden sind.

Dies entspricht nicht der Gesamtzahl der Nutzer Ihrer App, da sich nicht alle Ihre Nutzer gleichzeitig verbinden. Apps mit 10 Millionen monatlich aktiven Nutzern haben beispielsweise in der Regel weniger als 200.000 gleichzeitige Verbindungen. Ihre maximale Anzahl gleichzeitiger Verbindungen hängt von Ihrer Gesamtbenutzerzahl und der durchschnittlichen Zeit ab, die Benutzer in Ihrer App verbringen.

Wenn Sie jedoch über diese Grenze hinaus skalieren müssen, versuchen Sie es mit mehreren Datenbanken .

Gleichzeitige Antworten, die von einer einzigen Datenbank gesendet werden. ~100.000/Sekunde Antworten umfassen gleichzeitige Broadcast- und Leseoperationen, die vom Server von einer einzelnen Datenbank zu einem bestimmten Zeitpunkt gesendet werden. Die Grenze bezieht sich auf die Datenpakete, die jeden einzelnen Lese- oder Broadcast-Vorgang darstellen, einschließlich Push-Benachrichtigungen, die von der Datenbank gesendet werden. Diese Anleitung gilt für anhaltende Last, aber die Datenbank kann gelegentlich höhere Bursts verarbeiten.
Anzahl der Cloud Functions, die durch einen einzelnen Schreibvorgang ausgelöst werden triggered 1000 Obwohl die Anzahl der Lese- oder Schreibvorgänge, die Sie von einer einzelnen Funktion auslösen können, unbegrenzt ist, kann ein einzelner Datenbank-Schreibvorgang nur 1000 Funktionen auslösen.

Cloud Functions kann nur durch Schreibvorgänge ausgelöst werden, und jede Funktion kann auch weitere Schreibvorgänge auslösen, die weitere Funktionen auslösen (jeweils mit eigenem 1000-Funktionslimit).

Größe eines einzelnen Ereignisses, das durch einen Schreibvorgang ausgelöst wird 1 MB Die Größe eines Events setzt sich aus folgenden Werten zusammen:
  1. Die vorhandenen Daten an der Schreibposition.
  2. Der Aktualisierungswert oder das Datendelta, das zum Schreiben der neuen Daten an den Standort erforderlich ist.
Schreibvorgänge, die größer als 1 MB sind, sind in der Datenbank erfolgreich, lösen jedoch keinen Funktionsaufruf aus.
Datenübertragung an Cloud Functions 10 MB/s anhaltend Die Rate der Ereignisdaten, die an Cloud Functions weitergeleitet werden können.

Datenbaum

Eigentum Grenze Beschreibung
Maximale Tiefe der untergeordneten Knoten 32 Jeder Pfad in Ihrem Datenbaum muss weniger als 32 Ebenen tief sein.
Länge eines Schlüssels 768 Byte Schlüssel sind UTF-8-codiert und dürfen keine Zeilenumbrüche oder eines der folgenden Zeichen enthalten:
. $ # [ ] / oder beliebige ASCII-Steuerzeichen (0x00 - 0x1F und 0x7F)
Maximale Größe einer Zeichenfolge 10 MB Die Daten sind UTF-8-kodiert.

Liest

Beschreibung Grenze Anmerkungen
Größe einer einzelnen Antwort, die von der Datenbank bereitgestellt wird 256 MB Die Größe der von der Datenbank an einem einzelnen Speicherort heruntergeladenen Daten sollte für jeden Lesevorgang weniger als 256 MB betragen.

Um einen Lesevorgang an einem größeren Standort durchzuführen, versuchen Sie eine der folgenden Optionen:

Gesamtzahl der Knoten in einem Pfad mit Listenern oder Abfragen darauf 75 Millionen* Sie können keine Pfade mit mehr als 75 Millionen Knoten kumulativ abhören oder abfragen. Sie können jedoch weiterhin untergeordnete Knoten abhören oder abfragen. Versuchen Sie, tiefer in den Pfad einzudringen oder separate Listener oder Abfragen für spezifischere Abschnitte des Pfads zu erstellen.

*In der Datenanzeige in der Firebase-Konsole können Sie keine Pfade mit mehr als 30.000 Knoten insgesamt anzeigen.

Dauer, die eine einzelne Abfrage ausführen kann 15 Minuten* Eine einzelne Abfrage kann bis zu 15 Minuten lang ausgeführt werden, bevor sie fehlschlägt.

*Eine einzelne Abfrage, die in der Firebase-Konsole ausgeführt wird, kann nur bis zu 5 Sekunden lang ausgeführt werden, bevor sie fehlschlägt.

Schreibt

Beschreibung Grenze Anmerkungen
Größe einer einzelnen Schreibanforderung an die Datenbank 256 MB von der REST-API; 16 MB von den SDKs. Die Gesamtdatenmenge bei jedem Schreibvorgang sollte weniger als 256 MB betragen. Multipath-Updates unterliegen derselben Größenbeschränkung.
Geschriebene Bytes 64 MB/Minute Die Gesamtzahl der Bytes, die zu einem bestimmten Zeitpunkt durch gleichzeitige Schreibvorgänge in die Datenbank geschrieben wurden.