Grenzwerte für Echtzeitdatenbanken

Im Folgenden finden Sie Einschränkungen für die Datenspeicherung und den Betrieb in der Firebase-Echtzeitdatenbank. Um über diese Grenzen hinaus zu skalieren, verwenden Sie mehrere Datenbanken .

Global

Betrieb Grenze Beschreibung
Gleichzeitige Verbindungen 200.000*

Eine gleichzeitige Verbindung entspricht der Verbindung eines Mobilgeräts, einer Browser-Registerkarte oder einer Server-App mit der Datenbank.

Dies ist nicht dasselbe wie die Gesamtzahl der Benutzer Ihrer App, da nicht alle Benutzer gleichzeitig eine Verbindung herstellen. Beispielsweise verfügen Apps mit 10 Millionen monatlich aktiven Nutzern in der Regel über weniger als 200.000 gleichzeitige Verbindungen. Die maximale Anzahl gleichzeitiger Verbindungen hängt von der Gesamtzahl Ihrer Benutzer 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 der Verwendung mehrerer Datenbanken .

*Das Limit des Spark-Plans für gleichzeitige Verbindungen beträgt 100.

Gleichzeitige Antworten, die aus einer einzigen Datenbank gesendet werden. ~100.000/Sekunde Zu den Antworten gehören gleichzeitige Broadcast- und Lesevorgänge, die der Server zu einem bestimmten Zeitpunkt von einer einzelnen Datenbank sendet. Der Grenzwert bezieht sich auf die Datenpakete, die jeden einzelnen Lese- oder Broadcast-Vorgang repräsentieren, einschließlich Push-Benachrichtigungen, die von der Datenbank gesendet werden. Diese Anleitung gilt für eine anhaltende Belastung, die Datenbank kann jedoch gelegentlich höhere Auslastungen verarbeiten.
Anzahl der Cloud-Funktionen, die durch einen einzelnen Schreibvorgang ausgelöst werden 1000; oder für Cloud Functions v2 500 pro Region Es gibt zwar keine Begrenzung für die Anzahl der Lese- oder Schreibvorgänge, die Sie von einer einzelnen Funktion auslösen können, ein einzelner Datenbank-Schreibvorgang kann jedoch nur 1.000 Funktionen oder 500 Funktionen pro Region für Cloud Functions v2 auslösen.

Cloud-Funktionen können nur durch Schreibvorgänge ausgelöst werden, und jede Funktion kann auch weitere Schreibvorgänge auslösen, die mehr Funktionen auslösen (jede mit ihrem eigenen Limit von 1000 Funktionen oder 500 pro Region).

Größe eines einzelnen Ereignisses, das durch einen Schreibvorgang ausgelöst wird 1 MB Die Größe eines Ereignisses setzt sich aus folgenden Werten zusammen:
  1. Die vorhandenen Daten am Schreibort.
  2. Der Aktualisierungswert oder das Datendelta, das zum Schreiben der neuen Daten an den Speicherort 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/Sek. dauerhaft 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 darf weniger als 32 Ebenen tief sein.
Länge eines Schlüssels 768 Bytes Schlüssel sind UTF-8-codiert und dürfen keine neuen Zeilen 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 aus der Datenbank an einem einzelnen Standort heruntergeladenen Daten sollte für jeden Lesevorgang weniger als 256 MB betragen.

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

Gesamtzahl der Knoten in einem Pfad mit Listenern oder Abfragen 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.

*Pfade mit mehr als 30.000 Gesamtknoten können Sie im Datenviewer in der Firebase-Konsole nicht anzeigen.

Dauer, wie lange eine einzelne Abfrage ausgeführt werden kann 15 Minuten* Eine einzelne Abfrage kann bis zu 15 Minuten dauern, bevor sie fehlschlägt.

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

Schreibt

Beschreibung Grenze Anmerkungen
Schreibrate 1.000 Schreibvorgänge/Sekunde Das Limit für Schreibvorgänge pro Sekunde in einer einzelnen Datenbank. Dies ist zwar kein fester Grenzwert, aber wenn Sie mehr als 1.000 Schreibvorgänge pro Sekunde durchführen, ist Ihre Schreibaktivität möglicherweise geschwindigkeitsbegrenzt.
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. Multipfad-Updates unterliegen der gleichen Größenbeschränkung.
Bytes geschrieben 64 MB/Minute Die Gesamtzahl der Bytes, die zu einem bestimmten Zeitpunkt durch gleichzeitige Schreibvorgänge in die Datenbank geschrieben wurden.