Nutzung und Grenzen

Verwenden Sie diesen Leitfaden, um die Grenzen von Cloud Firestore zu verstehen, und sehen Sie sich die Cloud Firestore -Preise an, um eine vollständige, detaillierte Erläuterung der Cloud Firestore-Kosten zu erhalten, einschließlich der Dinge, auf die Sie achten sollten.

Überwachen Sie Ihre Nutzung

Um Ihre Cloud Firestore-Nutzung zu überwachen, öffnen Sie die Registerkarte „Cloud Firestore- Nutzung in der Firebase-Konsole. Verwenden Sie das Dashboard, um Ihre Nutzung über verschiedene Zeiträume hinweg zu messen.

Detaillierte Nutzung in der Google Cloud Console

Wenn Sie ein Firebase-Projekt erstellen, erstellen Sie auch ein Google Cloud-Projekt. Auf der Seite „ App Engine -Kontingente“ in der Google Cloud Console werden Nutzungs- und Kontingentinformationen von Cloud Firestore nachverfolgt.

Kostenloses Kontingent

Cloud Firestore bietet ein kostenloses Kontingent, mit dem Sie kostenlos loslegen können. Die kostenlosen Kontingentbeträge sind unten aufgeführt. Wenn Sie mehr Kontingente benötigen, müssen Sie die Abrechnung für Ihr Cloud Platform-Projekt aktivieren .

Kontingente werden täglich angewendet und gegen Mitternacht pazifischer Zeit zurückgesetzt.

Kostenlose Stufe Quote
Gespeicherte Daten 1 GB
Dokument liest 50.000 pro Tag
Dokument schreibt 20.000 pro Tag
Dokument wird gelöscht 20.000 pro Tag
Netzwerkausgang 10 GiB pro Monat

Standardgrenzen

Die folgenden Tabellen zeigen die Limits, die für Cloud Firestore gelten. Dies sind feste Grenzen, sofern nicht anders angegeben.

Sammlungen, Dokumente und Felder

Grenze Einzelheiten
Einschränkungen für Sammlungs-IDs
  • Muss gültige UTF-8-Zeichen sein
  • Darf nicht länger als 1.500 Bytes sein
  • Darf keinen Schrägstrich ( / ) enthalten
  • Darf nicht nur aus einem einzigen Punkt ( . ) oder doppelten Punkten ( .. ) bestehen
  • Kann nicht mit dem regulären Ausdruck __.*__ übereinstimmen
Maximale Tiefe von Untersammlungen 100
Einschränkungen für Dokument-IDs
  • Muss gültige UTF-8-Zeichen sein
  • Darf nicht länger als 1.500 Byte sein
  • Darf keinen Schrägstrich ( / ) enthalten
  • Darf nicht nur aus einem einzigen Punkt ( . ) oder doppelten Punkten ( .. ) bestehen
  • Kann nicht mit dem regulären Ausdruck __.*__ übereinstimmen
  • Wenn Sie Datastore-Entitäten in eine Firestore-Datenbank importieren, werden numerische Entitäts-IDs als __id[0-9]+__
Maximale Größe für einen Dokumentnamen 6 KiB
Maximale Größe für ein Dokument 1 MiB (1.048.576 Bytes)
Einschränkungen für Feldnamen Muss gültige UTF-8-Zeichen sein
Maximale Größe eines Feldnamens 1.500 Byte
Beschränkungen auf Feldwegen
  • Feldnamen müssen durch einen einzelnen Punkt ( . ) getrennt werden
  • Kann als String übergeben werden, wenn alle Feldnamen im Pfad einfach sind, muss andernfalls als FieldPath-Objekt übergeben werden ( z. B. JavaScript FieldPath )
Ein einfacher Feldname ist einer, bei dem alle folgenden Aussagen zutreffen:
  • Enthält nur die Zeichen az , AZ , 0-9 und Unterstrich ( _ )
  • Beginnt nicht mit 0-9
Maximale Größe eines Feldpfades 1.500 Byte
Maximale Größe eines Feldwerts 1 MiB - 89 Bytes (1.048.487 Bytes)
Maximale Feldtiefe in einer Karte oder einem Array 20

Schreibt und Transaktionen

