Milvus is engineered exclusively for high-performance vector similarity search. Its architecture uses segment-based columnar storage, GPU-accelerated index building, and distributed query processing designed to handle billions of vectors while maintaining low latency. For applications where embedding search is the performance-critical path — large-scale RAG pipelines, visual search engines, recommendation systems — Milvus delivers throughput that general-purpose databases fundamentally cannot match at scale.
SurrealDB includes vector similarity search as one capability within a broader multi-model database engine. The same SurrealQL query language that handles relational joins, graph traversals, document operations, and time-series aggregations also supports vector nearest-neighbor search. An application can store user profiles as documents, model entity relationships as graph edges, log events in time-series tables, and search embeddings — all in one database with atomic cross-model transactions.
The operational complexity trade-off is significant. Running Milvus in production requires orchestrating its distributed components: etcd for metadata coordination, MinIO or S3 for persistent storage, and Pulsar or Kafka for write-ahead logging. This multi-service architecture enables horizontal scaling but demands infrastructure expertise. SurrealDB runs as a single binary with optional clustering, appealing to teams that lack dedicated database operations staff or want simpler deployment for moderate-scale workloads.
Query expressiveness diverges based on architectural priorities. Milvus provides a specialized SDK for vector operations with hybrid search combining metadata filters and similarity scoring. Queries target a single collection and return ranked results. SurrealDB's SQL-like SurrealQL lets developers express vector searches alongside traditional joins, subqueries, and graph walks in the same statement. Finding similar embeddings and then joining the results with user profiles and purchase history is one query rather than an application-level data merge.
Scale benchmarks reveal the engineering trade-off clearly. Milvus is tested and proven at billion-vector scale with consistent latency guarantees, backed by the Zilliz team's published benchmark results. SurrealDB's vector capabilities are functional but newer and less battle-tested at extreme scale. For datasets of millions of vectors — typical for startup and mid-size applications — the performance difference may not justify the operational overhead of running Milvus's distributed infrastructure.
The AI agent use case particularly highlights SurrealDB's multi-model advantage. Agents need structured conversation history stored as documents, entity knowledge graphs modeled as edges and vertices, semantic memory search via embeddings, and session metadata in tabular form. SurrealDB handles all four access patterns in a single database with ACID transactions across data types. With Milvus, the vector search component requires a separate database for structured data, adding synchronization complexity and potential consistency gaps.