Vector Databases & Memory Stores Arena
Qdrant vs Milvus
Qdrant
Qdrant Solutions GmbH
Qdrant wins · 17–13 (20 drawn)
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
Agent access
ai-native userPoint an agent at llms.txt or agent-oriented docs
weight 2 · round to MilvusA live probe confirms Qdrant serves an llms.txt file with an overview summary at qdrant.tech/llms.txt (HTTP 200), and Qdrant also ships agent-oriented skills/docs for AI coding assistants via GitHub. Missing for 10: no per-page markdown export (docs-md probe 404s) and no independent confirmation of how thoroughly agents actually consume/parse the llms.txt in practice.
- [probe] “PROBE llms.txt: HTTP 200 at https://qdrant.tech/llms.txt # https://qdrant.tech/ ## Overall Summary > Qdrant is an Open-Source Vector Search …”
- [github] “Install these skills to empower your agent in making critical engineering decisions for optimal vector search performance, such as quantizat…”
- [github] “Qdrant provides a collection of ready-to-use agent skills that bring Qdrant's vector search capabilities directly into your AI coding assist…”
A probe confirms Milvus hosts a working llms.txt at https://milvus.io/llms.txt (HTTP 200) with a proper agent-oriented summary, directly satisfying the story of pointing an agent at llms.txt. Missing for 10: no independent/community corroboration of agents actually consuming this file in practice.
- [probe] “PROBE llms.txt: HTTP 200 at https://milvus.io/llms.txt # Milvus > Milvus is an open-source, high-performance vector database designed for s…”
ai-native userRun the product headlessly / in CI for automation
weight 2 · round to MilvusQdrant runs headlessly via Docker with a REST/gRPC API and client SDKs, and is designed as a server process amenable to CI/scripted use (docker run, Python client create_collection, etc.), with community reports of production automation at scale. However, there is no explicit documentation or example of running Qdrant inside a CI pipeline, no headless test-harness or CI recipe, and no discussion of ephemeral/CI-specific configuration. missing for 10: explicit CI/automation guide or example, headless test-mode documentation, independent confirmation of CI usage.
- [claimed-docs] “docker run -p 6333:6333 -p 6334:6334 \ -v "$(pwd)/qdrant_storage:/qdrant/storage:z" \ qdrant/qdrant”
- [claimed-docs] “client.create_collection( collection_name="test_collection", vectors_config=VectorParams(size=4, distance=Distance.DOT), )”
- [claimed-docs] “docker run -p 6333:6333 -p 6334:6334 -v "$(pwd)/qdrant_storage:/qdrant/storage:z" qdrant/qdrant”
- [github] “Qdrant offers the following client libraries to help you integrate it into your application stack”
- [community] “We've been using Qdrant for over a year with 10s of millions of items, lots of daily inserts/deletions. A couple of gotchas but generally pr…”
- [community] “We've been using qdrant in production for over a year. It's excellent and the team are very responsive to the few issues we've had. Qdrant d…”
Milvus is API/SDK-driven (pymilvus MilvusClient) and documented to run identically as Milvus Lite, Standalone in Docker, or Distributed on Kubernetes with the same client code, which is inherently headless and scriptable for CI/automation pipelines. Missing for 10: explicit CI/CD pipeline examples, GitHub Actions/test automation docs, or independent reports confirming headless CI usage in practice.
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [github] “This installs `pymilvus`, the Python SDK for Milvus. Use `MilvusClient` to create a client”
- [github] “res = client.search( collection_name="demo_collection", # target collection data=query_vectors, # a list of one or more query vect…”
- [claimed-docs] “from pymilvus import MilvusClient client = MilvusClient("milvus_demo.db")”
ai-native userConnect an agent via an official MCP server
weight 3 · round drawnQdrant is a database/platform (not itself an agent), so an official MCP server axis applies, and evidence shows a documented official MCP server page plus GitHub-listed agent skills that integrate Qdrant's vector search into AI coding assistants. missing for 10: deeper first-party docs detailing MCP server setup/config and independent hands-on confirmation of the MCP server working.
- [probe] “official MCP server documented at https://qdrant.tech/documentation/qdrant-mcp-server/”
- [github] “Install these skills to empower your agent in making critical engineering decisions for optimal vector search performance, such as quantizat…”
- [github] “Qdrant provides a collection of ready-to-use agent skills that bring Qdrant's vector search capabilities directly into your AI coding assist…”
Milvus documents an official MCP server integration tutorial (milvus_and_mcp.md) and a dedicated repo (zilliztech/mcp-server-milvus) allowing AI agents to perform vector search, manage collections, and retrieve data via natural language commands. Missing for 10: independent hands-on validation of the MCP server in production and details on maintenance/versioning of the mcp-server-milvus repo.
- [claimed-docs] “allowing AI applications to perform vector searches, manage collections, and retrieve data using natural language commands—without writing c…”
- [claimed-docs] “allowing AI applications to perform vector searches, manage collections, and retrieve data using natural language commands—without writing c…”
- [claimed-docs] “This tutorial walks you through setting up an MCP server for Milvus, allowing AI applications to perform vector searches, manage collections…”
- [probe] “official MCP server documented at https://github.com/zilliztech/mcp-server-milvus”
ai-native userUse an official CLI
weight 2 · round drawnQdrantnone0/10The evidence pack shows client libraries in multiple languages, Docker deployment, and agent skills for IDEs, but no mention of an official Qdrant CLI tool for AI-native workflows. This axis is plausible for a database product (e.g. a qdrant-cli for managing collections/points) but no such tool is evidenced.
Milvusnone0/10The evidence pack shows Python SDK usage (pymilvus/MilvusClient), MCP server integration, and Milvus Lite, but nowhere describes an official standalone CLI tool for interacting with Milvus. missing for 10: any mention of a dedicated Milvus CLI, its command set, installation, or documentation.
ai-native userDrive the product through a documented public API
weight 3 · round drawnQdrant is fundamentally an API-first product: it exposes a documented REST/gRPC API with official client libraries in Python, JS/TS, Go, Rust, Java, .NET, and quickstart docs show programmatic collection creation, search, filtering, and hybrid queries, all consumable by an AI agent. missing for 10: a publicly discoverable OpenAPI/swagger spec (probe found all candidate OpenAPI paths 404) and independent hands-on confirmation specifically of API completeness/stability beyond general community praise for core functionality.
- [github] “It provides a production-ready service with a convenient API to store, search, and manage points—vectors with an additional payload.”
- [github] “Qdrant offers the following client libraries to help you integrate it into your application stack”
- [github] “Go client ... Rust client ... JavaScript/TypeScript client ... Python client ... .NET/C# client ... Java client”
- [claimed-docs] “client.create_collection( collection_name="test_collection", vectors_config=VectorParams(size=4, distance=Distance.DOT), )”
- [claimed-docs] “docker run -p 6333:6333 -p 6334:6334 \ -v "$(pwd)/qdrant_storage:/qdrant/storage:z" \ qdrant/qdrant”
- [probe] “PROBE openapi: all candidate paths 404 (https://qdrant.tech/openapi.json, https://qdrant.tech/swagger.json, https://qdrant.tech/api/openapi.…”
- [community] “After testing numerous open source vector databases, Qdrant is the best option: docs are clear, easy to build from source in Rust (~30 min),…”
Milvus ships a documented public API via pymilvus SDK (MilvusClient) with clear docs for search, filtering, multi-vector, RBAC, and collection management, plus a Python SDK and REST/gRPC access implied by client libraries; an official MCP server further exposes this API for natural-language/agentic driving. Missing for 10: a discoverable OpenAPI/swagger spec (probe found only 404s) and independent hands-on confirmation of API stability/versioning.
- [claimed-docs] “To create a local Milvus vector database, simply instantiate a `MilvusClient` by specifying a file name to store all data”
- [github] “This installs `pymilvus`, the Python SDK for Milvus. Use `MilvusClient` to create a client”
- [github] “res = client.search( collection_name="demo_collection", # target collection data=query_vectors, # a list of one or more query vect…”
- [claimed-docs] “allowing AI applications to perform vector searches, manage collections, and retrieve data using natural language commands—without writing c…”
- [claimed-docs] “This tutorial walks you through setting up an MCP server for Milvus, allowing AI applications to perform vector searches, manage collections…”
- [probe] “official MCP server documented at https://github.com/zilliztech/mcp-server-milvus”
- [probe] “PROBE openapi: all candidate paths 404 (https://milvus.io/openapi.json, https://milvus.io/swagger.json, https://milvus.io/api/openapi.json, …”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · round to QdrantQdrant docs explicitly describe three API key tiers—Admin, Read-Only, and Granular Access API Keys with per-collection read/write scoping—enabling least-privilege credential issuance for agents accessing specific collections. This is documented first-party functionality directly matching the story, though there's no independent/hands-on corroboration or agent-specific tutorial. Missing for 10: independent verification of granular API key behavior in practice, and explicit agent-oriented documentation tying this to agentic workflows.
- [claimed-docs] “Qdrant supports three types of API key: **Admin API Key**... **Read-Only API Key**... **Granular Access API Keys**”
- [claimed-docs] “Qdrant supports API key authentication (including read-only API keys for query-only consumers and granular access API keys with per-collecti…”
- [claimed-docs] “Qdrant supports API key authentication ... network binding, TLS for encrypted connections, and audit logging for compliance.”
Milvus documents RBAC that lets admins finely control operations at the collection, database, and instance level, which is the underlying mechanism needed to create least-privilege credentials that could be handed to an agent. However, there is no documented workflow for issuing scoped API keys/tokens specifically for AI agents, no mention of short-lived or agent-specific credential issuance, and the MCP server integration docs don't describe any credential-scoping step. Missing for 10: agent-specific credential/token issuance workflow, examples of scoping RBAC roles to an agent's MCP session, and any independent verification that RBAC-scoped keys are used in agentic contexts.
- [claimed-docs] “With RBAC, you can finely control the operations users can perform at the collection, database, and instance levels, enhancing data security”
- [claimed-docs] “With RBAC, you can finely control the operations users can perform at the collection, database, and instance levels, enhancing data security…”
- [claimed-docs] “This tutorial walks you through setting up an MCP server for Milvus, allowing AI applications to perform vector searches, manage collections…”
- [probe] “official MCP server documented at https://github.com/zilliztech/mcp-server-milvus”
ai-native userBuild against official SDKs
weight 2 · round to MilvusQdrant provides official client SDKs across many languages (Python, Go, Rust, JS/TS, .NET/C#, Java) with documented usage examples (create_collection code sample), plus community corroboration of smooth onboarding with the Python client. Missing for 10: independent benchmarking of SDK completeness/parity across languages and more first-party API reference docs beyond quickstart snippets.
- [github] “Qdrant offers the following client libraries to help you integrate it into your application stack”
- [github] “Go client ... Rust client ... JavaScript/TypeScript client ... Python client ... .NET/C# client ... Java client”
- [claimed-docs] “client.create_collection( collection_name="test_collection", vectors_config=VectorParams(size=4, distance=Distance.DOT), )”
- [community] “Just played with qdrant using its Python client. Pretty smooth onboarding experience, though having to generate embeddings client-side rathe…”
- [community] “After testing numerous open source vector databases, Qdrant is the best option: docs are clear, easy to build from source in Rust (~30 min),…”
Milvus provides official SDKs (PyMilvus/MilvusClient) with documented client code for both Milvus Lite and full deployments, consistent APIs across scale, and community/hands-on corroboration of SDK usage (search, insert, collection management). Missing for 10: broader multi-language SDK evidence (e.g., Java/Go/Node official SDK docs) beyond Python.
- [claimed-docs] “To create a local Milvus vector database, simply instantiate a `MilvusClient` by specifying a file name to store all data”
- [github] “This installs `pymilvus`, the Python SDK for Milvus. Use `MilvusClient` to create a client”
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
- [github] “res = client.search( collection_name="demo_collection", # target collection data=query_vectors, # a list of one or more query vect…”
- [community] “I recently used Milvus for the first time - it made sense because it was quick to implement, purpose built, and worked exactly as intended.”
ai-native userSubscribe to events via webhooks
weight 2 · round drawnQdrantnone0/10No evidence anywhere in the pack of webhook subscriptions, event notifications, or pub/sub-style triggers from Qdrant; the product's evidence covers storage, search, deployment, security, and clients but nothing about event-driven webhook subscriptions.
Agentic features
ai-native userGet AI-generated insights and suggestions from my data inside the product
weight 2 · round drawnQdrantnone0/10Qdrant is positioned as a vector search infrastructure/database with client libraries, deployment, and security features, but the evidence pack contains no mention of any built-in AI-generated insights, analytics, or suggestion features surfaced to users inside the product itself.
Milvusnone0/10Milvus documentation shows it as a vector search/database engine with MCP-based natural-language query access, but there is no evidence of Milvus itself generating insights, summaries, or suggestions from stored data — it only enables external AI apps to query it, not to produce insights inside the product.
- [claimed-docs] “allowing AI applications to perform vector searches, manage collections, and retrieve data using natural language commands—without writing c…”
- [claimed-docs] “allowing AI applications to perform vector searches, manage collections, and retrieve data using natural language commands—without writing c…”
- [claimed-docs] “This tutorial walks you through setting up an MCP server for Milvus, allowing AI applications to perform vector searches, manage collections…”
- [probe] “official MCP server documented at https://github.com/zilliztech/mcp-server-milvus”
ai-native userDelegate tasks to a built-in AI assistant inside the product
weight 3 · round drawnQdrantnone0/10Evidence shows only external integrations (agent skills for coding assistants, an MCP server for external agents to query Qdrant) but no built-in AI assistant embedded within the Qdrant product itself that a user could delegate tasks to.
- [github] “Install these skills to empower your agent in making critical engineering decisions for optimal vector search performance, such as quantizat…”
- [github] “Qdrant provides a collection of ready-to-use agent skills that bring Qdrant's vector search capabilities directly into your AI coding assist…”
- [probe] “official MCP server documented at https://qdrant.tech/documentation/qdrant-mcp-server/”
Milvusnone0/10The evidence shows Milvus exposes an MCP server so external AI agents can query it, but this is the reverse of the story — there is no evidence of a built-in AI assistant inside Milvus itself that a user can delegate tasks to.
- [claimed-docs] “allowing AI applications to perform vector searches, manage collections, and retrieve data using natural language commands—without writing c…”
- [claimed-docs] “This tutorial walks you through setting up an MCP server for Milvus, allowing AI applications to perform vector searches, manage collections…”
- [probe] “official MCP server documented at https://github.com/zilliztech/mcp-server-milvus”
ai-native userOperate the product with natural-language commands
weight 2 · round to MilvusQdrant ships an official MCP server (qdrant-mcp-server) and 'agent skills' for AI coding assistants that expose its vector-search operations (quantization, sharding, hybrid search, etc.) for agentic use, which lets an AI agent translate natural-language requests into Qdrant operations. However, there is no first-party natural-language query interface, no documented examples of end-to-end NL command usage, and no independent/hands-on evidence validating this workflow. missing for 10: direct NL-command examples/docs, hands-on validation of the MCP server or agent skills in use, and any built-in NL query capability outside of agent-mediated tool calls.
- [probe] “official MCP server documented at https://qdrant.tech/documentation/qdrant-mcp-server/”
- [github] “Install these skills to empower your agent in making critical engineering decisions for optimal vector search performance, such as quantizat…”
- [github] “Qdrant provides a collection of ready-to-use agent skills that bring Qdrant's vector search capabilities directly into your AI coding assist…”
Milvus documents an official MCP server integration that lets AI applications perform vector search, manage collections, and retrieve data via natural-language commands without writing queries, and this MCP server is corroborated by a separate GitHub repo (zilliztech/mcp-server-milvus). However, this NL capability is delivered through a bolt-on MCP layer rather than a built-in Milvus interface, and there is no independent/hands-on evidence validating real-world reliability of the NL command translation. Missing for 10: independent/hands-on validation of the MCP-based NL commands, and native (non-MCP) NL support within core Milvus.
- [claimed-docs] “allowing AI applications to perform vector searches, manage collections, and retrieve data using natural language commands—without writing c…”
- [claimed-docs] “allowing AI applications to perform vector searches, manage collections, and retrieve data using natural language commands—without writing c…”
- [claimed-docs] “This tutorial walks you through setting up an MCP server for Milvus, allowing AI applications to perform vector searches, manage collections…”
- [probe] “official MCP server documented at https://github.com/zilliztech/mcp-server-milvus”
Api quality
ai-native userExplore an interactive API reference with runnable examples
weight 2 · round drawnQdrantnone0/10The evidence pack shows no interactive API reference with runnable examples; a probe explicitly found no OpenAPI/Swagger spec at any candidate URL, and no docs mention runnable code snippets or an API playground. Docs only show static code blocks (docker run, Python client calls) rather than an interactive reference tool.
- [probe] “PROBE openapi: all candidate paths 404 (https://qdrant.tech/openapi.json, https://qdrant.tech/swagger.json, https://qdrant.tech/api/openapi.…”
- [claimed-docs] “client.create_collection( collection_name="test_collection", vectors_config=VectorParams(size=4, distance=Distance.DOT), )”
- [claimed-docs] “docker run -p 6333:6333 -p 6334:6334 \ -v "$(pwd)/qdrant_storage:/qdrant/storage:z" \ qdrant/qdrant”
Milvusnone0/10There is no evidence of an interactive API reference (e.g., Swagger/OpenAPI explorer, runnable code sandbox) — the openapi probe explicitly returned 404s at all candidate paths, and documentation consists of static markdown code snippets rather than an interactive, runnable reference. Docs show code examples (milvus-docs-22, milvus-gh-3) but nothing interactive or executable in-browser.
- [probe] “PROBE openapi: all candidate paths 404 (https://milvus.io/openapi.json, https://milvus.io/swagger.json, https://milvus.io/api/openapi.json, …”
- [claimed-docs] “from pymilvus import MilvusClient client = MilvusClient("milvus_demo.db")”
- [github] “res = client.search( collection_name="demo_collection", # target collection data=query_vectors, # a list of one or more query vect…”
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round drawnQdrantnone0/10No evidence of a downloadable OpenAPI/machine-readable spec; direct probes for openapi.json/swagger.json paths all returned 404, and no doc page references an API spec download for Qdrant's REST/gRPC API.
Milvusnone0/10The evidence pack shows explicit probes for an OpenAPI/swagger spec on Milvus's site returning 404 for all candidate paths, and no documentation snippet references a downloadable machine-readable API spec (Milvus docs focus on SDK usage, MCP server, RBAC, multi-tenancy, etc.). No evidence of a published OpenAPI file or equivalent machine-readable spec.
- [probe] “PROBE openapi: all candidate paths 404 (https://milvus.io/openapi.json, https://milvus.io/swagger.json, https://milvus.io/api/openapi.json, …”
ai-native userTest against a sandbox environment without touching production data
weight 1 · round to MilvusQdrant can be run entirely locally via Docker with local storage, and community evidence highlights an easy in-memory 'sqlite-like' mode ideal for POC/testing separate from production data. There's also a free cloud tier for trying things out without payment. However, there's no first-party documented 'sandbox environment' feature, staging/test-mode toggle, or explicit guidance on isolating test vs prod within the same deployment. Missing for 10: dedicated sandbox/staging environment docs, first-party guidance on test-vs-prod data isolation, independent corroboration of safe sandbox testing workflow.
- [claimed-docs] “docker run -p 6333:6333 -p 6334:6334 \ -v "$(pwd)/qdrant_storage:/qdrant/storage:z" \ qdrant/qdrant”
- [community] “One of the big advantages of Qdrant is how easy it is to do a POC because it allows an 'in-memory' version similar to sqlite. Milvus by comp…”
- [claimed-docs] “No token limits ... No payment method required”
Milvus Lite lets users spin up a local, file-based Milvus instance (e.g. `MilvusClient("milvus_demo.db")`) with the same client API as Standalone/Distributed production deployments, enabling prototyping and testing entirely separate from production data (milvus-docs-1, milvus-docs-8, milvus-docs-17, milvus-docs-19, milvus-gh-1). This is explicitly positioned for quick prototyping in Jupyter notebooks/edge devices before scaling to production. Missing for 10: no explicit 'sandbox' terminology or guidance on safely testing against a shared non-prod environment (e.g. staging cluster), and no independent/community confirmation of this specific workflow.
- [claimed-docs] “To create a local Milvus vector database, simply instantiate a `MilvusClient` by specifying a file name to store all data”
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
- [claimed-docs] “Milvus Lite is a Python library that can be easily integrated into your applications. As a lightweight version of Milvus, it’s ideal for qui…”
- [claimed-docs] “from pymilvus import MilvusClient client = MilvusClient("milvus_demo.db")”
- [github] “This installs `pymilvus`, the Python SDK for Milvus. Use `MilvusClient` to create a client”
ai-native userRely on versioned APIs with a documented deprecation policy
weight 2 · round drawnQdrantnone0/10No evidence of a documented API versioning scheme or deprecation policy; probes for OpenAPI spec returned 404s and no docs mention version support/deprecation guarantees.
Milvusnone0/10No evidence pack item documents API versioning practices or a deprecation policy for Milvus's SDKs/APIs; the OpenAPI probe returned 404s and no versioning/deprecation docs are cited, so this applicable axis is unmet. missing for 10: documented API versioning scheme, explicit deprecation policy, changelog/migration guides for breaking changes.
- [probe] “PROBE openapi: all candidate paths 404 (https://milvus.io/openapi.json, https://milvus.io/swagger.json, https://milvus.io/api/openapi.json, …”
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
ai-native userPerform bulk operations across many items at once
weight 2 · round to MilvusEvidence doesn't cite Qdrant's batch upsert/delete/query APIs directly, but community reports of production use with '10s of millions of items, lots of daily inserts/deletions' imply bulk operations are supported at scale, and the client SDK docs show programmatic point/collection management that would underlie bulk workflows. missing for 10: explicit documentation of batch upsert/delete/query endpoints, bulk import tooling, and performance/throughput benchmarks for large-batch operations.
- [community] “We've been using Qdrant for over a year with 10s of millions of items, lots of daily inserts/deletions. A couple of gotchas but generally pr…”
- [claimed-docs] “client.create_collection( collection_name="test_collection", vectors_config=VectorParams(size=4, distance=Distance.DOT), )”
- [github] “Go client ... Rust client ... JavaScript/TypeScript client ... Python client ... .NET/C# client ... Java client”
Evidence shows batch support for search (client.search accepts a list of query vectors) and scale claims for billions of vectors, indicating operations designed for bulk workloads, but there is no direct documentation of bulk insert/delete/update APIs or a dedicated bulk-import tool in the pack. missing for 10: explicit bulk insert/delete/update API docs, bulk-import tool documentation, independent benchmark of bulk throughput.
- [github] “res = client.search( collection_name="demo_collection", # target collection data=query_vectors, # a list of one or more query vect…”
- [claimed-docs] “In 2022, Milvus supported billion-scale vectors, and in 2023, it scaled up to tens of billions with consistent stability”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
- [community] “Milvus allows appending vectors, stored across multiple file slices; when a slice hits a threshold, Milvus builds the index for it and new d…”
ai-native userDefine rules that trigger actions automatically on events
weight 3 · round drawnQdrantnone0/10No evidence in the pack shows Qdrant supporting rule-based automation or event-triggered actions (e.g., webhooks, alerts, triggers on data changes); documentation covers hybrid search, filtering, sharding, snapshots, and security only.
Milvusnone0/10The evidence pack covers Milvus's vector search, indexing, multi-tenancy, RBAC, and MCP integration for natural-language queries, but there is no mention of any rule/trigger system that automatically fires actions on data or system events (e.g., triggers, webhooks, event subscriptions). Missing for 10: any documentation of event-driven triggers, webhook/callback mechanisms, or rule-based automation tied to database events.
ai-native userVersion, review, and roll back my automations
weight 1 · round drawnQdrantnone0/10The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)
Data lifecycle — stories about data lifecycle in this arenaData lifecycle
Stories about data lifecycle in this arena
Backup
platform-engineerBack up collections with snapshots and restore them
weight 2 · round to QdrantQdrant docs explicitly document snapshots as tar archives capturing collection data/config at a point in time, per-node, which is the mechanism for backup and restore of collections; this is a first-party documented feature (qdrant-docs-6/21). Missing for 10: no independent/hands-on community confirmation of snapshot restore workflows or edge-case reliability.
- [claimed-docs] “Snapshots are `tar` archive files that contain data and configuration of a specific collection on a specific node at a specific time.”
- [claimed-docs] “Snapshots are tar archive files that contain data and configuration of a specific collection on a specific node at a specific time.”
Freshness
developerUpsert and delete records continuously and have changes reflected in search results quickly, with documented freshness/consistency behavior
weight 2 · round to QdrantCommunity evidence confirms Qdrant handles continuous high-volume inserts/deletions reliably in production (qdrant-comm-1, qdrant-comm-5), and docs describe distributed deployment and snapshots, but the evidence pack lacks explicit documentation of freshness/consistency semantics (e.g., read-after-write guarantees, consistency levels, replication ordering) for upserts/deletes. missing for 10: documented consistency/freshness guarantees (e.g., write-ahead log, replication consistency modes, read-your-writes semantics), benchmarks on update-to-search latency.
- [community] “We've been using Qdrant for over a year with 10s of millions of items, lots of daily inserts/deletions. A couple of gotchas but generally pr…”
- [community] “We've been using qdrant in production for over a year. It's excellent and the team are very responsive to the few issues we've had. Qdrant d…”
- [claimed-docs] “Qdrant supports a distributed deployment mode. In this mode, multiple Qdrant services communicate with each other to distribute the data acr…”
- [claimed-docs] “Qdrant supports a distributed deployment mode. In this mode, multiple Qdrant services communicate with each other to distribute the data acr…”
Milvusnone0/10Evidence only vaguely mentions 'vector CRUD operations' as a supported feature (milvus-docs-17) but contains no documentation of consistency levels, freshness guarantees, or how quickly upserts/deletes are reflected in search results. The only concrete signal on this topic is a dated community report noting that deletion was 'not yet supported' at the time and that newly inserted vectors are queried via brute force until indexed (milvus-comm-2, milvus-comm-3), which is not corroborating current documented behavior. No first-party consistency-model documentation (e.g., strong/bounded/eventual consistency levels) is present in the pack.
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
- [community] “Milvus allows appending vectors, stored across multiple file slices; when a slice hits a threshold, Milvus builds the index for it and new d…”
- [community] “From reading the docs, newly inserted vectors seem to be queried using brute force until indexed - an interesting design, but insertion docs…”
Portability
developerBulk-import and bulk-export vectors plus metadata in documented formats
weight 2 · round to QdrantQdrant's snapshot feature (tar archives containing full collection data and config) provides a documented mechanism for exporting and re-importing vectors plus metadata at the collection level, and batch upsert APIs are implied by the client SDK docs. However, there is no evidence of a dedicated bulk import/export tool or documented interchange formats (e.g., CSV/JSON/Parquet import, mass export API) beyond the snapshot archive mechanism. Missing for 10: documented bulk import/export CLI or API distinct from full-collection snapshots, support for common interchange formats, and independent confirmation of round-trip fidelity for large-scale migrations.
- [claimed-docs] “Snapshots are `tar` archive files that contain data and configuration of a specific collection on a specific node at a specific time.”
- [claimed-docs] “Snapshots are tar archive files that contain data and configuration of a specific collection on a specific node at a specific time.”
- [claimed-docs] “client.create_collection( collection_name="test_collection", vectors_config=VectorParams(size=4, distance=Distance.DOT), )”
Milvusnone0/10The evidence pack covers Milvus's search, multi-tenancy, RBAC, MCP integration, and deployment modes, but contains no documentation or mention of bulk-import/bulk-export tooling, supported file formats (e.g., Parquet/JSON/NumPy), or a bulkinsert API/CLI for moving vectors plus metadata in and out of Milvus. Missing for 10: bulk-import API/CLI documentation, supported import/export file formats, evidence of export functionality, any hands-on or community confirmation of bulk data lifecycle operations.
Deployment modes — stories about deployment modes in this arenaDeployment modes
Stories about deployment modes in this arena
Local dev
developerRun the database embedded in-process or as a lightweight local instance for development and small workloads
weight 2 · round to MilvusQdrant ships both a lightweight local Docker instance for dev (qdrant-docs-1/16) and 'Qdrant Edge', an explicitly embedded, in-process, no-network-required engine for kiosks/mobile/robots (qdrant-docs-10/14), and community reports confirm an easy in-memory/sqlite-like POC mode for local development (qdrant-comm-4). Missing for 10: independent hands-on validation of Qdrant Edge specifically (it's a newer offering) and explicit documentation of the Python client's embedded ':memory:' mode in the evidence pack.
- [claimed-docs] “docker run -p 6333:6333 -p 6334:6334 \ -v "$(pwd)/qdrant_storage:/qdrant/storage:z" \ qdrant/qdrant”
- [claimed-docs] “Qdrant Edge is a lightweight, embedded vector search engine for in-process retrieval — no background services, minimal memory footprint, and…”
- [claimed-docs] “Qdrant Edge is a lightweight, embedded vector search engine for in-process retrieval — no background services, minimal memory footprint, and…”
- [community] “One of the big advantages of Qdrant is how easy it is to do a POC because it allows an 'in-memory' version similar to sqlite. Milvus by comp…”
Milvus Lite provides an embedded, file-based local instance instantiated via a single MilvusClient("file.db") call, sharing the same API/client code as Standalone/Distributed and covering most core features (CRUD, search, filtering, hybrid search), explicitly targeted at laptops/Jupyter notebooks for prototyping. Community mentions corroborate real-world lightweight usage. Missing for 10: independent hands-on benchmarking or confirmation of Milvus Lite's limitations/edge cases beyond vendor docs.
- [claimed-docs] “To create a local Milvus vector database, simply instantiate a `MilvusClient` by specifying a file name to store all data”
- [claimed-docs] “from pymilvus import MilvusClient client = MilvusClient("milvus_demo.db")”
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
- [claimed-docs] “Milvus Lite is a Python library that can be easily integrated into your applications. As a lightweight version of Milvus, it’s ideal for qui…”
- [github] “This installs `pymilvus`, the Python SDK for Milvus. Use `MilvusClient` to create a client”
- [community] “I recently used Milvus for the first time - it made sense because it was quick to implement, purpose built, and worked exactly as intended.”
Managed cloud
developerUse a fully managed cloud version of the database with programmatic provisioning
weight 2 · round to QdrantEvidence only mentions Qdrant Cloud tangentially (free tier, no credit card, docs mention 'cloud-hosted embedding models') and Private Cloud on Kubernetes, but there is no documentation of programmatic provisioning (API/Terraform/CLI to create managed clusters) for the fully managed cloud offering. missing for 10: dedicated Qdrant Cloud docs, Cloud API/Terraform provider or CLI for programmatic cluster creation, independent confirmation of managed cloud provisioning workflow.
- [claimed-docs] “No token limits ... No payment method required”
- [claimed-docs] “Configure dense, sparse, and multi-vector embeddings. Use cloud-hosted embedding models directly with Qdrant.”
- [claimed-docs] “Qdrant Private Cloud allows you to manage Qdrant database clusters in any Kubernetes cluster on any infrastructure.”
- [community] “I like their pricing page and business model: Apache-2.0 license, free tier with a free forever 1GB cluster for trying out, no credit card r…”
Milvusnone0/10The evidence pack documents only self-hosted deployment modes (Milvus Lite, Standalone, Distributed/Kubernetes) and open-source SDK usage; a fully managed cloud offering (Zilliz Cloud) is only obliquely referenced in a community complaint about being pushed toward 'their Zilliz SaaS', with no documentation of programmatic provisioning (API/Terraform/CLI cluster creation) for any managed cloud tier. missing for 10: first-party docs on a managed cloud product, API/CLI/Terraform provisioning workflow, evidence of automated cluster lifecycle management.
- [community] “We regularly do tens of thousands of QPS on pgvector fine on massive data stores. We dropped Milvus after they started trying to force their…”
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
Self managed
platform-engineerDeploy to production on Kubernetes with an official Helm chart or operator
weight 1 · round to QdrantDocs mention 'Qdrant Private Cloud allows you to manage Qdrant database clusters in any Kubernetes cluster on any infrastructure' and generic 'Deploy Qdrant on any infrastructure' guidance, implying Kubernetes-native deployment tooling, but the evidence never explicitly names a Helm chart or a Kubernetes operator. missing for 10: explicit documentation of an official Helm chart, explicit mention of a Kubernetes operator/CRDs, and independent confirmation of production use via these tools.
- [claimed-docs] “Qdrant Private Cloud allows you to manage Qdrant database clusters in any Kubernetes cluster on any infrastructure.”
- [claimed-docs] “Deploy Qdrant on any infrastructure. Get requirements, configuration options, and GPU setup guides.”
Milvusnone0/10Evidence only shows that Milvus Distributed can run 'on massive scale Kubernetes cluster' (milvus-docs-8/20), but there is no mention of an official Helm chart, Kubernetes Operator, or any production K8s deployment tooling/documentation. Missing for 10: evidence of an official Helm chart, a Kubernetes Operator (e.g. milvus-operator), and production deployment guides referencing them.
Embeddings pipeline — stories about embeddings pipeline in this arenaEmbeddings pipeline
Stories about embeddings pipeline in this arena
Embeddings
ml-engineerHave the database generate embeddings at ingest and query time using built-in or configured model providers, instead of running a separate embedding pipeline
weight 3 · round to MilvusQdrantdisputedcontradicted4/10Qdrant's docs claim built-in support for 'cloud-hosted embedding models directly with Qdrant' and configurable dense/sparse/multi-vector embeddings (qdrant-docs-9), suggesting some inference-at-ingest capability. However, a hands-on community report explicitly contradicts this, noting embeddings had to be generated client-side rather than in the DB, which 'felt somewhat besides the point' (qdrant-comm-8) — indicating the built-in embedding generation is either limited, add-on (e.g. FastEmbed/Inference API), or not as seamless as marketed. Missing for 10: first-party documentation walkthrough of configuring a model provider for automatic ingest+query-time embedding, and corroborating hands-on evidence that this actually works end-to-end without a separate pipeline.
- [claimed-docs] “Configure dense, sparse, and multi-vector embeddings. Use cloud-hosted embedding models directly with Qdrant.”
- [community] “Just played with qdrant using its Python client. Pretty smooth onboarding experience, though having to generate embeddings client-side rathe…”
Evidence shows Milvus can auto-generate sparse embeddings from raw text for full-text search (BM25-style) without manual embedding generation, but there is no evidence of built-in dense embedding generation via configured model providers (e.g., OpenAI, HuggingFace) at both ingest and query time, which is the core of the story. missing for 10: documentation of configurable embedding model providers/functions for dense embeddings, evidence of embedding generation at both ingest and query time beyond sparse/full-text search, independent confirmation of this workflow in practice.
- [claimed-docs] “it simplifies vector searches by accepting raw text input, automatically converting your text data into sparse embeddings without the need t…”
- [claimed-docs] “it simplifies vector searches by accepting raw text input, automatically converting your text data into sparse embeddings without the need t…”
Filtering metadata — stories about filtering metadata in this arenaFiltering metadata
Stories about filtering metadata in this arena
Filtering
developerFilter vector search by structured metadata conditions without wrecking recall or latency
weight 3 · round to MilvusQdrant docs confirm rich structured payload filtering with AND/OR/NOT clauses and payload-based tenant partitioning, which is designed to be efficient at scale, but there is no direct benchmark or evidence quantifying recall/latency impact when filters are applied (e.g., filterable HNSW index behavior under heavy filtering). Community comments praise general speed/accuracy but don't specifically address filtered-search recall/latency tradeoffs. missing for 10: benchmark data or documentation showing filtered search maintains recall/latency (e.g., filterable index/payload indexing performance), independent corroboration of filter performance at scale.
- [claimed-docs] “Qdrant allows you to combine conditions in clauses. Clauses are different logical operations, such as `OR`, `AND`, and `NOT`.”
- [claimed-docs] “Qdrant allows you to combine conditions in clauses. Clauses are different logical operations, such as OR, AND, and NOT.”
- [claimed-docs] “Partition by payload filters points by a payload field that identifies the tenant. This is efficient for a large number of small, similarly-…”
- [claimed-docs] “keep all tenants in a single collection and use one of these three approaches to isolate them: Partition by payload”
- [community] “We've been using Qdrant for over a year with 10s of millions of items, lots of daily inserts/deletions. A couple of gotchas but generally pr…”
- [community] “I've been using Qdrant. Can't speak highly enough of the core functionality. It's fast, good accuracy, easy to use. Wish finding/updating po…”
Milvus docs explicitly describe pre-filtering: filtering conditions are applied before the ANN search so the search scope is reduced to matching entities, and Milvus Lite confirms metadata filtering is a supported feature across deployment modes. This directly matches the story of combining structured filters with vector search without a separate post-filter step. missing for 10: independent benchmarks or community evidence quantifying recall/latency impact of filtered search, and documentation detail on filter expression complexity/performance trade-offs.
- [claimed-docs] “You can include filtering conditions in a search request so that Milvus conducts metadata filtering before conducting ANN searches, reducing…”
- [claimed-docs] “You can include filtering conditions in a search request so that Milvus conducts metadata filtering before conducting ANN searches, reducing…”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
developerExpress rich filter conditions (ranges, geo, nested boolean logic, array membership) in queries
weight 2 · round drawnDocs confirm Qdrant filtering supports combining conditions with boolean clauses (AND/OR/NOT) for nested logic, but the evidence pack contains no explicit documentation of range filters, geo filters, or array/membership conditions. missing for 10: range condition docs, geo filter docs, array/membership match docs, independent corroboration of these specific filter types.
- [claimed-docs] “Qdrant allows you to combine conditions in clauses. Clauses are different logical operations, such as `OR`, `AND`, and `NOT`.”
- [claimed-docs] “Qdrant allows you to combine conditions in clauses. Clauses are different logical operations, such as OR, AND, and NOT.”
Docs confirm Milvus supports metadata filtering conditions in search/query requests (scalar filtering reduces search scope), but the evidence pack never details the specific expression capabilities like range operators, geo-spatial predicates, nested boolean logic, or array membership operators. missing for 10: explicit examples of range queries, geo-spatial filters, nested AND/OR/NOT boolean expressions, and array 'contains'/'in' membership filters.
- [claimed-docs] “You can include filtering conditions in a search request so that Milvus conducts metadata filtering before conducting ANN searches, reducing…”
- [claimed-docs] “You can include filtering conditions in a search request so that Milvus conducts metadata filtering before conducting ANN searches, reducing…”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
Multi tenancy scale — stories about multi tenancy scale in this arenaMulti tenancy scale
Stories about multi tenancy scale in this arena
Scaling
platform-engineerScale beyond one node with sharding or distributed deployment
weight 2 · round drawnQdrant documents native distributed deployment mode that shards and distributes data across peers, plus sharding-adjacent multi-tenant partitioning strategies and Kubernetes-based Private Cloud clusters for horizontal scale, with community reports confirming production use at tens of millions of items. Missing for 10: independent benchmarks of multi-node cluster performance/failover behavior and more detailed hands-on validation of resharding/rebalancing at scale.
- [claimed-docs] “Qdrant supports a distributed deployment mode. In this mode, multiple Qdrant services communicate with each other to distribute the data acr…”
- [claimed-docs] “Qdrant supports a distributed deployment mode. In this mode, multiple Qdrant services communicate with each other to distribute the data acr…”
- [claimed-docs] “keep all tenants in a single collection and use one of these three approaches to isolate them”
- [claimed-docs] “Partition by payload filters points by a payload field that identifies the tenant. This is efficient for a large number of small, similarly-…”
- [claimed-docs] “Qdrant Private Cloud allows you to manage Qdrant database clusters in any Kubernetes cluster on any infrastructure.”
- [community] “We've been using Qdrant for over a year with 10s of millions of items, lots of daily inserts/deletions. A couple of gotchas but generally pr…”
- [community] “We've been using qdrant in production for over a year. It's excellent and the team are very responsive to the few issues we've had. Qdrant d…”
Docs explicitly describe Milvus Distributed running on Kubernetes clusters serving billions of vectors, with the same client API as Standalone/Lite, and community evidence corroborates real-world use at billion-scale/thousands of QPS. missing for 10: detailed sharding architecture/query-node scaling docs and independent hands-on verification of distributed cluster setup steps.
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “In 2022, Milvus supported billion-scale vectors, and in 2023, it scaled up to tens of billions with consistent stability”
- [claimed-docs] “In 2022, Milvus supported billion-scale vectors, and in 2023, it scaled up to tens of billions with consistent stability, powering large-sca…”
- [community] “For people who run thousands of QPS on billions of vectors, Milvus is a solid choice... I've seen many builders migrate from pgvector to Mil…”
- [community] “pgVector is great and so is FAISS, but those are just a subset of what you get from Milvus - if you want hybrid search, different IVF varian…”
- [github] “Milvus also supports Standalone mode for single machine deployment.”
platform-engineerReplicate data across nodes or zones for high availability with a documented consistency model
weight 2 · round to QdrantQdrant documents distributed deployment across peers, replication via snapshots, and cluster consistency mechanisms (raft-based), and supports multi-region/Kubernetes deployment for HA; community reports confirm production use at scale. However, the evidence pack lacks explicit documentation of the consistency model (e.g., read/write consistency levels, tunable quorum) or zone-aware replication guarantees. Missing for 10: explicit consistency-model documentation (read/write consistency factors, quorum tuning), zone-awareness/multi-AZ replication guidance, and independent verification of failover behavior under partition.
- [claimed-docs] “Qdrant supports a distributed deployment mode. In this mode, multiple Qdrant services communicate with each other to distribute the data acr…”
- [claimed-docs] “Qdrant supports a distributed deployment mode. In this mode, multiple Qdrant services communicate with each other to distribute the data acr…”
- [claimed-docs] “Snapshots are `tar` archive files that contain data and configuration of a specific collection on a specific node at a specific time.”
- [claimed-docs] “Snapshots are tar archive files that contain data and configuration of a specific collection on a specific node at a specific time.”
- [claimed-docs] “Qdrant Private Cloud allows you to manage Qdrant database clusters in any Kubernetes cluster on any infrastructure.”
- [community] “We've been using Qdrant for over a year with 10s of millions of items, lots of daily inserts/deletions. A couple of gotchas but generally pr…”
- [community] “We've been using qdrant in production for over a year. It's excellent and the team are very responsive to the few issues we've had. Qdrant d…”
Milvusnone0/10The evidence pack covers multi-tenancy isolation strategies and RBAC, but contains no mention of cross-node/zone replication, replica configuration, or a documented consistency model (e.g., strong/bounded staleness/eventual) that Milvus is known to offer elsewhere. Since this axis clearly applies to a distributed vector database, absence of evidence yields 'none'.
- [claimed-docs] “Milvus supports four multi-tenancy strategies, each offering a different trade-off between scalability, data isolation, and flexibility”
- [claimed-docs] “In 2022, Milvus supported billion-scale vectors, and in 2023, it scaled up to tens of billions with consistent stability”
Tenancy
platform-engineerEnforce granular access control (API keys, roles, per-collection permissions) on database operations
weight 2 · round to QdrantQdrant's docs explicitly describe Admin, Read-Only, and Granular Access API keys with per-collection read/write scoping, plus network binding, TLS, and audit logging for compliance — directly matching the platform-engineer story of API keys, roles, and per-collection permissions. Missing for 10: no independent/hands-on corroboration of the granular access controls in practice, and no mention of finer role-based (RBAC) features beyond key-based scoping.
- [claimed-docs] “Qdrant supports three types of API key: **Admin API Key**... **Read-Only API Key**... **Granular Access API Keys**”
- [claimed-docs] “Qdrant supports API key authentication ... network binding, TLS for encrypted connections, and audit logging for compliance.”
- [claimed-docs] “Qdrant supports API key authentication (including read-only API keys for query-only consumers and granular access API keys with per-collecti…”
Milvus docs explicitly describe RBAC that lets admins control operations at the collection, database, and instance levels, and separately document four multi-tenancy isolation strategies for tenant/collection separation, directly matching the story's ask for granular per-collection/role access control. Missing for 10: explicit documentation of API-key-based auth mechanics, and independent/hands-on community verification that RBAC/multi-tenancy works as described in production.
- [claimed-docs] “With RBAC, you can finely control the operations users can perform at the collection, database, and instance levels, enhancing data security”
- [claimed-docs] “With RBAC, you can finely control the operations users can perform at the collection, database, and instance levels, enhancing data security…”
- [claimed-docs] “Milvus supports four multi-tenancy strategies, each offering a different trade-off between scalability, data isolation, and flexibility”
- [claimed-docs] “Milvus supports four multi-tenancy strategies, each offering a different trade-off between scalability, data isolation, and flexibility.”
platform-engineerIsolate many tenants cheaply using namespaces, partitions, or per-tenant collections with documented limits
weight 3 · round to QdrantQdrant's official multi-tenancy guide explicitly documents three isolation strategies (payload-based partitioning within a single collection, per-tenant collections, per-tenant clusters) with tradeoff guidance for cheaply isolating many small tenants, backed by payload filtering and granular per-collection API keys for access control. Missing for 10: concrete quantified limits (max tenants per collection/cluster, resource overhead numbers) and independent/hands-on benchmarks specifically validating tenant-isolation scale claims.
- [claimed-docs] “keep all tenants in a single collection and use one of these three approaches to isolate them”
- [claimed-docs] “Partition by payload filters points by a payload field that identifies the tenant. This is efficient for a large number of small, similarly-…”
- [claimed-docs] “keep all tenants in a single collection and use one of these three approaches to isolate them: Partition by payload”
- [claimed-docs] “Qdrant allows you to combine conditions in clauses. Clauses are different logical operations, such as OR, AND, and NOT.”
- [claimed-docs] “Qdrant supports three types of API key: **Admin API Key**... **Read-Only API Key**... **Granular Access API Keys**”
- [claimed-docs] “Qdrant supports API key authentication (including read-only API keys for query-only consumers and granular access API keys with per-collecti…”
Milvus documents four distinct multi-tenancy strategies (databases, collections, partitions, partition-key based) with tradeoffs on scalability/isolation/flexibility, and RBAC for fine-grained per-collection/database/instance access control, directly supporting tenant isolation patterns. However, the evidence pack lacks documented hard limits/quotas per tenant strategy (e.g., max collections/partitions per cluster, resource-cost guidance) or independent validation of cost-efficiency at scale for many tenants. Missing for 10: explicit documented numeric limits per strategy, cost/resource benchmarks for many-tenant scenarios, and independent/hands-on confirmation of isolation guarantees at scale.
- [claimed-docs] “Milvus supports four multi-tenancy strategies, each offering a different trade-off between scalability, data isolation, and flexibility”
- [claimed-docs] “Milvus supports four multi-tenancy strategies, each offering a different trade-off between scalability, data isolation, and flexibility.”
- [claimed-docs] “With RBAC, you can finely control the operations users can perform at the collection, database, and instance levels, enhancing data security”
- [claimed-docs] “With RBAC, you can finely control the operations users can perform at the collection, database, and instance levels, enhancing data security…”
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
ai-native userDo everything through the API that I can do in the UI
weight 2 · round to MilvusQdrant's architecture is fundamentally API-first (REST/gRPC API with clients in Python, JS, Go, Rust, etc.) and the Web UI is described by users as a secondary, weaker component ('UI could be better'), implying the UI is a thin layer over the same API rather than exposing exclusive functionality. However, there is no explicit documentation asserting full UI/API parity, and no OpenAPI spec was found publicly (probe returned 404s), making it hard to verify completeness. Missing for 10: explicit parity statement/documentation, a discoverable OpenAPI/swagger spec confirming full API surface, and any independent audit of UI-only features.
- [github] “It provides a production-ready service with a convenient API to store, search, and manage points—vectors with an additional payload.”
- [github] “Go client ... Rust client ... JavaScript/TypeScript client ... Python client ... .NET/C# client ... Java client”
- [community] “I've been using Qdrant. Can't speak highly enough of the core functionality. It's fast, good accuracy, easy to use. Wish finding/updating po…”
- [probe] “PROBE openapi: all candidate paths 404 (https://qdrant.tech/openapi.json, https://qdrant.tech/swagger.json, https://qdrant.tech/api/openapi.…”
Milvus is fundamentally API/SDK-first (PyMilvus/MilvusClient), with no distinct GUI that offers capabilities beyond the API — all core operations (collection management, CRUD, ANN search, filtering, multi-vector, RBAC, multi-tenancy) are documented as API/SDK operations, and Milvus Lite/Standalone/Distributed share the same client-side API surface. missing for 10: no explicit comparison against the Attu GUI to confirm 1:1 parity, and no published OpenAPI/REST spec (probe shows 404s) confirming a fully documented REST surface alongside the SDK.
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
- [claimed-docs] “from pymilvus import MilvusClient client = MilvusClient("milvus_demo.db")”
- [github] “This installs `pymilvus`, the Python SDK for Milvus. Use `MilvusClient` to create a client”
- [github] “res = client.search( collection_name="demo_collection", # target collection data=query_vectors, # a list of one or more query vect…”
- [probe] “PROBE openapi: all candidate paths 404 (https://milvus.io/openapi.json, https://milvus.io/swagger.json, https://milvus.io/api/openapi.json, …”
ai-native userExport all of my data in open formats and leave
weight 3 · round to QdrantQdrant is Apache-2.0 open-source and self-hostable, with local on-disk storage you fully control and a snapshot mechanism to export a collection's full data/config as a tar archive for backup or migration (qdrant-docs-6/21), plus client libraries to scroll/retrieve all points programmatically (qdrant-gh-1/3). However, snapshots are a Qdrant-proprietary archive format rather than a standard open interchange format (CSV/JSON/Parquet), and there is no documented dedicated 'export to open format' feature or tooling for full data extraction into vendor-neutral formats. Missing for 10: explicit documented export-to-standard-format capability (e.g., JSON/Parquet dump), and independent confirmation that full data+vectors can be cleanly extracted and reloaded elsewhere.
- [claimed-docs] “Snapshots are `tar` archive files that contain data and configuration of a specific collection on a specific node at a specific time.”
- [claimed-docs] “Snapshots are tar archive files that contain data and configuration of a specific collection on a specific node at a specific time.”
- [community] “I like their pricing page and business model: Apache-2.0 license, free tier with a free forever 1GB cluster for trying out, no credit card r…”
- [github] “Qdrant offers the following client libraries to help you integrate it into your application stack”
- [github] “Go client ... Rust client ... JavaScript/TypeScript client ... Python client ... .NET/C# client ... Java client”
Milvus is fully open-source and self-hostable, and Milvus Lite stores all data in a single local file (e.g. milvus_demo.db) that the user directly controls, which implies inherent data portability without vendor lock-in. However, the evidence pack contains no explicit documentation of a bulk export/backup feature or supported open export formats (e.g. Parquet, JSON dump, migration tooling) for standalone/distributed deployments. Missing for 10: explicit export/backup documentation, supported open data formats for bulk export, and any hands-on confirmation that a user can fully extract and leave with their data.
- [claimed-docs] “To create a local Milvus vector database, simply instantiate a `MilvusClient` by specifying a file name to store all data”
- [claimed-docs] “from pymilvus import MilvusClient client = MilvusClient("milvus_demo.db")”
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [github] “Milvus also supports Standalone mode for single machine deployment.”
ai-native userRead the product's source under an open license
weight 2 · round to QdrantQdrant's source is hosted publicly on GitHub and is released under the Apache-2.0 license, confirmed both by community commentary and the public repo evidence; independent hands-on report even describes building it from source in ~30 minutes. Missing for 10: no explicit first-party LICENSE file citation or CONTRIBUTING/governance docs in the pack, and no direct docs page restating the license.
- [github] “Qdrant offers the following client libraries to help you integrate it into your application stack”
- [github] “Go client ... Rust client ... JavaScript/TypeScript client ... Python client ... .NET/C# client ... Java client”
- [community] “I like their pricing page and business model: Apache-2.0 license, free tier with a free forever 1GB cluster for trying out, no credit card r…”
- [community] “After testing numerous open source vector databases, Qdrant is the best option: docs are clear, easy to build from source in Rust (~30 min),…”
Milvus is repeatedly described as an 'open-source vector database' in its own docs, and its source code is publicly hosted on GitHub (milvus-io/milvus), which the evidence cites directly for code snippets and installation instructions. This confirms the source is readable and publicly available under an open-source model. Missing for 10: explicit license name/badge (e.g., Apache-2.0) in the evidence, and independent third-party confirmation of licensing terms.
- [claimed-docs] “Milvus is an open-source vector database that suits AI applications of every size from running a demo chatbot in Jupyter notebook to buildin…”
- [github] “This installs `pymilvus`, the Python SDK for Milvus. Use `MilvusClient` to create a client”
- [github] “Milvus also supports Standalone mode for single machine deployment.”
- [github] “res = client.search( collection_name="demo_collection", # target collection data=query_vectors, # a list of one or more query vect…”
- [probe] “PROBE llms.txt: HTTP 200 at https://milvus.io/llms.txt # Milvus > Milvus is an open-source, high-performance vector database designed for s…”
ai-native userSelf-host the core product
weight 3 · round drawnQdrant is Apache-2.0 licensed and provides clear self-hosting instructions via Docker, with support for distributed deployment, snapshots, security controls, and deployment on any infrastructure including Kubernetes; community reports confirm production self-hosting at scale and ease of building from source. missing for 10: no independent audit of self-hosted feature parity with cloud offering.
- [claimed-docs] “docker run -p 6333:6333 -p 6334:6334 \ -v "$(pwd)/qdrant_storage:/qdrant/storage:z" \ qdrant/qdrant”
- [claimed-docs] “Qdrant supports a distributed deployment mode. In this mode, multiple Qdrant services communicate with each other to distribute the data acr…”
- [claimed-docs] “Qdrant Private Cloud allows you to manage Qdrant database clusters in any Kubernetes cluster on any infrastructure.”
- [claimed-docs] “Deploy Qdrant on any infrastructure. Get requirements, configuration options, and GPU setup guides.”
- [community] “After testing numerous open source vector databases, Qdrant is the best option: docs are clear, easy to build from source in Rust (~30 min),…”
- [community] “We've been using Qdrant for over a year with 10s of millions of items, lots of daily inserts/deletions. A couple of gotchas but generally pr…”
- [community] “I like their pricing page and business model: Apache-2.0 license, free tier with a free forever 1GB cluster for trying out, no credit card r…”
Milvus is open-source and explicitly documented to run fully self-hosted across deployment modes (Milvus Lite for local/laptop, Standalone via Docker, Distributed via Kubernetes), all sharing the same client API, with community evidence confirming real-world self-hosted use at scale. Minor gap - missing for 10: independent hands-on benchmarking of the full self-hosted distributed setup beyond community anecdotes.
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
- [github] “Milvus also supports Standalone mode for single machine deployment.”
- [community] “For people who run thousands of QPS on billions of vectors, Milvus is a solid choice... I've seen many builders migrate from pgvector to Mil…”
- [community] “pgVector is great and so is FAISS, but those are just a subset of what you get from Milvus - if you want hybrid search, different IVF varian…”
- [claimed-docs] “In 2022, Milvus supported billion-scale vectors, and in 2023, it scaled up to tens of billions with consistent stability”
Performance latency — stories about performance latency in this arenaPerformance latency
Stories about performance latency in this arena
Benchmarks
platform-engineerSee published benchmarks or measured latency/recall numbers backing the database's performance claims
weight 2 · round to MilvusQdrantnone0/10No published benchmark reports, latency/recall numbers, or performance comparison data appear anywhere in the evidence; community comments only offer vague qualitative praise ('fast', 'good accuracy') without measured figures. Missing for 10: published benchmark suite/results, recall@k or QPS/latency tables, methodology docs, third-party benchmark corroboration.
- [community] “I've been using Qdrant. Can't speak highly enough of the core functionality. It's fast, good accuracy, easy to use. Wish finding/updating po…”
- [community] “After testing numerous open source vector databases, Qdrant is the best option: docs are clear, easy to build from source in Rust (~30 min),…”
Milvusdisputedcontradicted3/10Milvus docs make a vague vendor claim of '30%-70% better performance' vs FAISS/HNSWLib with no methodology, recall curves, latency tables, or dataset details (milvus-docs-18), and no independent benchmark corroborates it. Community hands-on feedback contradicts this blanket claim, noting that Milvus's IVF indices are literally FAISS-based and 'performance is the same as Faiss' (milvus-comm-1), undercutting the specific performance-superiority claim. Missing for 10: published benchmark report/methodology, recall@k figures, latency percentiles under specified QPS/hardware, and independent reproduction of the claimed 30-70% gain.
- [claimed-docs] “Compared to popular implementations like FAISS and HNSWLib, Milvus delivers 30%-70% better performance.”
- [community] “At this moment, the IVF indices are based on FAISS, so performance is the same as Faiss. IVF_SQ8H reconstructs Faiss IVF SQ8 with much bette…”
- [community] “We regularly do tens of thousands of QPS on pgvector fine on massive data stores. We dropped Milvus after they started trying to force their…”
Index tuning
ml-engineerTune index parameters (HNSW graph settings, index types) to trade recall against latency and memory
weight 2 · round drawnThe pack only vaguely references performance-tuning levers ('optimal vector search performance, such as quantization, sharding, tenant isolation') via an agent-skills GitHub listing, but never documents HNSW graph parameters (m, ef_construct, ef_search) or alternate index types as explicit recall/latency/memory trade-off knobs. Missing for 10: dedicated HNSW parameter tuning docs, index type comparison, benchmark data showing recall-vs-latency trade-offs, and independent confirmation of tuning outcomes.
- [github] “Install these skills to empower your agent in making critical engineering decisions for optimal vector search performance, such as quantizat…”
Evidence only indirectly touches on index type variety (IVF variants, IVF_SQ8H GPU-optimized index, disk-based search) via community commentary, but there is no documentation in the pack of HNSW-specific parameters (M, efConstruction, ef) or explicit recall/latency/memory trade-off guidance for tuning. Missing for 10: HNSW parameter docs, index-type comparison guide, recall-vs-latency benchmarking guidance, first-party tuning tutorial.
- [community] “At this moment, the IVF indices are based on FAISS, so performance is the same as Faiss. IVF_SQ8H reconstructs Faiss IVF SQ8 with much bette…”
- [community] “pgVector is great and so is FAISS, but those are just a subset of what you get from Milvus - if you want hybrid search, different IVF varian…”
ml-engineerEnable vector quantization or compression to cut memory and storage cost with a documented accuracy trade-off
weight 2 · round to QdrantOnly a single glancing mention (qdrant-gh-2) references quantization as an engineering lever for vector search performance, but the evidence pack contains no dedicated documentation on scalar/binary/product quantization configuration or the accuracy/memory trade-off curve. Missing for 10: dedicated quantization docs page, configuration examples (rescore, oversampling), benchmark/accuracy trade-off data, independent corroboration of memory savings.
- [github] “Install these skills to empower your agent in making critical engineering decisions for optimal vector search performance, such as quantizat…”
Milvusnone0/10No evidence pack item documents Milvus's quantization/compression index types (e.g., IVF_SQ8, PQ, scalar/product quantization) with a stated accuracy/memory trade-off. Only a tangential community comment mentions IVF_SQ8H performance vs FAISS, but it doesn't address accuracy trade-offs or documented guidance. missing for 10: official docs on index types (IVF_SQ8, PQ, BIN, etc.), memory/storage savings figures, recall/accuracy trade-off benchmarks, configuration guidance.
- [community] “At this moment, the IVF indices are based on FAISS, so performance is the same as Faiss. IVF_SQ8H reconstructs Faiss IVF SQ8 with much bette…”
Pricing plans — plan structure and value — what each tier costs and what it unlocksPricing plans
Plan structure and value — what each tier costs and what it unlocks
Pricing
developerPrototype on a meaningful free tier before paying anything
weight 1 · round drawnQdrant offers a free-forever 1GB cloud cluster with no credit card required, plus fully free self-hosted open-source/Docker option and no token limits, corroborated by community testimony praising the free tier and easy POC setup. Missing for 10: no independent benchmarking of free-tier limits/performance over time or detail on how quickly a prototype would need to scale beyond the free tier.
- [community] “I like their pricing page and business model: Apache-2.0 license, free tier with a free forever 1GB cluster for trying out, no credit card r…”
- [community] “Weaviate and Qdrant have similar offerings in features, open-sourceness, flexible deployment. Qdrant gets a lot of support from the Rust com…”
- [community] “One of the big advantages of Qdrant is how easy it is to do a POC because it allows an 'in-memory' version similar to sqlite. Milvus by comp…”
- [claimed-docs] “No token limits ... No payment method required”
- [claimed-docs] “No limits ![No token limits”
- [claimed-docs] “docker run -p 6333:6333 -p 6334:6334 \ -v "$(pwd)/qdrant_storage:/qdrant/storage:z" \ qdrant/qdrant”
Milvus Lite is documented as a free, open-source, lightweight Python library explicitly positioned for 'quick prototyping in Jupyter Notebooks or edge devices,' with the same API as Standalone/Distributed, so a developer can prototype fully before any payment. Missing for 10: explicit documentation of a hosted/managed free tier (e.g., Zilliz Cloud) with limits, and independent confirmation that prototyping never requires payment beyond self-hosting.
- [claimed-docs] “Milvus Lite is a Python library that can be easily integrated into your applications. As a lightweight version of Milvus, it’s ideal for qui…”
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
- [claimed-docs] “from pymilvus import MilvusClient client = MilvusClient("milvus_demo.db")”
- [github] “Milvus also supports Standalone mode for single machine deployment.”
developerPay serverless usage-based pricing with transparent per-unit costs instead of provisioning fixed clusters
weight 2 · round drawnQdrantnone0/10Evidence shows Qdrant offers self-hosted deployment, Kubernetes private cloud, and a free-forever fixed-size (1GB) cluster tier for its cloud offering, but no evidence of a serverless usage-based pricing model with transparent per-unit costs — the cited pricing references are all cluster/tier-based rather than consumption-based.
- [claimed-docs] “No token limits ... No payment method required”
- [claimed-docs] “No limits ![No token limits”
- [community] “I like their pricing page and business model: Apache-2.0 license, free tier with a free forever 1GB cluster for trying out, no credit card r…”
- [claimed-docs] “Qdrant Private Cloud allows you to manage Qdrant database clusters in any Kubernetes cluster on any infrastructure.”
- [claimed-docs] “Deploy Qdrant on any infrastructure. Get requirements, configuration options, and GPU setup guides.”
Milvusnone0/10Milvus is documented as open-source software deployable as Milvus Lite, Standalone, or Distributed; none of the evidence describes a serverless usage-based pricing model or transparent per-unit costs — the only pricing-adjacent mention is a community complaint about being pushed toward 'Zilliz SaaS' with no cost details. Missing for 10: any documentation of usage-based billing, per-unit pricing, or a serverless managed tier with transparent costs.
- [community] “We regularly do tens of thousands of QPS on pgvector fine on massive data stores. We dropped Milvus after they started trying to force their…”
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
ai-native userChoose where my data is stored (region/residency)
weight 2 · round to QdrantQdrant can be self-hosted on any infrastructure (Docker, Kubernetes 'Private Cloud' on any cloud) which lets users control exactly where data physically resides, satisfying residency needs for self-managed deployments. However, there is no evidence describing an explicit region-selection feature for Qdrant Cloud (the managed offering), so hosted-tier residency control is unproven. Missing for 10: documented region/zone picker for Qdrant Cloud, compliance certifications tied to specific regions, and independent confirmation of residency guarantees.
- [claimed-docs] “Qdrant Private Cloud allows you to manage Qdrant database clusters in any Kubernetes cluster on any infrastructure.”
- [claimed-docs] “Deploy Qdrant on any infrastructure. Get requirements, configuration options, and GPU setup guides.”
- [claimed-docs] “Qdrant supports a distributed deployment mode. In this mode, multiple Qdrant services communicate with each other to distribute the data acr…”
Milvus is open-source and self-hostable in multiple modes (Milvus Lite on a laptop, Standalone via Docker, Distributed on Kubernetes), which implicitly lets users control exactly where their data physically resides by choosing their own deployment location. However, there is no explicit documentation of region/residency selection features (e.g., cloud region picker, data-residency compliance controls) — that capability would live in a managed offering like Zilliz Cloud, which isn't covered here. Missing for 10: explicit region/residency configuration options, documented compliance/data-residency guarantees, and any managed-cloud region selection UI or API.
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker cont…”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
- [github] “Milvus also supports Standalone mode for single machine deployment.”
ai-native userPrevent my data from being used to train AI models
weight 3 · round drawnQdrantnone0/10The evidence pack covers self-hosting, security/API keys, deployment, and embeddings, but contains no statement about Qdrant's (or Qdrant Cloud's) policy on using customer data to train AI/embedding models, nor an opt-out mechanism. Self-hosting implies data control, but that is not explicit evidence of a training-data policy. missing for 10: explicit vendor privacy policy or ToS statement on not using customer data for model training, evidence of an opt-out setting, or independent confirmation of this practice.
Milvusnone0/10The evidence pack contains no explicit privacy/data-usage policy addressing whether Milvus or its cloud offering (Zilliz) uses customer data to train AI models. While self-hosted/local deployment options (Milvus Lite, Standalone) implicitly keep data under user control, there is no documented statement or terms-of-service excerpt confirming a no-training-on-data guarantee.
ai-native userControl data retention and deletion
weight 2 · round to QdrantQdrant's self-hosted deployment model (Docker volumes, on-prem/K8s options) implies users fully own and can delete their storage, and snapshot/backup features give some control over data lifecycle, but the evidence pack has no explicit documentation of a delete-collection/delete-point API, TTL/retention policies, or data-expiry controls tailored to privacy compliance. missing for 10: explicit deletion/point-removal API docs, retention/TTL policy documentation, GDPR-style data-erasure guidance.
- [claimed-docs] “docker run -p 6333:6333 -p 6334:6334 \ -v "$(pwd)/qdrant_storage:/qdrant/storage:z" \ qdrant/qdrant”
- [claimed-docs] “Snapshots are `tar` archive files that contain data and configuration of a specific collection on a specific node at a specific time.”
- [claimed-docs] “Qdrant Private Cloud allows you to manage Qdrant database clusters in any Kubernetes cluster on any infrastructure.”
- [claimed-docs] “Deploy Qdrant on any infrastructure. Get requirements, configuration options, and GPU setup guides.”
Milvus Lite/Standalone docs mention 'vector CRUD operations' as a core feature, implying users can delete entities/collections, and RBAC/multi-tenancy docs show some data-governance controls, but the evidence pack has no explicit documentation of deletion APIs, TTL/expiry, purge/compaction policies, or retention controls. An older community comment even notes vector deletion was unsupported in early versions, though this predates current CRUD claims and isn't a concrete current-version contradiction. missing for 10: explicit delete/drop API docs, data retention/TTL policy documentation, compliance-oriented deletion guarantees, independent confirmation of deletion behavior.
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
- [claimed-docs] “With RBAC, you can finely control the operations users can perform at the collection, database, and instance levels, enhancing data security”
- [claimed-docs] “Milvus supports four multi-tenancy strategies, each offering a different trade-off between scalability, data isolation, and flexibility”
- [community] “Milvus allows appending vectors, stored across multiple file slices; when a slice hits a threshold, Milvus builds the index for it and new d…”
ai-native userOpt out of telemetry and usage tracking
weight 2 · round drawnQdrantnone0/10No evidence pack item mentions telemetry, usage tracking, analytics collection, or an opt-out setting/flag for Qdrant; Qdrant is self-hosted open-source software, which makes this a fair question, but nothing in the docs, GitHub, or community evidence addresses it.
Sdk integrations — stories about sdk integrations in this arenaSdk integrations
Stories about sdk integrations in this arena
Integrations
ml-engineerPlug the database into RAG and agent frameworks (LangChain, LlamaIndex, etc.) through maintained first-class integrations
weight 2 · round to MilvusQdrantnone0/10The evidence pack documents Qdrant's own client libraries (Python, JS, Go, Rust, Java, .NET) and an MCP server/agent-skills for coding assistants, but contains no mention of maintained first-class integrations with RAG/agent frameworks like LangChain or LlamaIndex. Since this axis clearly applies to a vector database aimed at ML engineers building RAG pipelines, absence of such evidence yields 'none' rather than 'na'.
- [github] “Qdrant offers the following client libraries to help you integrate it into your application stack”
- [github] “Go client ... Rust client ... JavaScript/TypeScript client ... Python client ... .NET/C# client ... Java client”
- [github] “Qdrant provides a collection of ready-to-use agent skills that bring Qdrant's vector search capabilities directly into your AI coding assist…”
- [probe] “official MCP server documented at https://qdrant.tech/documentation/qdrant-mcp-server/”
Evidence shows Milvus ships a Python SDK (pymilvus) and an official MCP server that lets AI agents query the database via natural language, which is a form of agent-framework connectivity, but no evidence pack item explicitly documents maintained first-class connectors for LangChain, LlamaIndex, or similar RAG frameworks. Missing for 10: explicit documentation of LangChain/LlamaIndex integration modules, versioning/maintenance status of those connectors, and any hands-on confirmation they work as advertised.
- [claimed-docs] “allowing AI applications to perform vector searches, manage collections, and retrieve data using natural language commands—without writing c…”
- [claimed-docs] “This tutorial walks you through setting up an MCP server for Milvus, allowing AI applications to perform vector searches, manage collections…”
- [probe] “official MCP server documented at https://github.com/zilliztech/mcp-server-milvus”
- [github] “This installs `pymilvus`, the Python SDK for Milvus. Use `MilvusClient` to create a client”
Sdks
developerBuild against official SDKs in the major languages (Python, TypeScript, Go, Java)
weight 2 · round to QdrantGitHub evidence explicitly lists official client libraries including Python, JavaScript/TypeScript, Go, and Java clients, and docs show a working Python client quickstart example, confirming official SDK support in these major languages. Missing for 10: no direct code samples/docs snippets shown for TypeScript, Go, or Java specifically (only Python is demonstrated in detail), and no independent hands-on corroboration of the non-Python SDKs' quality.
- [github] “Qdrant offers the following client libraries to help you integrate it into your application stack”
- [github] “Go client ... Rust client ... JavaScript/TypeScript client ... Python client ... .NET/C# client ... Java client”
- [claimed-docs] “client.create_collection( collection_name="test_collection", vectors_config=VectorParams(size=4, distance=Distance.DOT), )”
- [community] “Just played with qdrant using its Python client. Pretty smooth onboarding experience, though having to generate embeddings client-side rathe…”
Evidence strongly documents the official Python SDK (pymilvus/MilvusClient) with quickstart code and API examples, but the pack contains no mention of TypeScript, Go, or Java SDKs, their docs, or usage examples. Missing for 10: documentation or references confirming official TypeScript, Go, and Java SDK support/parity with the Python client.
- [github] “This installs `pymilvus`, the Python SDK for Milvus. Use `MilvusClient` to create a client”
- [claimed-docs] “To create a local Milvus vector database, simply instantiate a `MilvusClient` by specifying a file name to store all data”
- [claimed-docs] “from pymilvus import MilvusClient client = MilvusClient("milvus_demo.db")”
- [github] “res = client.search( collection_name="demo_collection", # target collection data=query_vectors, # a list of one or more query vect…”
Search quality hybrid — stories about search quality hybrid in this arenaSearch quality hybrid
Stories about search quality hybrid in this arena
Core search
developerRun approximate nearest-neighbor similarity search over embeddings with configurable distance metrics
weight 3 · round to QdrantQdrant is a core ANN vector search engine; docs show creating collections with configurable distance metrics (e.g. Distance.DOT) and hybrid/filtered query support, corroborated by community reports of fast, accurate search at production scale. Missing for 10: explicit enumeration/benchmarking of all supported distance metrics (cosine, euclidean, dot) in one place and independent ANN recall benchmarks.
- [claimed-docs] “client.create_collection( collection_name="test_collection", vectors_config=VectorParams(size=4, distance=Distance.DOT), )”
- [claimed-docs] “Qdrant has a few ways of fusing the results from different queries: `rrf` and `dbsf`”
- [claimed-docs] “in text search, it is often useful to combine dense and sparse vectors to get the best of both worlds: semantic understanding from dense vec…”
- [community] “I've been using Qdrant. Can't speak highly enough of the core functionality. It's fast, good accuracy, easy to use. Wish finding/updating po…”
- [community] “We've been using Qdrant for over a year with 10s of millions of items, lots of daily inserts/deletions. A couple of gotchas but generally pr…”
Milvus is fundamentally an ANN vector search engine, with docs showing search APIs, filtered/multi-vector ANN search, and index tuning (IVF variants), plus community confirmation of real-world QPS/scale performance. Missing for 10: explicit documentation snippet listing configurable distance metric options (L2/IP/cosine) in this evidence pack, and independent benchmarking of metric-specific accuracy.
- [claimed-docs] “Milvus supports this by allowing search on multiple vector fields, conducting several Approximate Nearest Neighbor (ANN) searches simultaneo…”
- [claimed-docs] “You can include filtering conditions in a search request so that Milvus conducts metadata filtering before conducting ANN searches, reducing…”
- [github] “res = client.search( collection_name="demo_collection", # target collection data=query_vectors, # a list of one or more query vect…”
- [community] “At this moment, the IVF indices are based on FAISS, so performance is the same as Faiss. IVF_SQ8H reconstructs Faiss IVF SQ8 with much bette…”
- [community] “For people who run thousands of QPS on billions of vectors, Milvus is a solid choice... I've seen many builders migrate from pgvector to Mil…”
- [community] “pgVector is great and so is FAISS, but those are just a subset of what you get from Milvus - if you want hybrid search, different IVF varian…”
Hybrid
developerRun keyword/full-text search over documents inside the database without bolting on a separate search engine
weight 2 · round to MilvusQdrant documents sparse-vector search and hybrid dense+sparse queries (fused via rrf/dbsf) explicitly for 'precise word matching' alongside semantic search, letting a developer get keyword-style search without a separate engine like Elasticsearch. However, the evidence never describes a dedicated full-text/BM25 index or classic text-search features (stemming, tokenizer configuration, phrase queries), and there is no independent hands-on validation of keyword-search quality specifically (community comments focus on vector search performance, not text search). Missing for 10: explicit full-text/BM25 index documentation, tokenizer/analyzer configuration details, and independent verification of keyword-search relevance.
- [claimed-docs] “Qdrant has a few ways of fusing the results from different queries: `rrf` and `dbsf`”
- [claimed-docs] “in text search, it is often useful to combine dense and sparse vectors to get the best of both worlds: semantic understanding from dense vec…”
- [claimed-docs] “Configure dense, sparse, and multi-vector embeddings. Use cloud-hosted embedding models directly with Qdrant.”
Milvus docs explicitly describe native full-text search that converts raw text into sparse embeddings automatically (BM25-style keyword search) without requiring a separate search engine or manual embedding generation, and Milvus Lite/Standalone/Distributed all share this feature per docs-17. This is a first-party documented capability integrated into the same client API used for vector search. Missing for 10: independent/hands-on validation of full-text search quality or relevance benchmarks, and community evidence specifically confirming it replaces dedicated search engines like Elasticsearch in production.
- [claimed-docs] “it simplifies vector searches by accepting raw text input, automatically converting your text data into sparse embeddings without the need t…”
- [claimed-docs] “it simplifies vector searches by accepting raw text input, automatically converting your text data into sparse embeddings without the need t…”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
developerCombine dense vector search with keyword or sparse (BM25-style) signals in one hybrid query with fusion ranking
weight 3 · round to QdrantQdrant docs explicitly describe hybrid queries combining dense and sparse vectors with fusion ranking methods (rrf and dbsf), directly matching the story. Missing for 10: independent hands-on verification of fusion ranking quality/behavior and no code example showing a full hybrid query request in the pack.
- [claimed-docs] “Qdrant has a few ways of fusing the results from different queries: `rrf` and `dbsf`”
- [claimed-docs] “in text search, it is often useful to combine dense and sparse vectors to get the best of both worlds: semantic understanding from dense vec…”
Milvus docs explicitly describe full-text search that auto-converts text to sparse (BM25-style) embeddings, multi-vector search that runs multiple ANN searches simultaneously, and Milvus Lite covering 'sparse and dense vector search... multi-vector and hybrid_search,' confirming a combined dense+sparse hybrid query capability. Missing for 10: explicit documentation of fusion ranking strategies (e.g., RRF/weighted ranker names) and independent/hands-on corroboration of hybrid_search quality in practice.
- [claimed-docs] “it simplifies vector searches by accepting raw text input, automatically converting your text data into sparse embeddings without the need t…”
- [claimed-docs] “Milvus supports this by allowing search on multiple vector fields, conducting several Approximate Nearest Neighbor (ANN) searches simultaneo…”
- [claimed-docs] “Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and …”
Reranking
ml-engineerRerank search results with built-in or first-party-integrated reranking models
weight 2 · round drawnQdrantnone0/10The evidence pack covers hybrid dense/sparse fusion (RRF, DBSF) but contains no mention of reranking models (cross-encoder, built-in reranker, or first-party integration for reranking search results). Missing for 10: any documentation of a built-in reranker, first-party reranking model integration, or reranker API/parameter in Qdrant's query interface.
- [claimed-docs] “Qdrant has a few ways of fusing the results from different queries: `rrf` and `dbsf`”
- [claimed-docs] “in text search, it is often useful to combine dense and sparse vectors to get the best of both worlds: semantic understanding from dense vec…”
Milvusnone0/10The evidence pack covers full-text/sparse search, multi-vector search, filtering, multi-tenancy, RBAC, and MCP integration, but contains no mention of reranking models—neither a built-in reranker nor a first-party reranking integration (e.g., cross-encoder or BGE-reranker support). Missing for 10: any documentation of a reranking API, built-in rerank function, or first-party reranker model integration and evidence of its use in search pipelines.
Not comparable on these axes
ai-native userPlug MCP servers into this product so it can use their tools
weight 3 · not comparableQdrantn/aQdrant is a vector database/search engine, not an agentic system that consumes external tools; the evidence only shows Qdrant exposing its own capabilities via an MCP server or agent skills for other assistants (qdrant-gh-4, qdrant-probe-4), which is the reverse (server) role, not Qdrant acting as an MCP client using other servers' tools. This axis does not apply to a database product of this kind.
Milvusn/aMilvus is a vector database, not an agentic/orchestration product that itself consumes tools via MCP client connections. The evidence only shows Milvus exposing itself AS an MCP server (docs-7/16/23, probe-3) so that external AI applications can call Milvus's search/collection operations as tools — the opposite direction from the story, which asks whether Milvus can plug in and use other MCP servers' tools. This axis does not apply to a database product's role.
- [claimed-docs] “allowing AI applications to perform vector searches, manage collections, and retrieve data using natural language commands—without writing c…”
- [claimed-docs] “This tutorial walks you through setting up an MCP server for Milvus, allowing AI applications to perform vector searches, manage collections…”
- [probe] “official MCP server documented at https://github.com/zilliztech/mcp-server-milvus”
ai-native userSet up automations that run autonomously in the background
weight 2 · not comparableQdrantn/aQdrant is a vector search database/infrastructure product, not an agent-orchestration or automation platform; the evidence pack shows no scheduling, triggers, or autonomous background workflow capability, and this is not a fair capability to expect from this category of product.
Milvusn/aMilvus is a vector database for storage/similarity search, not an automation or orchestration platform; there is no concept of scheduled or autonomous background workflows in its product category. The evidence covers search, indexing, RBAC, and MCP integration for querying, none of which relates to autonomous background automations.
ai-native userSchedule recurring jobs or workflows
weight 2 · not comparableQdrantn/aQdrant is a vector search database, not a workflow/job scheduling platform; scheduling recurring jobs/workflows is outside its product category and no evidence suggests it offers such a feature.