Collection Snapshots
Collection snapshots capture the complete state of a collection including vectors, payloads, indexes, and configuration.Creating Collection Snapshots
- REST API
- Python
- gRPC
Synchronous vs Asynchronous
By default, snapshot creation is synchronous. For large collections, use async mode:Listing Snapshots
Downloading Snapshots
Deleting Snapshots
Snapshot Recovery
Upload and Recover
Upload a snapshot file and automatically recover the collection:Recover from URL
Recover from a remote snapshot location:Recovery with Priority
Control recovery behavior:snapshot- Prioritize snapshot data, prefer using the snapshot for recoveryreplica- Prioritize existing replicas, use snapshot only if replicas unavailableno_sync- Skip post-recovery synchronization
Shard Snapshots
For distributed deployments, you can create snapshots at the shard level.Creating Shard Snapshots
Listing Shard Snapshots
Downloading Shard Snapshots
Direct Shard Snapshot Streaming
Stream a shard snapshot directly:Shard Snapshot Recovery
Upload and recover a shard:Partial Snapshots
Partial snapshots enable incremental backups and recoveries, transferring only changed data.Creating Partial Snapshots
Recovering from Partial Snapshots
Recover from Peer
Recover using partial snapshot from another peer:- Gets the partial snapshot manifest from the local shard
- Requests a partial snapshot from the peer with the manifest
- Receives only the differences
- Applies changes to the local shard
Partial Snapshot Manifest
Get the current partial snapshot manifest:S3 Integration
Qdrant supports storing snapshots directly in S3.Configuring S3 Storage
config/config.yaml
Recovering from S3
Storage Snapshots
Full storage snapshots capture the entire Qdrant instance.Creating Full Snapshots
Listing Full Snapshots
Downloading Full Snapshots
Deleting Full Snapshots
Snapshot Monitoring
Monitor snapshot operations via metrics:snapshot_creation_running- Number of active snapshot creationssnapshot_recovery_running- Number of active recoveriessnapshot_created_total- Total snapshots created
Best Practices
Use Checksums
Always verify snapshot integrity with SHA-256 checksums during uploads and recovery.
Async for Large Collections
Use
wait=false for collections with millions of vectors to avoid timeouts.Partial for Incremental
Use partial snapshots for frequent backups to reduce transfer size and time.
S3 for Durability
Store production snapshots in S3 or similar object storage for durability and disaster recovery.
Configuration
Snapshot Paths
config/config.yaml
Storage Backend
config/config.yaml
Troubleshooting
Snapshot Creation Hangs
- Use async mode:
?wait=false - Check disk space in
snapshots_path - Verify no ongoing optimization tasks blocking resources
Recovery Fails
- Verify checksum matches
- Check Qdrant version compatibility
- Ensure sufficient disk space in
storage_path - Review logs for detailed error messages
Checksum Mismatch
Empty Partial Snapshot
When recovering from a peer, if the response isNOT_MODIFIED (304), the replica is already up to date.
Advanced Usage
Custom Snapshot Names
Snapshots are automatically named with timestamps:Cross-Version Recovery
Snapshots are forward-compatible within major versions. For major version upgrades, consult migration documentation.Concurrent Operations
Multiple snapshot operations can run concurrently:- Different collections can snapshot simultaneously
- Snapshot creation doesn’t block searches or updates
- Recovery operations are serialized per collection