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 importDocumentsroles/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.