In diesem Leitfaden erfahren Sie mehr über die Limits von Cloud Firestore. Eine vollständige und detaillierte Erläuterung der Cloud Firestore-Kosten, einschließlich der zu beachtenden Punkte, finden Sie unter Cloud Firestore Preise.
Nutzung überwachen
Wenn Sie Ihre Cloud Firestore-Nutzung im Blick behalten möchten, öffnen Sie in der Firebase Console den Cloud Firestore Nutzung Tab. Im Dashboard können Sie Ihre Nutzung in verschiedenen Zeiträumen sehen.
Detaillierte Nutzung in der Google Cloud Konsole
Wenn Sie ein Firebase-Projekt erstellen, legen Sie auch ein Google Cloud Projekt an. Auf den Cloud Firestore API Quotas und App Engine Quotas Seiten in der Google Cloud Console werden Informationen zur Cloud Firestore Nutzung und zu Kontingenten erfasst.
Kostenloses Kontingent
Cloud Firestore bietet kostenlose Kontingente an, mit denen Sie ganz ohne Gebühren loslegen können. Wenn Sie größere Kontingente benötigen, müssen Sie die Abrechnung für Ihr Google Cloud Projekt aktivieren.
Kontingente gelten je Tag und werden gegen Mitternacht (UTC -7/-8) zurückgesetzt.
In der folgenden Tabelle sind die kostenlosen Kontingente zusammengefasst:
| Kostenlose Stufe | Kontingent |
|---|---|
| Gespeicherte Daten | 1 GiB |
| Lesevorgänge für das Dokument | 50.000 pro Tag |
| Schreibvorgänge für das Dokument | 20.000 pro Tag |
| Löschvorgänge für das Dokument | 20.000 pro Tag |
| Ausgehende Datenübertragung | 10 GiB pro Monat |
Die folgenden Vorgänge und Funktionen sind nicht in der kostenlosen Nutzung enthalten. Sie müssen die Abrechnung aktivieren, um diese Funktionen nutzen zu können:
- TTL-Löschvorgänge
- PITR-Daten
- Daten sichern
- Vorgänge wiederherstellen
- Klonvorgänge
Weitere Informationen zur Abrechnung dieser Funktionen finden Sie unter Speicherpreise.
Standard limits
In den folgenden Tabellen sind die Limits aufgeführt, die für Cloud Firestore gelten. Sofern nicht anders angegeben, sind dies feste Beschränkungen.
Datenbanken
| Limit | Details |
|---|---|
| Maximale Anzahl von Datenbanken pro Projekt |
100 Sie können den Support kontaktieren , um eine Erhöhung dieses Limits zu beantragen. |
| Maximale Anzahl von Datenbanken mit kundenverwalteten Verschlüsselungsschlüsseln (CMEK) pro Projekt |
0 Standardmäßig ist das Kontingent 0, da diese Funktion auf einer Zulassungsliste steht. Sie können eine Erhöhung des Kontingents beantragen, indem Sie das Formular für den CMEK-Zugriffsantrag ausfüllen. |
Sammlungen, Dokumente und Felder
| Limit | Details |
|---|---|
| Einschränkungen für Sammlungs-IDs |
|
| Maximale Tiefe von Untersammlungen | 100 |
| Einschränkungen für Dokument-IDs |
|
| 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 |
|
| Maximale Größe für einen Feldnamen | 1.500 Byte |
| Einschränkungen für Feldpfade |
`). foo.`x&y` verweist beispielsweise auf das Feld x&y, das unter dem Feld foo verschachtelt ist. Wenn Sie einen Feldnamen mit dem Graviszeichen erstellen möchten, müssen Sie das Graviszeichen mit dem umgekehrten Schrägstrich (\) maskieren. Alternativ können Sie in Anführungszeichen gesetzte Feldnamen vermeiden, indem Sie den Feldpfad als FieldPath-Objekt übergeben (siehe z. B. JavaScript FieldPath).
|
| Maximale Größe eines Feldpfads | 1.500 Byte |
| Maximale Größe eines Feldwerts | 1 MiB – 89 Byte (1.048.487 Byte) |
| Maximale Tiefe von Feldern in einer Karte oder einem Array | 20 Felder vom Typ „Karte“ und „Array“ erhöhen die Gesamttiefe eines Objekts um eine Ebene. Das folgende Objekt hat beispielsweise eine Gesamttiefe von drei Ebenen: |
Schreibvorgänge und Transaktionen
Zusätzlich zu diesen Limits sollten Sie sich auch die Best Practices für das Design für die Skalierung ansehen.
| Limit | Details |
|---|---|
| Maximale API-Anfragengröße | 10 MiB |
| Zeitlimit für eine Transaktion | 270 Sekunden bei einer Inaktivitätsablaufzeit von 60 Sekunden |
Maximale Anzahl Feldtransformationen, die für ein
einzelnes Dokument in einem Commit Vorgang oder in einer
Transaktion ausgeführt werden können |
500 |
Indexe
Die folgenden Limits gelten für Einzelfeld-Indexe und zusammengesetzte Indexe:
| Limit | Details |
|---|---|
| Maximale Anzahl zusammengesetzter Indexe für eine Datenbank |
|
| Maximale Anzahl Einzelfeldkonfigurationen für eine Datenbank |
Eine Konfiguration auf Feldebene kann mehrere Konfigurationen für dasselbe Feld enthalten. Beispielsweise zählen eine Ausnahme von der Einzelfeldindexierung und eine TTL-Richtlinie für dasselbe Feld als eine Feldkonfiguration für das Limit. |
|
Maximale Anzahl Indexeinträge für jedes Dokument |
40.000 Die Anzahl der Indexeinträge ist die Summe von Folgendem für ein Dokument:
Informationen dazu, wie Cloud Firestore ein Dokument und einen Indexsatz in Indexeinträge umwandelt, finden Sie in diesem Beispiel für das Zählen von Indexeinträgen. |
| Maximale Anzahl Felder in einem zusammengesetzten Index | 100 |
| Maximale Größe eines Indexeintrags |
7,5 KB Informationen dazu, wie Cloud Firestore die Größe von Indexeinträgen berechnet, finden Sie unter Größe des Indexeintrags. |
| Maximale Summe der Größen der Indexeinträge eines Dokuments |
8 MiB Die Gesamtgröße ist die Summe von Folgendem für ein Dokument: |
| Maximale Größe des Werts eines indexierten Felds |
1.500 Byte Feldwerte über 1.500 Byte werden abgeschnitten. Abfragen mit abgeschnittenen Feldwerten können inkonsistente Ergebnisse zurückgeben. |
Gültigkeitsdauer (TTL)
| Limit | Details |
|---|---|
| Maximale Anzahl Einzelfeldkonfigurationen für eine Datenbank |
Eine Konfiguration auf Feldebene kann mehrere Konfigurationen für dasselbe Feld enthalten. Beispielsweise zählen eine Ausnahme von der Einzelfeldindexierung und eine TTL-Richtlinie für dasselbe Feld als eine Feldkonfiguration für das Limit. |
Exportieren/Importieren
Die folgenden Limits gelten für verwaltete Import- und Exportvorgänge:
| Limit | Details |
|---|---|
| Maximale Gesamtzahl der Export- und Importanfragen für ein Projekt, die pro Minute zulässig sind | 20 |
| Maximale Anzahl gleichzeitiger Exporte und Importe | 50 |
| Maximale Anzahl der Sammlungs-ID-Filter für Export- und Importanfragen | 100 |
Sicherheitsregeln
| Limit | Details |
|---|---|
Maximale Anzahl exists()-, get()- und getAfter()-Aufrufe pro Anfrage |
Das Überschreiten eines dieser Limits führt zu einem Fehler mit Berechtigungsverweigerung. Einige Dokumentzugriffsaufrufe können zwischengespeichert werden. Zwischengespeicherte Aufrufe werden nicht in die Limits einberechnet. |
Maximale Tiefe verschachtelter match-Anweisungen |
10 |
Maximale Pfadlänge in Pfadsegmenten, die innerhalb eines Satzes von verschachtelten match-Anweisungen zulässig ist |
100 |
Maximale Anzahl Pfaderfassungsvariablen, die in einem Satz verschachtelter match-Anweisungen zulässig ist |
20 |
| Maximale Funktionsaufruftiefe | 20 |
| Maximale Anzahl Funktionsargumente | 7 |
Maximale Anzahl let-Variablenbindungen pro Funktion |
10 |
| Maximale Anzahl rekursiver oder zyklischer Funktionsaufrufe | 0 (nicht zulässig) |
| Maximale Anzahl bewerteter Ausdrücke pro Anfrage | 1.000 |
| Maximale Größe eines Regelsatzes | Regelsätze müssen zwei Größenbeschränkungen genügen:
|
Ausgaben verwalten
Legen Sie Monatsbudgets und Benachrichtigungen fest, um unerwartete Kosten auf Ihrer Rechnung zu vermeiden.
Monatsbudget festlegen
Wenn Sie Ihre Cloud Firestore Kosten im Blick behalten möchten, erstellen Sie in der Google Cloud Konsole ein Monatsbudget. Budgets beschränken Ihre Nutzung nicht, aber Sie können Benachrichtigungen einrichten, um informiert zu werden, wenn Sie sich Ihren geplanten Kosten für den Monat nähern oder diese überschreiten.
Wenn Sie ein Budget festlegen möchten, rufen Sie in der Google Cloud Console den Bereich „Abrechnung“ auf und erstellen Sie ein Budget für Ihr Cloud Billing Konto. Sie können die Standardeinstellungen für Benachrichtigungen verwenden oder die Benachrichtigungen so ändern, dass sie bei unterschiedlichen Prozentsätzen Ihres Monatsbudgets gesendet werden.
Weitere Informationen zum Einrichten von Budgets und Budgetbenachrichtigungen.