向量数据库-Milvus

概念:

Milvus是云原生向量数据库,具备高性能、高可用、易扩展特点,适用海量向量数据的实施召回。

基于FAISS、Annoy、HNSW等向量搜索库构建,核心是解决稠密向量相似度检索的问题。

支持数据分区分片、数据持久化、增量数据摄取、标量向量混合查询、time travel等功能

特征向量:embedding vector,是指由embedding技术从离散变量转变而来的连续向量

向量相似度检索:

指将目标对象与向量数据库中的数据对比,通过近似最近邻搜索ANN算法计算向量之家的距离,并召回最相似的结果。

索引类型

大多数由Milvus支持的向量索引类型使用近似最近邻搜索(ANNS)

  • FLAT : 适合在小规模,百万级数据集上寻求完全准确和精准搜索结果的场景
  • IVF_FLAT: 量化索引,适合在精度和查询速度之间寻求理想平衡的场景
  • IVF_SQ8: 量化索引,适合在磁盘、CPU和GPU内存消耗非常有限的场景中显著减少资源消耗
  • IVF_PQ:量化索引,最适合于在高查询速度的情况下以牺牲精度为代价的场景。
  • HNSW:基于图形的索引,最适合于对搜索效率有很高需求的场景。
  • ANNOY:基于树形结构的索引,最适合于寻求高召回率的场景。

相似度度量
对于浮点嵌入:
  • 欧式距离(L2): (欧几里得距离)指标通常用于计算机视觉领域CV
  • 内积(IP):指标通常用于自然语言处理领域NLP
二元嵌入广泛使用的度量标准:
  • 哈明距离:常用于自然语言处理(NLP)领域。
  • 杰卡德距离:通常用于分子相似性搜索领域。
  • 塔尼莫托距离:通常用于分子相似性搜索领域。
  • 超结构距离:通常用于搜索分子的类似超结构。
  • 亚结构距离:通常用于搜索分子的类似亚结构。

架构:

系统分为四个层次:

访问层:access layer,由一组无状态代理组成,作为系统的前层和用户端点,对外提供用户连接的endpoint

协调器服务:coordinator service将任务分配给工作节点

工作节点:worker node,执行来自协调器服务的指令并执行用户触发的DML/DDL命令

存储:storage,负责数据持久化,包括分为元数据存储meta store、消息存储log broker、对象存储object storage三部分

管理工具

  • Attu

使用方式:

docker run -p 8000:3000 
    -e HOST_URL=http://192.168.9.207:8000 
    -e MILVUS_URL=192.168.9.207:19530 zilliz/attu 

# http://192.168.9.207:8000为指定本地的ip和8000端口
# 192.168.9.207:19530为mivlus的连接地址

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值