Nutzung und Grenzen

Verwenden Sie dieses Handbuch Wolke Firestor Grenzen zu verstehen und sehen Wolke Firestor Preise für eine vollständige, detaillierte Erklärung der Cloud Firestor Kosten, einschließlich den Dinge zu achten gilt .

Überwachen Sie Ihre Nutzung

Um Ihre Wolke Firestor Nutzung, öffnen Sie die Wolke Firestor zu überwachen Registerkarte Verwendung in der Konsole Firebase. 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. Die App Engine Quotas Seite in dem Google Cloud Console verfolgt Wolke Firestor Nutzung und Quoteninformationen.

Kostenlose Quote

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

Kontingente werden täglich angewendet und gegen Mitternacht Pacific Time zurückgesetzt.

Kostenlose Stufe Quote
Gespeicherte Daten 1 GiB
Dokument liest 50.000 pro Tag
Dokument schreibt 20.000 pro Tag
Dokument löscht 20.000 pro Tag
Ausgehender Netzwerktraffic 10 GiB pro Monat

Standardgrenzen

In den folgenden Tabellen sind die Grenzwerte aufgeführt, die für Cloud Firestore gelten. Dies sind harte Grenzen, sofern nicht anders angegeben.

Sammlungen, Dokumente und Felder

Grenze Einzelheiten
Einschränkungen bei Sammlungs-IDs
  • Muss gültige UTF-8-Zeichen sein
  • Darf nicht länger als 1.500 Byte sein
  • Kann nicht mit einem Schrägstrich enthalten ( / )
  • Kann nicht nur aus einer einzigen Periode bestehen ( . ) Oder Doppelstunden ( .. )
  • Kann nicht mit dem regulären Ausdruck übereinstimmen __.*__
Maximale Tiefe der Untersammlungen 100
Einschränkungen bei Dokument-IDs
  • Muss gültige UTF-8-Zeichen sein
  • Darf nicht länger als 1.500 Byte sein
  • Kann nicht mit einem Schrägstrich enthalten ( / )
  • Kann nicht nur aus einer einzigen Periode bestehen ( . ) Oder Doppelstunden ( .. )
  • Kann nicht mit dem regulären Ausdruck übereinstimmen __.*__
  • Wenn Sie Datenspeicherentität in eine Firestore - Datenbank, numerische Entität IDs ausgesetzt sind , wie importieren __id[0-9]+__
Maximale Größe für einen Dokumentnamen 6 KiB
Maximale Größe für ein Dokument 1 MiB (1.048.576 Byte)
Einschränkungen bei Feldnamen Muss gültige UTF-8-Zeichen sein
Maximale Größe eines Feldnamens 1.500 Byte
Einschränkungen auf Feldpfaden
  • Muss Feldnamen mit einer einzigen Periode trennen ( . )
  • Kann als String übergeben werden , wenn alle im Pfad einfachen Feldnamen sind, sonst als FieldPath Objekt übergeben werden müssen ( zB JavaScript FieldPath )
Ein einfacher Feldname ist einer, bei dem alle der folgenden Bedingungen zutreffen:
  • Enthält nur die Zeichen az , AZ , 0-9 und Unterstrich ( _ )
  • Startet nicht mit 0-9
Maximale Größe eines Feldpfades 1.500 Byte
Maximale Größe eines Feldwerts 1 MiB - 89 Byte (1.048.487 Byte)
Maximale Schärfentiefe 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)
Maximale API-Anfragegröße 10 MiB
Die maximale Anzahl von Schreibvorgängen , die zu einem übergeben werden können Commit in einer Transaktion Betrieb oder durchgeführt 500
Maximale Anzahl von Feld Transformationen , die auf einem einzigen Dokument in einem durchgeführt werden kann Commit Betrieb oder in einer Transaktion 500
Zeitlimit für eine Transaktion 270 Sekunden, mit einer 60-sekündigen Ablaufzeit 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 Konfliktfehler. Dies ist kein hartes Limit, und Sie können das Limit in kurzen Ausbrüchen überschreiten.

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

Echtzeit-Updates

