Milvus adds platform breadth, Qdrant tightens the query engine: two divergent paths since May 2024

Asked (summary):

A more detailed Milvus vs Qdrant timeline from May 2024, sorted sparsely (major releases or key features only, 1–2 month granularity), covering index types, ingress/retrieval methods and features such as chunk/doc-level RBAC and update/delete-heavy workflows — with contrastive examples: what each change enabled, how it was done before, and key metric changes where available.

34 month-product milestones — 26 in the Milvus/Zilliz lane, 8 Qdrant releases — across 23 milestone months from May 2024 through September 2026, consolidated from 63 source rows on 4 hosts (vendor release notes, blogs and GitHub releases). Only months with a major release or architectural milestone appear; blank months mean no qualifying milestone, not no releases. Reported metrics are vendor-run tests and are not cross-comparable between products.

Sparse timeline — scroll sideways through 23 milestone months; within a month, Milvus above, Qdrant below

Milvus / ZillizQdrantOnly milestone months shown; gaps between column dates carried no major milestone
Milvus shipped full-text BM25 search in 2.5 (Dec 2024) and claims hybrid search with stopwords lifted Pass@5 from 0.8096 to 0.8418 over semantic-only on Anthropic code snippets — milvus.io
Qdrant 1.13 (Jan 2025) moved off RocksDB to an in-house storage layer and added vendor-agnostic GPU HNSW indexing it reports as up to 10× faster than CPU at equivalent hardware price — qdrant.tech
Milvus row-level access (Nov 2024) is a bitmap-indexed security_group filter pattern, not a first-class per-document ACL; database-native RBAC arrived separately via privilege groups in 2.4.8–2.5 — zilliz.com
For update-heavy workloads, Qdrant 1.14–1.16 replaced full HNSW rebuilds with incremental indexing, healing and conditional updates; Milvus answered with clustering compaction, L0 delete optimization and, in 3.0, a mutation-oriented architecture — qdrant.tech

Index and storage evolution

Both vendors invested heavily in indexes, but along different axes: family breadth versus one engine tuned harder.

Milvus

  • Sparse HNSW and binary disk index, auto-indexing for sparse/float16/bfloat16 (2.4.5, Jun 2024)
  • RaBitQ 1-bit quantization — vendor reports up to 72% lower memory and 4× faster queries (2.6)
  • GPU_CAGRA with hybrid GPU–CPU execution — 12–15× faster index builds vs CPU HNSW (vendor test, Dec 2025)
  • AISAQ all-on-disk index: billion-vector memory from 32 GB to ~10 MB in vendor workload (Dec 2025)
  • JSON Path Index (claimed 100× faster JSON filtering), ngram and text indexes, MinHash LSH, tiered hot–cold storage

Qdrant

  • Sparse-vector bit packing and delta encoding — up to 75% less sparse-vector memory (1.10, Jul 2024)
  • On-disk payload index for cold tenants; tenant-defragmented storage (1.11)
  • GPU HNSW via Vulkan, HNSW graph compression (−30% memory), custom storage backend replacing RocksDB (1.13)
  • Incremental HNSW, 1.5/2-bit and asymmetric quantization, HNSW healing (1.14–1.15)
  • Inline Storage packs quantized vectors into HNSW nodes for paged disk reads — QPS 211 vs 20 in low-RAM vendor benchmark (1.16)

Ingress and mutation-heavy workflows

Milvus

  • Sparse/float16 bulk insert (2.4.1–2.4.3); upsert with Auto ID (2.4.8)
  • Delete rate limits by matched data size, parallel apply-delete, faster bloom filters (2.4.5); L0 delete handling moved outside the delta lock (2.4.15)
  • Clustering compaction redistributes data by clustering key (2.4.10)
  • Woodpecker zero-disk WAL replaces Kafka/Pulsar — 450 MB/s local, 3.5× Kafka in vendor single-stream test — plus StreamingService (2.6, May 2025)
  • Milvus 3.0 moves toward a mutation-oriented, lakehouse-backed architecture (2026)

Qdrant

  • Optimizer saturates CPU and disk IO in parallel, ending the sawtooth pattern (1.14)
  • Incremental HNSW indexing avoids full graph rebuilds on append (1.14); healing reuses the existing index during optimization (1.15)
  • Vendor test: indexing 400M 512-d vectors dropped from ~40 h to 28 h (1.14)
  • Conditional updates: an update filter guards against stale-data overwrites in concurrent writers (1.16)
  • Storage and index optimization for high-update workloads continues in 1.17–1.18

Retrieval methods

Milvus

  • Full-text BM25 fused with dense search via RRF (2.5, Dec 2024); expression templates speed hybrid search
  • phrase_match, multi_match, multi-language analyzers with automatic language detection (2.6, Jul 2025)
  • Advanced reranking with models or custom scoring; Boost Ranker for business logic
  • Iterative filtering and metadata-aware column-graph indexes for filtered search (May 2025)
  • Array-of-vectors with MAX_SIM for entity-level multivector scoring (Dec 2025)

Qdrant

  • Unified Query API: prefetch, multi-stage rerank and ColBERT multivector in one call (1.10, Jul 2024)
  • BM42 sparse retrieval with server-side IDF; native hybrid fusion, then DBSF fusion and result grouping (1.10–1.11)
  • Named-vector filtering (1.13); score-boosting formula reranker (1.14)
  • Multi-threaded batch search — 240-query batch from 11 s to 4.5 s in vendor test (1.14)
  • ACORN filtered search examines second-hop neighbors when filters cut direct links (1.16)

Access control and tenancy

Distinguish database-native privileges from filter-pattern authorization. Milvus ships native RBAC: privilege groups, grant/revoke APIs and RBAC backup/restore at cluster, database and collection level (2.4.8–2.5). Its "row-level RBAC" is an implementation pattern — a bitmap-indexed security_group payload column filtered at query time — described by Zilliz as a pattern, not a first-class per-document ACL. Qdrant's tenancy story is likewise payload-based: is_tenant payload indexes with defragmented storage (1.11), Strict Mode defaults that contain noisy neighbors (1.13), and transparent tenant promotion from shared to dedicated shards with reads and writes served mid-promotion (1.16). Neither source documents native chunk- or document-level ACLs; both support the metadata/payload-filter pattern.

Contrastive examples: every milestone with its before-state and reported metric

Blank cells mean the source stated no before-state or metric — none was invented. Metrics are vendor-reported under each vendor's own test conditions.

MonthProductChangeEnabled afterBeforeReported metricSource

Release-capability timeline of Milvus (incl. Zilliz Cloud / Vector Lakebase rows) and Qdrant, May 2024 – Sep 23 2026. 34 month-product milestone rows consolidated from 63 qualifying source rows across 4 independent hosts; the most-cited single URL backs 7 of 63 rows. Sparse by design: only externally visible major releases or architectural milestones, not every patch. Metrics are vendor-reported and not comparable across products unless a row shares a basis. Card and table text is trimmed for space; each card's "all details" and each source link hold the full text.

This report was generated automatically by Keenable SELECT at a user's request, from publicly available web sources linked herein. Keenable does not review, verify, or endorse its contents and makes no representation as to accuracy, completeness, or timeliness; AI-based extraction may contain errors. Nothing in this report is investment, legal, financial, or other professional advice. All trademarks and referenced content remain the property of their respective owners; no affiliation or endorsement is implied. To report an error, rights concern, or request removal: legal@keenable.ai.

Keenable SELECTAsk your own question
Made with Keenable SELECT