Milvus (vector database)

Last updated
Milvus
Developer(s) Zilliz
Initial releaseOctober 19, 2019;5 years ago (2019-10-19)
Stable release
v2.5.4 / January 24, 2025;13 days ago (2025-01-24).: [1]
Repository github.com/milvus-io/milvus
Written in C++, Go
Operating system Linux, macOS
Platform x86, ARM
Type Vector database
License Apache License 2.0
Website milvus.io

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

Contents

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

History

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

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

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

Deployment options

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

GPU support

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

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

References

  1. "Release notes for Milvus v2.5.4". GitHub .
  2. 1 2 "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. 1 2 3 "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.