Jump to content

Milvus (vector database)

From Wikipedia, the free encyclopedia
Milvus
Developer(s)Zilliz
Initial releaseOctober 19, 2019; 5 years ago (2019-10-19)
Stable release
v2.4.17 / November 22, 2024; 5 days ago (2024-11-22).:[1]
Repositorygithub.com/milvus-io/milvus
Written inC++, Go
Operating systemLinux, macOS
Platformx86, ARM
TypeVector database
LicenseApache License 2.0
Websitemilvus.io

Milvus is a distributed vector database developed by Zilliz. It is available as both open-source software and a cloud service.

Milvus is an open-source project under LF AI & Data Foundation[2] distributed under the Apache License 2.0.

History

[edit]

Milvus has been developed by Zilliz since 2017.[3]

Milvus joined Linux foundation as an incubation project in January 2020 and became a graduate in June 2021.[2] The details about its architecture and possible applications were presented on ACM SIGMOD Conference in 2021[4]

Milvus 2.0, a major redesign of the whole product with a new architecture,[5] was released in January 2022.

Features

[edit]
[edit]

Major similarity search related features that are available in the active 2.4.x Milvus branch[6]:

Milvus similarity search engine relies on heavily-modified forks of third-party open-source similarity search libraries, such as Faiss,[7][8] DiskANN[9][10] and hnswlib.[11]

Milvus includes optimizations for I/O data layout, specific to graph search indices.[12]

Database

[edit]

As a database, Milvus provides the following features:[6]

Deployment options

[edit]

Milvus can be deployed as an embedded database, standalone server, or distributed cluster. Zillis Cloud offers a fully managed version.[16]

GPU support

[edit]

Milvus provides GPU accelerated index building and search using Nvidia CUDA technology[17][18] via Nvidia RAFT library,[19] including a recent GPU-based graph indexing algorithm Nvidia CAGRA[20]

Integration

[edit]

Milvus provides official SDK clients for Java, NodeJS, Python and Go.[21] An additional C# SDK client was contributed by Microsoft.[6][22] The database can integrate with Prometheus and Grafana for monitoring and alerts, frameworks Haystack[23] and LangChain,[24] IBM Watsonx[25], and OpenAI models.[26][27]

See also

[edit]

References

[edit]
  1. ^ "Release notes for Milvus v2.4.17". GitHub.
  2. ^ a b "LF AI & Data Foundation Announces Graduation of Milvus Project". June 23, 2021.
  3. ^ Liao, Ingrid Lunden and Rita (2022-08-24). "Zilliz raises $60M, relocates to SF". TechCrunch. Retrieved 2024-10-21.
  4. ^ "Milvus: A Purpose-Built Vector Data Management System". SIGMOD '21: Proceedings of the 2021 International Conference on Management of Data. June 18, 2021. pp. 2614–2627. doi:10.1145/3448016.3457550. ISBN 978-1-4503-8343-1.
  5. ^ Guo, Rentong; Luan, Xiaofan; Xiang, Long; Yan, Xiao; Yi, Xiaomeng; Luo, Jigao; Cheng, Qianya; Xu, Weizhi; Luo, Jiarui; Liu, Frank; Cao, Zhenshan; Qiao, Yanliang; Wang, Ting; Tang, Bo; Xie, Charles (2022). "Manu: A Cloud Native Vector Database Management System". arXiv:2206.13843 [cs.DB].
  6. ^ a b c "Milvus overview". Retrieved September 23, 2024.
  7. ^ "Faiss". GitHub. Retrieved September 23, 2024.
  8. ^ Douze, Matthijs; Guzhva, Alexandr; Deng, Chengqi; Johnson, Jeff; Szilvasy, Gergely; Mazaré, Pierre-Emmanuel; Lomeli, Maria; Hosseini, Lucas; Jégou, Hervé (2024). "The Faiss library". arXiv:2401.08281 [cs.LG].
  9. ^ "DiskANN library". GitHub. Retrieved September 23, 2024.
  10. ^ Subramanya, Suhas Jayaram; Kadekodi, Rohan; Krishaswamy, Ravishankar; Simhadri, Harsha Vardhan (8 December 2019). "DiskANN: fast accurate billion-point nearest neighbor search on a single node". Proceedings of the 33rd International Conference on Neural Information Processing Systems. Curran Associates Inc.: 13766–13776.
  11. ^ "Hnswlib - fast approximate nearest neighbor search". GitHub. Retrieved September 23, 2024.
  12. ^ Wang, Mengzhao; Xu, Weizhi; Yi, Xiaomeng; Wu, Songlin; Peng, Zhangyang; Ke, Xiangyu; Gao, Yunjun; Xu, Xiaoliang; Guo, Rentong; Xie, Charles (2024). "Starling: An I/O-Efficient Disk-Resident Graph Index Framework for High-Dimensional Vector Similarity Search on Data Segment". Proceedings of the ACM on Management of Data. 2: 1–27. arXiv:2401.02116. doi:10.1145/3639269.
  13. ^ "Consistency levels in Milvus". Retrieved September 29, 2024.
  14. ^ "Multi-tenancy strategies". Retrieved September 29, 2024.
  15. ^ "Hybrid Search". Retrieved September 23, 2024.
  16. ^ "Zilliz cloud". Retrieved October 10, 2024.
  17. ^ "What's New In Milvus 2.3 Beta - 10X faster with GPUs". Retrieved September 29, 2024.
  18. ^ "Milvus 2.3 Launches with Support for Nvidia GPUs". 23 March 2023. Retrieved September 29, 2024.
  19. ^ "NVIDIA RAFT library". GitHub.
  20. ^ Ootomo, Hiroyuki; Naruse, Akira; Nolet, Corey; Wang, Ray; Feher, Tamas; Wang, Yong (August 2023). "CAGRA: Highly Parallel Graph Construction and Approximate Nearest Neighbor Search for GPUs". arXiv:2308.15136 [cs.DS].
  21. ^ "Install Milvus Go SDK". Retrieved September 29, 2024.
  22. ^ "Get Started with Milvus Vector DB in .NET". March 6, 2024. Retrieved September 29, 2024.
  23. ^ "Integration HayStack + Milvus". Retrieved September 23, 2024.
  24. ^ "Milvus connector for LangChain". Retrieved September 23, 2024.
  25. ^ "IBM watsonx.data's integrated vector database: unify, prepare, and deliver your data for AI". IBM. April 9, 2024. Retrieved September 29, 2024.
  26. ^ "Getting started with Milvus and OpenAI". Mar 28, 2023. Retrieved September 23, 2024.
  27. ^ "OpenAI and Milvus simple app". GitHub. Retrieved September 23, 2024.