MILVUS

本文介绍了MILVUS,一款专为处理视频、图片和语音等非结构化数据设计的数据库系统,它通过向量化数据并使用分区和索引来提升存储、检索和比较效率。文章详细探讨了其存储策略、如何利用索引进行快速检索,以及支持的距离度量方法。
摘要由CSDN通过智能技术生成

What is MILVUS

I thinks MILVUS is a database system used to store and retrieve data like videos, images and voices, that cannot be stored in Mysql or Sqlite.

The main idea is that we can turn these data into vectors and assign each data a unique uid, so the system can find the relevant information like location, status and size accordingly from mysql. MILVUS does’t care about how to turn these data into vector, it focuses on how to store, compare and retrieve these vectors efficiently.

Storage

MILVUS divides a collection of vectors int several partitions, and labels each partition. When users try to insert or retrieve some vector, they can tell the system within which partition they want the vector to be retrieved or inserted, which will significantly improve the efficiency. For example, I have a piece of data vectorized from human face image, when I retrieve, I can tell the system that I want find this vector in the partition labelled “human face”, so the system will not go through the total collection.

Furthermore, MILVUS divides each partition into several segment, a segment usually contains thousands of entity. Currently, each entity has two property, UID and original vector. This means a segment contains two files, one to store all the UID of its entities, another to store all the vector data of its entities.

Retrieve

MILVUS applies vector index to accelerate the query, allowing users retrieve one or more vector more efficiently. To apply vector index, MILVUS combines some widely used vector index libraries including Faiss, NMSLIB, and Annoy.

MILVUS offers ANNS instead of 100% accurate retrieval, sacrifices certain accuracy to obtain higher efficiency. Also, users can specify the index they want to apply according to their need.

Compare

MILVUS provides several distance metrics to cope with different application scenarios. Including: Euclidean distance, Inner product, Jaccard distance, Tanimoto distance, Hamming distance, etc…

Question

  • Is MILVUS transactional?Does it support operation like commit and rollback?
  • Does MILVUS provide concurrency control? How?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Milvus 是一个开源的向量相似度搜索引擎,而Spring Boot 是一个用于构建基于 Java 的独立、生产级的应用程序的框架。 Milvus Spring Boot 是将 Milvus 与 Spring Boot 框架结合使用的一种方式。借助 Spring Boot,我们可以更方便地构建基于 Milvus 的应用程序。 首先,我们可以使用 Spring Boot 的依赖管理功能,将 Milvus 的 Java 客户端库添加到项目中。这样,我们就可以在我们的应用程序中直接使用 Milvus 的功能,如向量的插入、查询和删除等。 其次,Spring Boot 提供了强大的配置管理功能,我们可以轻松地将 Milvus 的连接配置信息添加到应用程序的配置文件中,例如指定 MilvusIP 地址、端口号和连接池大小等。这样,我们就可以灵活地管理 Milvus 与其他组件的连接。 另外,Spring Boot 还提供了便捷的 RESTful API 开发功能。我们可以利用这一特性,将 Milvus 的搜索引擎功能以接口的形式暴露给客户端,使得客户端可以通过 HTTP 请求来进行向量的检索。这样,我们可以轻松地建立一个灵活、高性能的分布式向量搜索系统。 总的来说,Milvus Spring Boot 结合了 Milvus 的强大功能和 Spring Boot 的便捷开发特性,使得我们可以更快速、灵活地搭建起一个高性能的向量搜索应用程序。它在大数据、人工智能等领域有广泛的应用前景,可以应对各种复杂的向量查询需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值