Skip to main content

What is Qdrant?

Qdrant is an open-source, high-performance vector database and similarity search engine designed to store and search high-dimensional data, such as embeddings from AI models. Built in Rust for speed and reliability, it allows applications to perform “semantic search”—finding items based on their meaning rather than just keywords. It is widely used for building AI agents, recommendation systems, and Retrieval-Augmented Generation (RAG) because it can efficiently handle billions of vectors while offering advanced filtering based on additional metadata (payloads)

Key Features

  • Rust-Powered Engine: High-performance vector similarity search built for speed and memory safety
  • Filtered HNSW: Unique combination of vector search and metadata filtering for precise results
  • High Availability: Distributed deployment with automatic sharding and replication across nodes
  • Multimodal Support: Simultaneous storage and search of dense, sparse, and multi-vector embeddings
  • Agentic Memory: Real-time upserts and long-term storage designed for AI agent state management
  • Advanced Quantization: 1.5-bit, 2-bit, and 4-bit options to reduce memory footprint by up to 97%

Use Cases

  • Finding visually similar products or identifying duplicate images in a large database using computer vision embeddings.
  • Providing long-term memory for AI agents so they can recall past interactions and maintain continuity across multiple sessions.
  • Building RAG pipelines that retrieve specific, relevant facts to help LLMs generate more accurate and grounded responses.
  • Powering semantic search engines that understand the user’s intent and context rather than just matching exact keywords.

Getting Started

  1. Go to Vector Database Service in your dashboard
  2. Select Qdrant as your desired type of database
  3. Engine Version have to be choosed from available options.
  4. Give Connection Name ,choose friendly connection name (e.g. staging-db) .
  5. Create Database User with appropriate privledges.
  6. Password for Database User to keep it secure.
  7. Give Default Database/Schema name to connect to.
  8. Pick a region to deploy your database instance.
Qdrant Instance Creation - vector database ##Connection Examples

Node js

const { QdrantClient } = require('@qdrant/js-client-rest');

// Basic connection (local)
const client = new QdrantClient({
  url: 'http://localhost:6333'
});

// Connection with API key (cloud/production)
const clientWithAuth = new QdrantClient({
  url: process.env.QDRANT_URL,
  apiKey: process.env.QDRANT_API_KEY,
});

// Test connection
async function testConnection() {
  try {
    const result = await client.getCollections();
    console.log('Connected successfully:', result);
  } catch (error) {
    console.error('Connection failed:', error);
  }
}

testConnection();

Python

import os
from qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams, PointStruct

# Initialize client
client = QdrantClient(
    url=os.getenv("QDRANT_URL", "http://localhost:6333"),
    api_key=os.getenv("QDRANT_API_KEY"),
)

# Create a collection
client.create_collection(
    collection_name="my_collection",
    vectors_config=VectorParams(size=384, distance=Distance.COSINE),
)
print("Collection created")

# Insert vectors
client.upsert(
    collection_name="my_collection",
    points=[
        PointStruct(id=1, vector=[0.1] * 384, payload={"name": "item1"}),
        PointStruct(id=2, vector=[0.2] * 384, payload={"name": "item2"}),
    ]
)
print("Vectors inserted")

# Search similar vectors
results = client.search(
    collection_name="my_collection",
    query_vector=[0.15] * 384,
    limit=5
)
print("Search results:", results)

Scaling

  • Vertical Scaling: Increase CPU and memory
  • Horizontal Scaling: Add read replicas
  • Storage: Automatic storage scaling

Security

  • SSL/TLS: Encrypted connections required
  • VPC Integration: Private network connectivity
  • IP Whitelisting: Restrict access by IP
  • Authentication: Username/password auth

Backups

  • Automatic Backups: Daily at scheduled time
  • Manual Backups: On-demand backups

Monitoring

Track database performance with:
  • Query Performance: Slow query identification
  • Storage: Disk usage and growth trends
  • CPU & Memory: Resource utilization

Create Qdrant Database

Get started with Qdrant vector databases