Jump to content

Draft:Milvus (vector database)

From Wikipedia, the free encyclopedia
(Redirected from Draft:Milvus)
Milvus
Developer(s)Zilliz
Initial releaseOctober 19, 2019; 4 years ago (2019-10-19)
Stable release
v2.4.12 / September 26, 2024; 6 days ago (2024-09-26).[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.

Milvus has 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[3]

Features

[edit]
[edit]

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

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

Database

[edit]

As a database, Milvus has the following features:[4]:

  • Column-oriented database
  • Supported data consistency levels[10]:
    • Strong consistency ensures that users can read the latest version of data,
    • Bounded staleness allows data inconsistency during a certain period of time,
    • Session ensures that all data writes can be immediately perceived in reads during the same session,
    • Eventual consistency ensures that replicas eventually converge to the same state given that no further write operations are done.
  • Data sharding
  • Streaming data ingestion, which allows to process and ingest data in real-time as it arrives,
  • Dynamic schema, which allows inserting the data without a predefined schema,
  • Storage/computing disaggregation, which splits the database system into several mutually independent layers,
  • Multi-tenancy scenarios (database-oriented, collection-oriented, partition-oriented)[11]
  • Memory-mapped data storage,
  • Role-based access control,
  • Multi-vector and hybrid search [12]

Deployment options

[edit]

Milvus supports working in the following modes[13]:

  • Embedded, which is achieved via a Python-based wrapper pymilvus[14]
  • Standalone, which is designed for operating on a single machine. Docker-based images are preferred.
  • Distributed, which can be deployed on a Kubernetes cluster.

GPU support

[edit]

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

Integration

[edit]

Milvus provides official SDK clients for Java, NodeJS, Python and Go[19]. An additional C# SDK client was contributed by Microsoft[4][20].

Milvus support integration with Prometheus and Grafana for monitoring and alerts.

Milvus provides connectors[4] for OpenAI models[21][22], HayStack[23], LangChain[24]

Milvus supports integration with IBM Watsonx.[25]

See also

[edit]

References

[edit]
  1. ^ "Release notes for Milvus v2.4.12".
  2. ^ a b "LF AI & Data Foundation Announces Graduation of Milvus Project". June 23, 2021.
  3. ^ "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.
  4. ^ a b c d "Milvus overview". Retrieved September 23, 2024.
  5. ^ "Faiss". Retrieved September 23, 2024.
  6. ^ "The Faiss library". Retrieved September 23, 2024.
  7. ^ "DiskANN library". Retrieved September 23, 2024.
  8. ^ "DiskANN: Fast Accurate Billion-point Nearest Neighbor Search on a Single Node" (PDF). Retrieved September 23, 2024.
  9. ^ "Hnswlib - fast approximate nearest neighbor search". Retrieved September 23, 2024.
  10. ^ "Consistency levels in Milvus". Retrieved September 29, 2024.
  11. ^ "Multi-tenancy strategies". Retrieved September 29, 2024.
  12. ^ "Hybrid Search". Retrieved September 23, 2024.
  13. ^ "Deployment options".
  14. ^ "Python SDK for Milvus".
  15. ^ "What's New In Milvus 2.3 Beta - 10X faster with GPUs". Retrieved September 29, 2024.
  16. ^ "Milvus 2.3 Launches with Support for Nvidia GPUs". Retrieved September 29, 2024.
  17. ^ "NVIDIA RAFT library".
  18. ^ "CAGRA: Highly Parallel Graph Construction and Approximate Nearest Neighbor Search for GPUs". August 2023. Retrieved September 23, 2024.
  19. ^ "Install Milvus Go SDK". Retrieved September 29, 2024.
  20. ^ "Get Started with Milvus Vector DB in .NET". March 6, 2024. Retrieved September 29, 2024.
  21. ^ "Getting started with Milvus and OpenAI". Mar 28, 2023. Retrieved September 23, 2024.
  22. ^ "OpenAI and Milvus simple app". Retrieved September 23, 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". April 9, 2024. Retrieved September 29, 2024.