Weiche Grenze Einzelheiten
Maximale gleichzeitige Verbindungen für mobile/Web-Clients 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

Die folgenden Beschränkungen gelten für Einfeld-Indizes und zusammengesetzten Indizes :

Grenze Einzelheiten
Maximale Anzahl zusammengesetzter Indizes für eine Datenbank 200
Maximale Anzahl von Einzelfeld-Indexausnahmen für eine Datenbank 200

Maximale Anzahl von Indexeinträgen für jedes Dokument

40.000

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

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

Um zu sehen , wie Cloud - Firestor schalten sich ein Dokument und eine Reihe von Indizes in Indexeinträge finden Sie dieses Indexeintrag Zählung Beispiel .

Maximale Größe eines Indexeintrags

7,5 KiB

Um zu sehen , wie Cloud - Firestor Indexeintrag Größe berechnet, finden Sie Indexeintrag Größe .

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

8 MiB

Die Gesamtgröße ist die Summe der folgenden Elemente 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 Byte werden abgeschnitten. Abfragen mit abgeschnittenen Feldwerten können inkonsistente Ergebnisse zurückgeben.

    Export Import

    Die folgenden Beschränkungen gelten für verwaltete Import- und Exportvorgänge :

    Grenze Einzelheiten
    Maximal zulässige Gesamtanzahl 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 Importanfragen 100

    Sicherheitsregeln

    Grenze Einzelheiten
    Maximale Anzahl der exists() ist get() getAfter() exists() , get() und getAfter() ruft pro Anfrage
    • 10 für Einzeldokumentanforderungen und Abfrageanforderungen.
    • 20 für Multi-Dokument-Lesevorgänge, Transaktionen und Schreibvorgänge im Stapel. Die bisherige Grenze von 10 gilt auch für jeden Vorgang.

      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 gestapelte Schreibanforderung verwendet 6 seiner 20 Zugriffsaufrufe.

    Das Überschreiten eines der Grenzwerte führt zu einem Berechtigungsverweigerungsfehler.

    Einige Dokumentzugriffsaufrufe können zwischengespeichert werden, und zwischengespeicherte Aufrufe zählen nicht zu den Grenzwerten.

    Maximale verschachtelte match Anweisung Tiefe 10
    Maximale Pfadlänge, in Pfadsegmente, innerhalb eines Satzes von verschachtelten erlaubt match Aussagen 100
    Maximale Anzahl der Pfaderfassung Variablen erlaubt innerhalb eines Satzes von verschachtelten match - Anweisungen 20
    Maximale Tiefe des Funktionsaufrufs 20
    Maximale Anzahl von Funktionsargumenten 7
    Maximale Anzahl an let Variablenbindungen pro Funktion 10
    Maximale Anzahl rekursiver oder zyklischer Funktionsaufrufe 0 (nicht zulässig)
    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:
    • eine 256 KB Grenze für die Größe der ruleset Textquelle von der Firebase - Konsole oder von der Verwendung von CLI veröffentlicht firebase deploy .
    • eine Beschränkung von 250 KB für die Größe des kompilierten Regelsatzes, die entsteht, wenn Firebase die Quelle verarbeitet und im Back-End aktiviert.

    Ausgaben verwalten

    Legen Sie monatliche Budgets und Benachrichtigungen fest, um unerwartete Belastungen auf Ihrer Rechnung zu vermeiden.

    Legen Sie ein Monatsbudget fest

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

    Um einen Haushalt, gehen Sie auf den Abrechnungsabschnitt in dem Google Cloud Console und erstellen Konto ein Budget für Ihr Cloud - Billing. Sie können die standardmäßigen Benachrichtigungseinstellungen verwenden oder die Benachrichtigungen ändern, um Benachrichtigungen zu unterschiedlichen Prozentsätzen Ihres Monatsbudgets zu senden.

    Weitere Informationen zum 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. App Engine ermöglicht es Ihnen , ein zu setzen tägliche Ausgabengrenze auf App Engine verbundene Ressourcen, einschließlich Cloud - Firestor. Das App Engine-Limit gilt nicht für andere Firebase-Produkte.