Managed Qdrant Vector Database
Okustera Managed Qdrant delivers ultra-fast, high-dimensional vector similarity search and document indexing for Retrieval-Augmented Generation (RAG), semantic search, and AI recommendation engines.
Deployed as container-native Kubernetes StatefulSets backed by Ceph RBD NVMe storage, Okustera Qdrant instances combine Rust performance with zero-trust tenant network isolation and automated API key escrow via OpenStack Barbican KMS.
Architectural Highlights
Key Capabilities
- On-Disk NVMe Vectors & Payloads: Payloads and vector indices are persisted to NVMe block volumes (
QDRANT__STORAGE__ON_DISK_PAYLOAD: "true"), keeping memory footprint under 400 MB per instance while maintaining sub-15ms search latencies. - Scalar Quantization: Compresses 32-bit floating-point embeddings (FP32) into 8-bit integers (INT8), reducing RAM consumption by up to 90% with less than 1% precision loss.
- Native Hybrid Search (Dense + Sparse BM25): Supports dense neural embeddings combined with sparse BM25 keyword vectors in a single retrieval query for superior ranking accuracy.
- Payload Metadata Pre-Filtering: Filters vectors directly during HNSW graph traversal based on metadata tags (
tenant_id,document_type, timestamps) rather than filtering after retrieval. - Zero-Trust Private Access: Vector clusters are provisioned strictly on private internal
ClusterIPnetworks (:6333HTTP,:6334gRPC). Public subdomains (qdrant.okustera.com) are eliminated, guaranteeing vectors and proprietary embeddings never traverse public ingress routes. - Barbican KMS Key Escrow: 32-character high-entropy API keys are automatically generated, stored securely in OpenStack Barbican KMS, and injected into the container environment.
Provisioning via OMC Portal & REST API
Portal Cloud Console
- Navigate to Database Services (DBaaS) in the OMC Portal.
- Click Create Database Cluster and select Qdrant Vector DB.
- Specify your cluster name, tenant namespace, CPU/memory limits, and Ceph NVMe storage allocation (default: 10 GiB).
- Click Create Cluster. The cluster endpoint (
http://api_key:****@qdrant-<name>.<namespace>.svc.cluster.local:6333) and Barbican API key will be displayed with one-click copy.
REST API Example
curl -X POST "https://portal.opencloud.local/api/v1/dbaas/qdrant" \
-H "Authorization: Bearer ${OKUSTERA_API_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "enterprise-rag-kb",
"namespace": "default",
"storage_size": "20Gi",
"cpu_limit": "2",
"memory_limit": "4Gi"
}'
Connecting from Python (qdrant-client)
To query your private Qdrant cluster from an application pod running in the same Kubernetes cluster or over WireGuard VPN:
import os
from qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams, PointStruct
# Connect via private internal ClusterIP service
client = QdrantClient(
url="http://qdrant-enterprise-rag-kb.default.svc.cluster.local:6333",
api_key=os.environ.get("QDRANT_API_KEY"),
)
collection_name = "knowledge_base"
# Create a collection with cosine distance metric
if not client.collection_exists(collection_name):
client.create_collection(
collection_name=collection_name,
vectors_config=VectorParams(size=1536, distance=Distance.COSINE),
)
# Upsert sample embedding points
client.upsert(
collection_name=collection_name,
points=[
PointStruct(
id=1,
vector=[0.05] * 1536,
payload={"source": "sovereign_cloud_spec.pdf", "tenant_id": "acme-corp"},
)
],
)
# Perform similarity search with metadata pre-filtering
results = client.search(
collection_name=collection_name,
query_vector=[0.05] * 1536,
limit=5,
)
for hit in results:
print(f"Point ID: {hit.id}, Score: {hit.score}, Payload: {hit.payload}")
Connecting via cURL / REST API
Within the tenant private network:
# Verify cluster health
curl -s -H "api-key: ${QDRANT_API_KEY}" \
http://qdrant-enterprise-rag-kb.default.svc.cluster.local:6333/readyz
# List all collections
curl -s -H "api-key: ${QDRANT_API_KEY}" \
http://qdrant-enterprise-rag-kb.default.svc.cluster.local:6333/collections
Technical Specifications
| Parameter | Specification |
|---|---|
| Engine | Qdrant Vector Database (qdrant/qdrant:latest) |
| Language | Rust |
| Persistence | Ceph RBD Block Volume (ceph-rbd StorageClass) |
| Network Exposure | Private ClusterIP (TCP 6333 HTTP, TCP 6334 gRPC) |
| Public Routing | None (Zero-Trust isolated) |
| Authentication | API Key stored in OpenStack Barbican KMS |
| Distance Metrics | Cosine, Dot Product, Euclidean, Manhattan |
| Index Types | HNSW (Hierarchical Navigable Small World) with on-disk payload |