Grenze Einzelheiten
Maximale Schreibvorgänge pro Sekunde pro Datenbank 10.000 (bis zu 10 MiB pro Sekunde)*. Dieses Limit wird in Zukunft aufgehoben. Wenden Sie sich für einen frühen Zugriff an den Support .
Maximale API-Anforderungsgröße 10 MiB
Maximale Anzahl von Schreibvorgängen, die an einen Commit Vorgang übergeben oder in einer Transaktion ausgeführt werden können 500
Maximale Anzahl von Feldtransformationen, die für ein einzelnes Dokument in einem Commit -Vorgang oder in einer Transaktion durchgeführt werden können 500
Frist für eine Transaktion 270 Sekunden, mit einer Ablaufzeit von 60 Sekunden im Leerlauf

Weiche Grenzen

Cloud Firestore hindert Sie nicht daran, die unten aufgeführten Schwellenwerte zu überschreiten, beeinträchtigt jedoch die Leistung.

Weiche Grenze Einzelheiten
Maximale anhaltende Schreibrate in ein Dokument

1 pro Sekunde

Das Aufrechterhalten einer Schreibrate von mehr als einmal pro Sekunde erhöht die Latenz und verursacht Konkurrenzfehler. Dies ist kein festes Limit, und Sie können das Limit in kurzen Stößen überschreiten.

Maximale Schreibrate in eine Sammlung, in der Dokumente aufeinanderfolgende Werte in einem indizierten Feld enthalten 500 pro Sekunde

Echtzeit-Updates

Weiche Grenze Einzelheiten
Maximale Anzahl gleichzeitiger Verbindungen für Mobil-/Webclients pro Datenbank

1.000.000

Cloud Firestore hindert Sie nicht daran, dieses weiche Limit zu überschreiten, aber dies wirkt sich stark auf die Latenz und die Fehlerrate aus.

Indizes

Für Einzelfeldindizes und zusammengesetzte Indizes gelten die folgenden Beschränkungen:

Grenze Einzelheiten
Maximale Anzahl zusammengesetzter Indizes für eine Datenbank 200
Maximale Anzahl von Einzelfeldkonfigurationen für eine Datenbank

200

Insgesamt sind 200 Konfigurationen auf Feldebene zulässig. Eine Feldkonfiguration kann mehrere Konfigurationen für dasselbe Feld enthalten. Beispielsweise zählen eine Einzelfeld-Indizierungsausnahme und eine TTL-Richtlinie für dasselbe Feld als eine Feldkonfiguration zum Limit.

Maximale Anzahl von Indexeinträgen für jedes Dokument

40.000

Die Anzahl der Indexeinträge ist für ein Dokument die Summe aus:

  • Die Anzahl der Einzelfeld-Indexeinträge
  • Die Anzahl der zusammengesetzten Indexeinträge

Um zu sehen, wie Cloud Firestore ein Dokument und eine Reihe von Indizes in Indexeinträge umwandelt, sehen Sie sich dieses Beispiel für die Anzahl der Indexeinträge an.

Maximale Größe eines Indexeintrags

7,5 KiB

Informationen dazu, wie Cloud Firestore die Indexeintragsgröße berechnet, finden Sie unter Indexeintragsgröße .

Maximale Summe der Größen der Indexeinträge eines Dokuments

8 MiB

