Ruvector Snapshot
Point-in-time snapshots and backup for Ruvector vector databases.
ruvector-snapshot provides efficient snapshot creation, storage, and restoration for Ruvector databases. Supports incremental snapshots, compression, and integrity verification. Part of the Ruvector ecosystem.
Why Ruvector Snapshot?
- Point-in-Time Recovery: Restore to any snapshot
- Incremental Snapshots: Only store changed data
- Compression: GZIP compression for storage efficiency
- Integrity Verification: SHA-256 checksums
- Async I/O: Non-blocking snapshot operations
Features
Core Capabilities
- Full Snapshots: Complete database backup
- Incremental Snapshots: Delta-based backups
- Compression: GZIP compression support
- Checksums: SHA-256 integrity verification
- Async Operations: Tokio-based async I/O
Advanced Features
- Snapshot Scheduling: Automated snapshot creation
- Retention Policies: Automatic cleanup of old snapshots
- Remote Storage: S3/GCS compatible storage (planned)
- Streaming Restore: Progressive restoration
- Parallel Processing: Multi-threaded snapshot creation
Installation
Add ruvector-snapshot to your Cargo.toml:
[]
= "0.1.1"
Quick Start
Create Snapshot
use ;
async
Restore from Snapshot
use SnapshotManager;
// List available snapshots
let snapshots = manager.list_snapshots.await?;
for snapshot in &snapshots
// Restore from snapshot
let restored_db = manager.restore_snapshot.await?;
println!;
Incremental Snapshots
use ;
// Create base snapshot
let base = manager.create_snapshot.await?;
// ... database modifications ...
// Create incremental snapshot
let incremental = manager.create_incremental_snapshot.await?;
println!;
API Overview
Core Types
// Snapshot configuration
// Snapshot metadata
// Snapshot types
Manager Operations
Snapshot Format
snapshot-{id}/
├── metadata.json # Snapshot metadata
├── vectors.bin.gz # Compressed vector data
├── index.bin.gz # HNSW index data
├── metadata.bin.gz # Vector metadata
└── checksum.sha256 # Integrity checksum
Related Crates
- ruvector-core - Core vector database engine
- ruvector-replication - Data replication
Documentation
- Main README - Complete project overview
- API Documentation - Full API reference
- GitHub Repository - Source code
License
MIT License - see LICENSE for details.