Google Cloud Firestore

Commvault protects Google Cloud Firestore NoSQL document databases by exporting collections and composite indexes to a Google Cloud Storage bucket. Backups support full database protection and granular per-collection protection, with index metadata preserved for restore operations.

What's supported

Google Cloud Firestore requirements

Commvault supports Google Cloud Firestore API v1. The workload has been tested with the Firestore REST API documented at https://firebase.google.com/docs/reference/rest/firestore/.

The service account used for backup and restore operations requires the following permissions:

  • roles/datastore.importExportAdmin - Grants exportDocuments and importDocuments
  • roles/storage.objectAdmin - Grants read/write on the GCS backup bucket

Supported resources and data

Each Commvault instance represents a GCP project in a specific region. Within each instance, you can protect one or more Firestore databases. Each subclient backs up multiple databases within the same GCP project and region.

The hierarchy is organized as follows:

  • Instance (GCP Project + Region) → Database → Collection

Top-level collections are displayed in the browse tree. Sub-collections are included automatically by the Firestore export API but are not shown individually in the UI.

Backup and restore capabilities

Capability Details
Full backups Supported for all Firestore databases. Exports all selected collections and composite indexes to Google Cloud Storage.
Incremental backups Supported only for MongoDB-compatible Firestore databases. Requires change streams configured on each collection. If the last successful backup is older than 7 days, the job automatically converts to a full backup. Non-MongoDB-compatible databases support full backups only.
Granular backups All backups are granular by default. One export operation is performed per collection, allowing per-collection restore granularity.
Content scoping Backup content can be scoped by specifying collection names or using the special value "ALL" to discover all collections. Tag-based discovery is supported to automatically include or exclude collections matching GCP resource tag criteria.
Restore in place Supported. Restores collection data and composite indexes to the same Firestore database.
Restore out of place Supported. Restores to a different GCP project or database. The target database must be pre-created.
Restore method Upsert (create if not exists, update if exists). Firestore importDocuments overwrites existing documents with the same document ID.

Data flow and storage

Commvault orchestrates backups directly from Google Cloud Firestore to Commvault Air Gap Protect storage on Google Cloud Storage. Firestore exports collection data and metadata to the designated GCS bucket, and the access node manages the export operation, index metadata capture, and job orchestration. The access node does not transfer bulk data; Firestore writes directly to the storage destination.

What isn't supported

  • Sub-collections are not displayed individually in the browse tree during restore. They are included automatically by the Firestore export API.

  • Point-in-time restore to a specific timestamp is not supported.

  • Incremental backups are not supported for non-MongoDB-compatible Firestore databases.

Limitations

  • Cross-database restore requires the target database to be pre-created in the destination GCP project. The workload does not create Firestore databases.

  • The backup GCS bucket must exist before backup. The workload does not create GCS buckets.

  • For incremental backups, each collection included in the backup must have a change stream pre-configured. The backup job verifies stream availability and fails if any collection is missing a change stream.

  • Incremental backup window is capped at 7 days. If the last successful backup start time is older than 7 days, the job automatically converts to a full backup.

  • It is recommended to configure a separate plan for mongoCompatible databases & non-Mongo Compatible databases.

×

Loading...