Catch up on highlights from Firebase at Google I/O 2023. Learn more

Nutzung und Grenzen

Verwenden Sie diesen Leitfaden, um die Cloud Firestore-Grenzwerte zu verstehen, und sehen Sie sich die Cloud Firestore-Preise an, um eine vollständige, detaillierte Erklärung der Cloud Firestore-Kosten zu erhalten, einschließlich Dingen, 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. Die Seiten „Cloud Firestore API-Kontingente“ und „App Engine-Kontingente“ in der Google Cloud Console verfolgen die Cloud Firestore-Nutzung und Kontingentinformationen.

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 Kontingent benötigen, müssen Sie die Abrechnung für Ihr Cloud Platform-Projekt aktivieren .

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

Kostenloses Kontingent Quote
Gespeicherte Daten 1 GiB
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 Grenzwerte, die für Cloud Firestore gelten. Sofern nicht anders angegeben, handelt es sich hierbei um harte Grenzwerte.

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 Byte sein
  • Darf keinen Schrägstrich ( / ) enthalten.
  • Kann nicht ausschließlich aus einem einzelnen Punkt ( . ) oder doppelten Punkten ( .. ) bestehen.
  • Kann nicht mit dem regulären Ausdruck __.*__ übereinstimmen
Maximale Tiefe der 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.
  • Kann nicht ausschließlich aus einem einzelnen 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]+__ angezeigt.
Maximale Größe für einen Dokumentnamen 6 KiB
Maximale Größe für ein Dokument 1 MiB (1.048.576 Byte)
Einschränkungen für Feldnamen Muss gültige UTF-8-Zeichen sein
Maximale Größe eines Feldnamens 1.500 Byte
Einschränkungen für Feldwege
  • Feldnamen müssen durch einen einzelnen Punkt ( . ) getrennt werden.
  • Kann als Zeichenfolge übergeben werden, wenn alle Feldnamen im Pfad einfach sind, andernfalls muss sie als FieldPath-Objekt übergeben werden ( z. B. JavaScript FieldPath ).
Ein einfacher Feldname ist ein Name, 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 Byte (1.048.487 Byte)
Maximale Feldtiefe in einer Karte oder einem Array 20

Schreibvorgänge und Transaktionen

Zusätzlich zu diesen Grenzwerten sollten Sie sich auch mit den Best Practices für skalierbares Design vertraut machen.

Grenze Einzelheiten
Maximale API-Anfragegröße 10 MiB
Maximale Anzahl von Feldtransformationen, die für ein einzelnes Dokument in einem Commit Vorgang oder in einer Transaktion durchgeführt werden können 500
Zeitlimit für eine Transaktion 270 Sekunden, mit einer Leerlaufzeit von 60 Sekunden

Weiche Grenzen

Cloud Firestore hindert Sie nicht daran, die unten aufgeführten Schwellenwerte zu überschreiten, dies wirkt sich jedoch auf die Leistung aus.

Weiche Grenze Einzelheiten
Maximale Schreibrate in eine Sammlung, in der Dokumente sequentielle Werte in einem indizierten Feld enthalten 500 pro Sekunde

Indizes

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

Grenze Einzelheiten
Maximale Anzahl zusammengesetzter Indizes für eine Datenbank

200

Sie können sich an den Support wenden, um eine Erhöhung dieses Limits anzufordern.

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 Ausnahme von der Einzelfeldindizierung und eine TTL-Richtlinie für dasselbe Feld als eine Feldkonfiguration für den Grenzwert.

Maximale Anzahl von Indexeinträgen für jedes Dokument

40.000

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

  • 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 Anzahl von Feldern in einem zusammengesetzten Index 100
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 Byte werden abgeschnitten. Abfragen mit abgeschnittenen Feldwerten können inkonsistente Ergebnisse liefern.

    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 Ausnahme von der Einzelfeldindizierung und eine TTL-Richtlinie für dasselbe Feld als eine Feldkonfiguration für den Grenzwert.

    Export Import

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

    Grenze Einzelheiten
    Maximal zulässige Gesamtzahl an Export- und Importanfragen 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 von exists() , get() - und getAfter() Aufrufen pro Anfrage
    • 10 für Einzeldokumentanfragen und Abfrageanfragen.
    • 20 für das Lesen mehrerer Dokumente, Transaktionen und Batch-Schreibvorgänge. Für jeden Vorgang gilt auch die bisherige Grenze von 10.

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

    Das Überschreiten eines dieser Grenzwerte führt zu einem Fehler, bei dem die Berechtigung verweigert wurde.

    Einige Dokumentzugriffsaufrufe werden möglicherweise zwischengespeichert und zwischengespeicherte Aufrufe werden nicht auf die Grenzwerte angerechnet.

    Maximale Tiefe der verschachtelten match Anweisung 10
    Maximale Pfadlänge in Pfadsegmenten, die innerhalb einer Reihe verschachtelter match Anweisungen zulässig ist 100
    Maximal zulässige Anzahl von Pfaderfassungsvariablen innerhalb einer Reihe 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 ausgewerteter Ausdrücke pro Anfrage 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 Regelsatztextquelle, die über die Firebase-Konsole oder über die CLI mithilfe von 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 sie im Back-End aktiviert.

    Ausgaben verwalten

    Um unerwartete Belastungen 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 in der Google Cloud Console ein Monatsbudget. 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 ein Budget festzulegen, gehen Sie in der Google Cloud Console zum Abschnitt „Abrechnung“ und erstellen Sie ein Budget für Ihr Cloud-Rechnungskonto. Sie können die Standard-Benachrichtigungseinstellungen verwenden oder die Benachrichtigungen ändern, um Benachrichtigungen zu unterschiedlichen Prozentsätzen Ihres Monatsbudgets 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 verknüpfte Ressourcen festlegen, einschließlich Cloud Firestore. Das App Engine-Limit gilt nicht für andere Firebase-Produkte.