Zilliz, the company behind the Milvus vector database, publishes posts on vector search, indexing, benchmarks, and AI infrastructure.
HN commenters link it for its vector database explainers and benchmarks, question missing Vespa results on its leaderboard, and use its hiring posts.
This article depicts a perfect world and links it to a solution which is fairly distant from that. I understand the wishful thinking of having a "magic box" for search infrastructure but as someone worked on web-scale search at Google for years I'd say the reality isn't that simple.
1. The real problem in embedding data lifecycle management is changing the embedding mode, which involves a migration process. You can't really solve that by simply streamline the vectorization and suddenly use a new model for new data ingested. You need the non-fancy migration process: create a new collection, batch generate new vectors with the new model, port all of them there, meanwhile doing dual write for all newly ingested documents, and switch search traffic to the new collection once batch ingestion is done. Streamlining vectorization as part of the ingestion call doesn't solve that. Though it is an interesting feature to lower mental complexity, that's why at Zilliz (a vector db startup) our product https://zilliz.com/zilliz-cloud-pipelines supports that and our open-source Milvus plans supporting streamlining API call to embedding service in 3.0 version: https://milvus.io/docs/roadmap.md. That said I must state that changing the embedding model is more difficult than what the article makes it feels like. We provide tools like bulk import to batch port a whole dataset of vector embeddings with other metadata like original text or image urls. But solving the problem with one "magic box"…
We conducted benchmark tests on Elastic's queries per second (QPS) performance using datasets of 500,000 and 1 million vectors. Result was Zilliz is 13x and 22x faster, per number of vectors respectively. https://zilliz.com/blog/elasticsearch-cloud-vs-zilliz
We also conducted a benchmark comparing Pgvector to both Milvus (open source) and Zilliz (managed, with a free tier option). When running the OSS Milvus on 2 CPUs and 8 GiB memory, Pgvector was found to be 5 times slower. You can check out the detailed performance charts at the bottom of this blog post:
https://zilliz.com/blog/getting-started-pgvector-guide-developers-exploring-vector-databases
Feel free to explore our open-source benchmarking tool, which allows you to examine our methodology and even compare it with your vector database. https://github.com/zilliztech/VectorDBBench
Great article. We used something very similar to help implement simlarity search at Yahoo a couple years back (https://yahooresearch.tumblr.com/post/158115871236/introducing-similarity-search-at-flickr). We were using a indexing strategy called Locally Optimized Product Quantization, which worked great in terms of query times but required a training procedure which made successive inserts fairly inefficient.
Thankfully, we have a much wider variety of indexing options these days (https://milvus.io/docs/index.md) in addition to powerful vector databases (https://zilliz.com/learn/what-is-vector-database). I'm glad to see the barrier to entry for semantic image retrieval becoming lower and lower as ML infrastructure matures.
[EDIT] Disclosure: I work at Zilliz.
Zilliz is hiring! We're looking for REMOTE and/or HYBRID roles in SF
Zilliz is the company behind Milvus (https://github.com/milvus-io/milvus), the most widely adopted vector database. Vector databases are a crucial piece of any technology stack looking to take advantage of unstructured data. Most recently and notably, Retrieval Augmented Generation (RAG). For RAG, vector databases like Milvus are used as the tool to inject customized data. In other words, vector databases make things like customized chat bots, personalized product recommendations, and more possible.
We are hiring for Developer Advocates, Senior+ Level Engineers and Product people, and Talent Acquisition. Check out all the roles here: https://zilliz.com/careers
Absolutely!
Here is a graph showing the difference. [^1]
Known ID is arXiv ID that is in the vector database, Unknown IDs need the metadata to be fetched via API. Text is embedded via the model's API.
FLAT and IVF_FLAT are different indexes used for the search. [^2]
[1]: https://raw.githubusercontent.com/mitanshu7/dumpyard/refs/heads/main/search_time_vs_input_type_auto_legend.png
[2]: https://zilliz.com/learn/how-to-pick-a-vector-index-in-milvus-visual-guide
Zilliz | Onsite/Hybrid (Redwood City, CA, USA) - https://zilliz.com/
Zilliz is the company behind Milvus, the world's most popular open-source vector database. We're hiring engineers, developer advocates, product marketing, and product managers. You can view and apply for open roles at https://zilliz.com/careers, or feel free to reach out to me directly.