Skip to main content

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 ClusterIP networks (:6333 HTTP, :6334 gRPC). 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​

  1. Navigate to Database Services (DBaaS) in the OMC Portal.
  2. Click Create Database Cluster and select Qdrant Vector DB.
  3. Specify your cluster name, tenant namespace, CPU/memory limits, and Ceph NVMe storage allocation (default: 10 GiB).
  4. 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​

ParameterSpecification
EngineQdrant Vector Database (qdrant/qdrant:latest)
LanguageRust
PersistenceCeph RBD Block Volume (ceph-rbd StorageClass)
Network ExposurePrivate ClusterIP (TCP 6333 HTTP, TCP 6334 gRPC)
Public RoutingNone (Zero-Trust isolated)
AuthenticationAPI Key stored in OpenStack Barbican KMS
Distance MetricsCosine, Dot Product, Euclidean, Manhattan
Index TypesHNSW (Hierarchical Navigable Small World) with on-disk payload