What is Milvus?
Milvus is an open source similarity search engine for massive feature vectors. It is built with heterogeneous computing architecture for the best performance and cost efficiency. Searches over billion-scale vectors take only milliseconds with minimum computing resources. It can be easily deployed on both bare metal and cloud platforms with Linux operating systems.
When is Milvus a good choice?
Milvus is best suited for applications that require reliable and efficient similarity search of large-scale vectors, and millisecond response times, regardless of scale.
Milvus returns single-row reads in 0.6 ms or less and single-row writes in approximately 0.03 ms, and supports a variety of indexes for optimizing query performance. It can also be used in hybrid search for both structured and unstructured data.
How to use Milvus?
How easy is it to use Milvus?
Milvus can be easily installed through pulling docker images and simple pip install for SDKs. For more details, see Install Milvus.
To start your first vector search program, please go to Milvus example code.
Is Milvus highly available?
Milvus is designed to be used in mission critical systems with high SLAs. Milvus cluster ensures continuous service capability in case of any single point of failure.
How does Milvus work?
When vectors are imported into Milvus, they will be stored and indexed. Each vector is assigned a unique ID. User-defined vector IDs are also supported. When vector are searched, IDs of the most similar vectors will be returned.
Which index methods are supported?
Currently, Milvus supports the following index methods:
Provides 100% accuracy for recalls. However, performance might be downgraded due to huge computation effort.
K-means based similarity search which is balanced between accuracy and performance.
Adopts a scalar quantization strategy that significantly reduces vector size (by about 3/4). It improves the overall throughput of vector processing.
An enhanced indexing algorithm of
IVF_SQ8. It supports heterogeneous computation on both CPU and GPU, which significantly improves the search performance.
To use this index, make sure both
gpuare added as resources in the Milvus configuration file.
Does Milvus support simultaneous inserting and searching?
Absolutely. You can simultaneously insert and search data in Milvus. If you want this function, it is recommended to set the parameter
true in section
Where are the data stored?
Vectors that have been imported into Milvus are stored in your local disk. Metadata can be stored either in MySQL or SQLite 3. For more details about storage, read Milvus data storage.
How does Milvus compare to FAISS and SPTAG?
While all of these supports large-scale vector similarity search, Milvus is the only one that is a high-performance and easy-to-use vector search engine that scales easily.
For more insight, see Milvus in Comparison.
Have questions that were not answered?
If you still have questions that are not covered in this list, you can take the following steps to find an answer: