Datenbanken erstellen und verwalten

Auf dieser Seite wird beschrieben, wie Sie Firestore-Datenbanken mit MongoDB-Kompatibilität erstellen, aktualisieren und löschen. Sie können mehrere Firestore-Datenbanken pro Projekt erstellen. Sie können mehrere Datenbanken verwenden, um Produktions- und Testumgebungen einzurichten, Kundendaten zu isolieren und Daten zu regionalisieren.

Kostenlose Nutzung

Firestore bietet eine kostenlose Stufe, mit der Sie kostenlos loslegen können.

Das kostenlose Kontingent gilt nur für eine Firestore-Datenbank pro Projekt. Die erste Datenbank, die in einem Projekt ohne Datenbank mit kostenlosem Kontingent erstellt wird, erhält das kostenlose Kontingent. Wenn die Datenbank mit dem angewendeten kostenlosen Kontingent gelöscht wird, erhält die nächste erstellte Datenbank das kostenlose Kontingent.

Hinweise

Bevor Sie eine Datenbank erstellen, müssen Sie die folgenden Schritte ausführen:

  1. Verify that billing is enabled for your Google Cloud project.

  2. Weisen Sie die entsprechenden IAM-Rollen (Identity and Access Management) zu, wie im nächsten Abschnitt beschrieben.

Erforderliche Rollen

Zum Erstellen und Verwalten von Datenbanken benötigen Sie Identity and Access Management-Rolle Owner oder Datastore Owner. Diese Rollen gewähren die erforderlichen Berechtigungen.

Erforderliche Berechtigungen

Zum Verwalten von Datenbanken benötigen Sie die folgenden Berechtigungen:

  • Datenbank erstellen: datastore.databases.create
  • Datenbankkonfiguration lesen: datastore.databases.getMetadata
  • Datenbank konfigurieren: datastore.databases.update
  • Datenbank löschen: datastore.databases.delete
  • Datenbank klonen: datastore.databases.clone

Datenbank erstellen

Verwenden Sie eine der folgenden Methoden, um eine Firestore-Datenbank mit MongoDB-Kompatibilität zu erstellen:

Google Cloud console
  1. Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.

    Zur Seite „Datenbanken“

  2. Klicken Sie auf Firestore-Datenbank erstellen.
  3. Geben Sie eine Datenbank-ID ein.
  4. Wählen Sie die Enterprise Edition aus.
  5. Wählen Sie einen Speicherort für Ihre Datenbank aus.
  6. Optional: Wenn Sie die Verschlüsselung anpassen möchten, klicken Sie auf Verschlüsselungsoptionen anzeigen und konfigurieren Sie die Verschlüsselungsoptionen.
  7. Klicken Sie auf Datenbank erstellen.
gcloud-CLI

Verwenden Sie den Befehl gcloud firestore databases create und legen Sie --edition=enterprise fest.

gcloud firestore databases create \
--database=DATABASE_ID \
--location=LOCATION \
--edition=enterprise

Ersetzen Sie Folgendes:

Zum Aktivieren des Löschschutzes fügen Sie das Flag --delete-protection hinzu. Sie können eine Datenbank mit aktiviertem Löschschutz erst löschen, wenn Sie diese Einstellung deaktivieren. Diese Einstellung ist standardmäßig deaktiviert.

gcloud firestore databases create \
--database=DATABASE_ID \
--location=LOCATION \
--edition=enterprise \
--delete-protection

Verwenden Sie das Flag --tags, um der Datenbank Tags hinzuzufügen. Beispiel:

  • --tags=123/environment=production,123/costCenter=marketing
  • --tags=tagKeys/333=tagValues/444
Terraform

Verwenden Sie die Ressource google_firestore_database und legen Sie database_edition auf ENTERPRISE fest.

resource "google_firestore_database" "database" {
  name             = "DATABASE_ID"
  location_id      = "LOCATION"
  type             = "FIRESTORE_NATIVE"
  database_edition = "ENTERPRISE"

  // Optional
  delete_protection_state = "DELETE_PROTECTION_STATE"
}

Ersetzen Sie Folgendes:

Um den Löschschutz zu aktivieren, setzen Sie delete_protection_state auf DELETE_PROTECTION_ENABLED. Sie können eine Datenbank mit aktiviertem Löschschutz erst löschen, wenn Sie diese Einstellung deaktivieren. Diese Einstellung ist standardmäßig deaktiviert.

Datenbank-ID

Gültige Datenbank-IDs müssen den folgenden Anforderungen entsprechen:

  • Darf nur Buchstaben, Zahlen und Bindestriche (-) enthalten.
  • Buchstaben müssen Kleinbuchstaben sein.
  • Das erste Zeichen muss ein Buchstabe sein.
  • Das letzte Zeichen muss ein Buchstabe oder eine Ziffer sein.
  • Mindestens 4 Zeichen.
  • Maximal 63 Zeichen.
  • Darf keine UUID sein oder einer UUID ähneln. Verwenden Sie beispielsweise keine ID wie f47ac10b-58cc-0372-8567-0e02b2c3d479.

Wenn Sie eine Datenbank löschen, können Sie die Datenbank-ID erst nach fünf Minuten wiederverwenden.

Schutz löschen

Mit dem Löschschutz können Sie verhindern, dass eine Datenbank versehentlich gelöscht wird. So funktioniert der Schutz vor dem Löschen:

  • Sie können eine Datenbank mit aktiviertem Löschschutz erst löschen, wenn Sie den Löschschutz deaktivieren.
  • Der Löschschutz ist standardmäßig deaktiviert.
  • Sie können den Löschschutz beim Erstellen der Datenbank aktivieren oder die Datenbankkonfiguration aktualisieren, um den Löschschutz zu aktivieren.

Datenbanken auflisten

Verwenden Sie eine der folgenden Methoden, um Ihre Datenbanken aufzulisten:

Console

Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.

Zur Seite „Datenbanken“

gcloud-CLI

Verwenden Sie den Befehl gcloud firestore databases list, um alle Datenbanken in Ihrem Projekt aufzulisten.

gcloud firestore databases list

Datenbankdetails ansehen

Verwenden Sie eine der folgenden Methoden, um Details zu einer einzelnen Datenbank aufzurufen:

Console
  1. Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.

    Zur Seite „Datenbanken“

  2. Wählen Sie eine Datenbank aus der Liste der Datenbanken aus.
gcloud-CLI

Führen Sie den Befehl gcloud firestore databases describe aus:

gcloud firestore databases describe --database=DATABASE_ID

Ersetzen Sie DATABASE_ID durch eine Datenbank-ID.

Datenbankkonfiguration aktualisieren

Verwenden Sie den Befehl gcloud firestore databases update, um die Konfigurationseinstellungen einer Datenbank zu aktualisieren.

Mit diesem Befehl können Sie den Löschschutz ändern, aktivieren oder deaktivieren.

Löschschutzeinstellung aktualisieren

Verwenden Sie den Befehl gcloud firestore databases update mit dem Flag --delete-protection, um den Löschschutz für eine Datenbank zu aktivieren. Beispiel:

gcloud-CLI
gcloud firestore databases update --database=DATABASE_ID --delete-protection

Ersetzen Sie DATABASE_ID durch eine Datenbank-ID.

Wenn Sie den Löschschutz für eine Datenbank deaktivieren möchten, verwenden Sie den Befehl gcloud firestore databases update mit dem Flag --no-delete-protection. Beispiel:

gcloud-CLI
gcloud firestore databases update --database=DATABASE_ID --no-delete-protection

Ersetzen Sie DATABASE_ID durch eine Datenbank-ID.

Datenbank löschen

Verwenden Sie zum Löschen einer Datenbank die Console oder das Befehlszeilentool. Für das Löschen einer Datenbank fallen keine Gebühren für Löschvorgänge an.

Wenn für die Datenbank der Löschschutz aktiviert ist, müssen Sie ihn zuerst deaktivieren.

