Database guides

Milvus

Updated 2026-08-11 · 2 min read

A vector database built for scale, reached over its REST v2 API — no gRPC tooling required.

Milvus is an open-source vector database for similarity search over embeddings, built to scale to billions of vectors. It is usually described as a gRPC system, but since version 2.4 it also exposes a complete REST API — which is what AddisDB uses, so no protobuf tooling is involved.

Who it is for

Milvus suits vector workloads that have outgrown an embedded store: large corpora, high query rates, or a need for real index tuning (HNSW, IVF, DiskANN). Typical uses are retrieval-augmented generation, semantic search, recommendation and image or audio similarity.

It is heavier to operate than the embedded vector stores. A standalone Milvus also needs etcd for metadata and object storage for segments, which is worth knowing before choosing it over something single-process.

Set up the server

  1. Note the host and port — 19530 by default, which serves both gRPC and REST.
  2. For Zilliz Cloud, note the endpoint and an API key.
  3. Optionally note a database and collection to scope the connection to, written as database/collection. Milvus’s default database is called default.
curl http://localhost:19530/v2/vectordb/collections/list \
  -H "Content-Type: application/json" -d '{}'

Connect from AddisDB

  1. New Connection → Milvus. Port prefills to 19530.
  2. Enter the host. Leave the password blank for a local server, or paste an API key for Zilliz Cloud.
  3. Optionally set database/collection in the database field. Test, then Save.

What AddisDB gives you

Typing a collection name lists its entities. Typing a JSON object runs it against the pinned collection — as a vector search when it carries a data field, and as a filtered query otherwise. Search results include the distance column, so you can see how close each match is.

Unlike the schemaless vector stores, Milvus declares a real schema, and the tree reads it — so field types and the primary key are genuine rather than inferred from samples.

Row counts come from a count query rather than from collection statistics. That matters: Milvus’s statistics only count flushed segments, so a collection you have just written to would otherwise report zero rows while the data is plainly there.