Die Gesamtgröße ist die Summe der folgenden Werte für ein Dokument:

  • Die Summe der Größe der Einzelfeld-Indexeinträge eines Dokuments
  • Die Summe der Größe der zusammengesetzten Indexeinträge eines Dokuments
  • Maximale Größe eines indizierten Feldwerts

    1500 Byte

    Feldwerte über 1500 Bytes werden abgeschnitten. Abfragen mit abgeschnittenen Feldwerten können inkonsistente Ergebnisse zurückgeben.

    Lebensdauer (TTL)

    Grenze Einzelheiten
    Maximale Anzahl von Einzelfeldkonfigurationen für eine Datenbank

    200

    Insgesamt sind 200 Konfigurationen auf Feldebene zulässig. Eine Feldkonfiguration kann mehrere Konfigurationen für dasselbe Feld enthalten. Beispielsweise zählen eine Einzelfeld-Indizierungsausnahme und eine TTL-Richtlinie für dasselbe Feld als eine Feldkonfiguration zum Limit.

    Export Import

    Für verwaltete Import- und Exportvorgänge gelten die folgenden Beschränkungen:

    Grenze Einzelheiten
    Maximal zulässige Gesamtzahl von Export- und Importanforderungen für ein Projekt pro Minute 20
    Maximale Anzahl gleichzeitiger Exporte und Importe 50
    Maximale Anzahl von Sammlungs-ID-Filtern für Export- und Importanforderungen 100

    Sicherheitsregeln

    Grenze Einzelheiten
    Maximale Anzahl vonexists( exists() -, get() - und getAfter() Aufrufen pro Anfrage
    • 10 für Einzeldokumentanforderungen und Abfrageanforderungen.
    • 20 für das Lesen mehrerer Dokumente, Transaktionen und gestapelte Schreibvorgänge. Das vorherige Limit von 10 gilt auch für jede Operation.

      Stellen Sie sich beispielsweise vor, Sie erstellen eine Batch-Schreibanforderung mit 3 Schreibvorgängen und Ihre Sicherheitsregeln verwenden 2 Dokumentzugriffsaufrufe, um jeden Schreibvorgang zu validieren. In diesem Fall verwendet jeder Schreibvorgang 2 seiner 10 Zugriffsaufrufe und die Batch-Schreibanforderung verwendet 6 seiner 20 Zugriffsaufrufe.

    Das Überschreiten eines der beiden Grenzwerte führt zu einem Fehler „Berechtigung verweigert“.

    Einige Dokumentzugriffsaufrufe können zwischengespeichert werden, und zwischengespeicherte Aufrufe werden nicht auf die Grenzwerte angerechnet.

    Maximale Tiefe der verschachtelten match -Anweisung 10
    Maximale Pfadlänge in Pfadsegmenten, die innerhalb eines Satzes verschachtelter match -Anweisungen zulässig ist 100
    Maximal zulässige Anzahl von Pfaderfassungsvariablen innerhalb eines Satzes verschachtelter match -Anweisungen 20
    Maximale Funktionsaufruftiefe 20
    Maximale Anzahl von Funktionsargumenten 7
    Maximale Anzahl von let -Variablenbindungen pro Funktion 10
    Maximale Anzahl rekursiver oder zyklischer Funktionsaufrufe 0 (nicht erlaubt)
    Maximale Anzahl von Ausdrücken, die pro Anfrage ausgewertet werden 1.000
    Maximale Größe eines Regelsatzes Regelsätze müssen zwei Größenbeschränkungen einhalten:
    • ein Limit von 256 KB für die Größe der Textquelle des Regelsatzes, die über die Firebase-Konsole oder über die Befehlszeilenschnittstelle mit firebase deploy veröffentlicht wird.
    • eine 250-KB-Grenze für die Größe des kompilierten Regelsatzes, die sich ergibt, wenn Firebase die Quelle verarbeitet und im Back-End aktiviert.

    Ausgaben verwalten

    Um unerwartete Kosten auf Ihrer Rechnung zu vermeiden, legen Sie monatliche Budgets und Benachrichtigungen fest.

    Legen Sie ein Monatsbudget fest

    Um Ihre Cloud Firestore-Kosten zu verfolgen, erstellen Sie ein Monatsbudget in der Google Cloud Console. Budgets schränken Ihre Nutzung nicht ein, aber Sie können Benachrichtigungen einrichten, die Sie benachrichtigen, wenn Sie sich Ihren geplanten Kosten für den Monat nähern oder diese überschreiten.

    Um ein Budget festzulegen, gehen Sie zum Abschnitt „ Abrechnung “ in der Google Cloud Console und erstellen Sie ein Budget für Ihr Cloud-Rechnungskonto. Sie können die standardmäßigen Benachrichtigungseinstellungen verwenden oder die Benachrichtigungen ändern, um Benachrichtigungen zu unterschiedlichen Prozentsätzen Ihres monatlichen Budgets zu senden.

    Erfahren Sie mehr über das Einrichten von Budgets und Budgetbenachrichtigungen .

    Legen Sie ein tägliches Ausgabenlimit fest

    Um Ihre Cloud Firestore-Nutzung zu begrenzen, legen Sie über App Engine ein tägliches Ausgabenlimit fest. Mit App Engine können Sie ein tägliches Ausgabenlimit für mit App Engine verbundene Ressourcen festlegen, einschließlich Cloud Firestore. Das App Engine-Limit gilt nicht für andere Firebase-Produkte.