Google Cloud console
  1. Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.

    Zur Seite „Datenbanken“

  2. Klicken Sie in der Spalte Aktionen für die Datenbank, die Sie löschen möchten, auf  Mehr anzeigen. Klicken Sie auf Löschen. Ein Dialogfeld wird angezeigt.
  3. Bestätigen Sie im Dialogfeld Datenbank löschen? den Löschvorgang, indem Sie die Datenbank-ID in das Textfeld eingeben. Klicken Sie auf Löschen. In der Console werden Sie über den Erfolg oder Misserfolg des Vorgangs informiert.

    Wenn der Vorgang fehlschlägt, rufen Sie die Datenbankdetails auf und prüfen Sie, ob der Löschschutz deaktiviert ist. Informationen zum Deaktivieren des Löschschutzes finden Sie unter Löschschutzeinstellung aktualisieren.

gcloud-CLI

Verwenden Sie den Befehl `gcloud firestore databases delete`.

gcloud firestore databases delete --database=DATABASE_ID

Ersetzen Sie DATABASE_ID durch die ID der zu löschenden Datenbank.

Datenbank klonen

Sie können eine vorhandene Datenbank zu einem ausgewählten Zeitstempel in eine neue Datenbank klonen:

  • Die geklonte Datenbank ist eine neue Datenbank, die am selben Speicherort wie die Quelldatenbank erstellt wird.

    Zum Erstellen eines Klons verwendet Firestore Daten zur Wiederherstellung zu einem bestimmten Zeitpunkt (PITR) der Quelldatenbank. Die geklonte Datenbank enthält alle Daten und Indexe.

  • Standardmäßig wird die geklonte Datenbank auf dieselbe Weise wie die Quelldatenbank verschlüsselt, entweder mit der Standardverschlüsselung von Google oder mit CMEK-Verschlüsselung. Sie können einen anderen Verschlüsselungstyp angeben oder einen anderen Schlüssel für die CMEK-Verschlüsselung verwenden.

  • Der Zeitstempel hat eine Granularität von einer Minute und gibt einen Zeitpunkt in der Vergangenheit an, im Zeitraum, der durch das PITR-Fenster definiert wird:

    • Wenn die Wiederherstellung zu einem bestimmten Zeitpunkt für Ihre Datenbank aktiviert ist, können Sie eine beliebige Minute in den letzten sieben Tagen auswählen (oder weniger, wenn die Wiederherstellung zu einem bestimmten Zeitpunkt vor weniger als sieben Tagen aktiviert wurde).
    • Wenn PITR nicht aktiviert ist, können Sie eine beliebige Minute in der letzten Stunde auswählen.
    • Den frühesten Zeitstempel, den Sie auswählen können, finden Sie in der Beschreibung Ihrer Datenbank.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.

    Zur Seite „Datenbanken“

  2. Klicken Sie in der Tabellenzeile für die Datenbank, die Sie klonen möchten, auf  Weitere Informationen. Klicken Sie auf Klonen. Das Dialogfeld Klon erstellen wird angezeigt.

  3. Geben Sie im Dialogfeld Klon erstellen Parameter zum Klonen der Datenbank an:

    1. Geben Sie im Feld Klon eine ID zuweisen eine Datenbank-ID für eine neue geklonte Datenbank ein. Diese Datenbank-ID darf nicht mit einer vorhandenen Datenbank verknüpft sein.

    2. Wählen Sie im Feld Klonen von einen Zeitpunkt für das Klonen aus. Die ausgewählte Zeit entspricht einem PITR-Zeitstempel mit einer Granularität von einer Minute.

  4. Klicken Sie auf Klon erstellen.

gcloud

Verwenden Sie den Befehl gcloud alpha firestore databases clone, um eine Datenbank zu klonen:

gcloud alpha firestore databases clone \
--source-database='SOURCE_DATABASE_ID' \
--snapshot-time='PITR_TIMESTAMP' \
--destination-database='DESTINATION_DATABASE_ID'

