Overview
Qdrant is a high-performance vector database with a rich filtering API. VecLabs offers similar performance with added benefits: on-chain verification, 88% lower costs, and true data ownership. This guide maps Qdrant’s API to VecLabs and shows how to migrate your existing collections.Comparable Performance
1.9ms p50 vs ~4ms on Qdrant
Lower Costs
~25+ for 1M vectors
Decentralized
No single point of failure
Verifiable
Cryptographic proof on Solana
Quick Migration
Python
TypeScript
API Mapping
Client Initialization
| Qdrant | SolVec | Notes |
|---|---|---|
QdrantClient(url="...") | SolVec(wallet="...") | Replace cluster URL with wallet path |
api_key="..." | N/A | Authentication via Solana wallet |
prefer_grpc=True | N/A | VecLabs uses native Rust calls |
Collection Management
| Operation | Qdrant | SolVec |
|---|---|---|
| Create | client.create_collection(name, vectors_config=...) | sv.collection(name, dimensions=1536) |
| List | client.get_collections() | sv.list_collections() |
| Stats | client.get_collection(name) | collection.describe_index_stats() |
| Delete | client.delete_collection(name) | Not yet implemented |
Vector Operations
| Operation | Qdrant | SolVec |
|---|---|---|
| Insert | client.upsert(collection_name, points=[...]) | collection.upsert([...]) |
| Search | client.search(collection_name, query_vector=[...], limit=10) | collection.query(vector=[...], top_k=10) |
| Fetch | client.retrieve(collection_name, ids=[...]) | collection.fetch(ids=[...]) |
| Delete | client.delete(collection_name, points_selector=[...]) | collection.delete(ids=[...]) |
Key Differences
Data Types
Vector IDs
Metadata vs Payload
| Qdrant | SolVec |
|---|---|
payload={"key": "value"} | metadata={"key": "value"} |
| Supports filtering with operators | Basic filtering (alpha) |
| Nested JSON structures | Flat key-value pairs recommended |
Distance Metrics
| Qdrant | SolVec | Notes |
|---|---|---|
Distance.COSINE | metric="cosine" | Default in both |
Distance.EUCLID | metric="euclidean" | Supported |
Distance.DOT | metric="dot" | Supported |
Distance.MANHATTAN | Not supported | Use euclidean instead |
Complete Example: RAG System
Feature Comparison
Filtering
Qdrant has advanced filtering with operators:Advanced filtering (range queries, geo-filtering) is planned for VecLabs v1.0.
Batch Operations
Qdrant supports streaming uploads:Snapshots & Backups
| Feature | Qdrant | SolVec |
|---|---|---|
| Snapshots | client.create_snapshot() | Merkle root on Solana |
| Backups | Manual export/import | Shadow Drive (encrypted) |
| Point-in-time recovery | Via snapshots | Via on-chain transaction history |
Configuration Mapping
Distance Metrics
Collection Settings
| Setting | Qdrant | SolVec |
|---|---|---|
| Vector size | vectors_config.size | dimensions=1536 |
| Distance metric | distance=Distance.COSINE | metric="cosine" |
| On-disk payload | on_disk_payload=True | Shadow Drive (alpha) |
| Replication | replication_factor=3 | Solana validators (built-in) |
| Sharding | shard_number=4 | Not needed (decentralized) |
Performance Comparison
Benchmarked on M2 MacBook, 100K vectors, 384 dimensions:| Metric | Qdrant | VecLabs |
|---|---|---|
| p50 latency | ~4ms | 1.9ms (2.1x faster) |
| p95 latency | ~9ms | 2.8ms (3.2x faster) |
| p99 latency | ~15ms | 4.3ms (3.5x faster) |
| Monthly cost (1M vectors) | $25+ | $8 (68% cheaper) |
| Filtering overhead | +2-5ms | +1ms (basic) |
- Rust core (no GC pauses)
- HNSW graph in memory
- Optimized for read-heavy workloads
Migration Checklist
What’s Not Supported (Yet)
| Qdrant Feature | Status | Planned |
|---|---|---|
| Advanced filtering (range, geo) | Not supported | v1.0 |
| Named vectors (multi-vector per point) | Not supported | v1.2 |
| Recommendations API | Not supported | v1.1 |
| Quantization | Not supported | v1.3 |
| Sparse vectors | Not supported | Considering |
New Capabilities in VecLabs
On-Chain Verification
Qdrant requires trusting their infrastructure. VecLabs provides cryptographic proof:Wallet-Based Ownership
Your vectors are encrypted with your Solana wallet key:Need Help?
Discord Community
Ask questions in #migration-help
Migration Script
Automated Qdrant → SolVec migration tool
API Reference
Full SolVec API documentation
Benchmarks
Detailed performance comparisons
Next Steps
Optimize for Production
Learn best practices for deploying SolVec to mainnet