Qdrant - Vector Database
Snapshots: Backups & Recovery
A colleague accidentally ran a deletion script against 'test' - and deleted production. No backups. Recovering 50 million vectors took 18 hours. Snapshots are your insurance against scenarios like this.
- **Pre-migration backup:** snapshot before upgrading Qdrant or changing collection parameters - rollback in minutes instead of hours
- **Hourly S3 backups:** an automated cron job creates a snapshot every hour, uploads it to S3, and enforces a retention policy
- **Staging refresh:** daily production snapshot → load to staging for testing with real data without any risk
Предварительные знания
What is a snapshot and when to use it
A **snapshot** in Qdrant is a consistent point-in-time copy of a collection (or the entire instance), saved as a `.snapshot` file. Snapshots use a copy-on-write mechanism: creation takes seconds regardless of collection size. Qdrant supports two types: - **Collection snapshot** - a snapshot of a specific collection: vectors + payload + indexes - **Full snapshot** - a snapshot of the entire instance: all collections simultaneously When to use snapshots: - **Before migration** - upgrading Qdrant, changing collection parameters - **Disaster recovery** - periodic backups to S3/GCS - **Data copying** - moving a collection between instances - **Testing** - snapshot production data for staging
**File format:** `.snapshot` is a tar archive with Qdrant's internal structure. The file cannot be opened as a regular archive to inspect the data - it is designed exclusively for restoration via the Qdrant API. **Size** of a snapshot roughly equals the on-disk size of the collection data (uncompressed). Collection snapshots are stored in `/qdrant/snapshots/{collection_name}/`, full snapshots in `/qdrant/snapshots/`.