Ersetzen Sie Folgendes:

  • SOURCE_DATABASE_ID: Eine Datenbank-ID einer vorhandenen Datenbank, die Sie klonen möchten.

  • PITR_TIMESTAMP: ein PITR-Zeitstempel im RFC 3339-Format mit einer Granularität von einer Minute. Beispiel: 2025-06-01T10:20:00.00Z oder 2025-06-01T10:30:00.00-07:00.

  • DESTINATION_DATABASE_ID: Eine Datenbank-ID für eine neue geklonte Datenbank. Diese Datenbank-ID darf nicht mit einer vorhandenen Datenbank verknüpft sein.

Beispiel:

gcloud alpha firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='projects/example-project/databases/example-dest-db'

Verschlüsselungskonfiguration der geklonten Datenbank ändern

Standardmäßig hat die geklonte Datenbank dieselbe Verschlüsselungskonfiguration wie die Quelldatenbank. Verwenden Sie das Argument --encryption-type, um die Verschlüsselungskonfiguration zu ändern:

  • (Standard) use-source-encryption: dieselbe Verschlüsselungskonfiguration wie für die Quelldatenbank verwenden.
  • google-default-encryption: Verwenden Sie die Standardverschlüsselung von Google.
  • customer-managed-encryption: CMEK-Verschlüsselung verwenden. Geben Sie im Argument --kms-key-name eine Schlüssel-ID an.

Das folgende Beispiel zeigt, wie die CMEK-Verschlüsselung für die geklonte Datenbank konfiguriert wird:

gcloud alpha firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='projects/example-project/databases/example-dest-db' \
--encryption-type='customer-managed-encryption' \
--kms-key-name='projects/example-project/locations/us-central1/keyRings/example-key-ring/cryptoKeys/example-key'

Zugriffsberechtigungen für einzelne Datenbanken konfigurieren

Mit IAM-Bedingungen können Sie Zugriffsrechte auf Datenbankebene konfigurieren. In den folgenden Beispielen wird die Google Cloud CLI verwendet, um bedingten Zugriff für eine oder mehrere Datenbanken zuzuweisen. Sie können auch IAM-Bedingungen in der Google Cloud Console definieren.

Vorhandene IAM-Richtlinien ansehen

gcloud projects get-iam-policy PROJECT_ID

Legen Sie PROJECT_ID auf Ihre Projekt-ID fest.

Zugriff auf eine Datenbank gewähren

gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name=="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'

Legen Sie Folgendes fest:

  • PROJECT_ID: Ihre Projekt-ID.
  • EMAIL: eine E-Mail-Adresse, die für ein bestimmtes Konto steht. Beispiel: alice@example.com.
  • DATABASE_ID: eine Datenbank-ID.
  • TITLE: Ein optionaler Titel für den Ausdruck.
  • DESCRIPTION: eine optionale Beschreibung des Ausdrucks.

Zugriff auf alle Datenbanken außer einer gewähren

gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name!="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'

Legen Sie Folgendes fest:

  • PROJECT_ID: Ihre Projekt-ID.
  • EMAIL: eine E-Mail-Adresse, die für ein bestimmtes Konto steht. Beispiel: alice@example.com.
  • DATABASE_ID: eine Datenbank-ID.
  • TITLE: Ein optionaler Titel für den Ausdruck.
  • DESCRIPTION: eine optionale Beschreibung des Ausdrucks.

Richtlinien für ein bestimmtes Mitglied und eine bestimmte Rolle entfernen

gcloud projects remove-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' --all

Legen Sie Folgendes fest:

  • PROJECT_ID: Ihre Projekt-ID.
  • EMAIL: eine E-Mail-Adresse, die für ein bestimmtes Konto steht. Beispiel: alice@example.com.

Beschränkungen

Pro Projekt können maximal 100 Datenbanken verwendet werden. Sie können den Support kontaktieren, um eine Erhöhung dieses Limits zu beantragen.

Nächste Schritte