当前位置: 首页 > wzjs >正文

飞数石家庄网站建设深圳市住房和建设局网站和市住宅租赁管理服务中心

飞数石家庄网站建设,深圳市住房和建设局网站和市住宅租赁管理服务中心,深圳软件开发公司招聘,汉中市住房和城乡建设局网站Milvus向量数据库入门与核心原理详解 目录 引言Milvus的核心概念Milvus的系统架构Milvus的核心原理总结与预告 1. 引言 什么是向量数据库? 向量数据库(Vector Database)是专为存储和查询高维度向量数据设计的系统,适用于处理文…

Milvus向量数据库入门与核心原理详解


目录

  1. 引言
  2. Milvus的核心概念
  3. Milvus的系统架构
  4. Milvus的核心原理
  5. 总结与预告

1. 引言

什么是向量数据库?

向量数据库(Vector Database)是专为存储和查询高维度向量数据设计的系统,适用于处理文本、图像、音频等非结构化数据。传统的数据库难以高效处理这些数据,因为它们通常需要通过嵌入模型(如BERT、ResNet)将原始数据转换为数值向量(Embedding),再通过向量相似性搜索(如余弦相似度、欧氏距离)实现快速检索。

Milvus的诞生背景

Milvus 是一款高性能、可扩展的开源向量数据库,专为处理由深度神经网络和其他机器学习模型生成的大规模嵌入向量而设计。自2019年发布以来,Milvus 已成为推荐系统、图像检索、自然语言处理等领域的核心工具。其核心优势包括:

  • 高性能:支持万亿级向量数据的毫秒级检索。
  • 云原生架构:存储与计算分离,支持弹性扩展。
  • 多样化的索引策略:如 HNSW、IVF_FLAT、IVF_PQ 等。
  • 混合查询能力:支持向量相似性搜索与标量过滤的联合操作。

2. Milvus的核心概念

向量数据与非结构化数据

非结构化数据(如文本、图像、音频)需通过嵌入模型生成高维向量(Embedding Vector),例如:

  • 文本:通过 BERT 等模型生成 768 维向量。
  • 图像:通过 ResNet 等模型生成 2048 维向量。

Milvus 的核心任务是高效存储和检索这些向量数据。

Milvus vs 传统数据库

特性传统数据库Milvus 向量数据库
数据类型结构化数据(表、行、列)高维向量 + 标量元数据
查询方式SQL 过滤与聚合向量相似性搜索 + 标量过滤
索引策略B+ 树、哈希表HNSW、IVF_PQ、FLAT 等 ANN 索引
扩展性垂直扩展为主水平扩展,支持 PB 级数据

3. Milvus的系统架构

Milvus 的架构遵循 数据流与控制流分离 的原则,分为四层:

1. 接入层(Proxy)

  • 功能:接收客户端请求,路由到对应的执行节点,聚合结果返回客户端。
  • 特点:无状态代理,支持负载均衡(如 Nginx、Kubernetes Ingress)。
  • 示例:客户端通过 pymilvus SDK 连接 Milvus 服务。
from pymilvus import connections
connections.connect(host='localhost', port='19530')

2. 协调服务(Coordinator Service)

  • 核心角色
    • Root Coord:集群拓扑管理与元数据存储。
    • Data Coord:数据分配与一致性管理。
    • Query Coord:查询任务调度与负载均衡。
    • Index Coord:索引构建与优化。
  • 特点:通过 Raft 协议确保高可用性,支持动态扩缩容。

3. 执行节点(Worker Node)

  • 类型
    • Data Node:处理数据插入、更新、删除。
    • Query Node:执行向量搜索与标量过滤。
    • Index Node:构建和维护索引(如 HNSW、IVF_PQ)。
  • 特点:支持并行处理,适配 CPU/GPU 加速。

4. 存储层

  • 组件
    • 元数据存储:使用 etcd 确保强一致性。
    • 消息存储:通过 WAL(Write-Ahead Log)保证数据持久化。
    • 对象存储:支持 S3、MinIO 等,用于存储索引文件和向量数据。
  • 特点:存储与计算分离,支持 PB 级数据持久化。

4. Milvus的核心原理

1. 数据模型

Milvus 的数据模型基于 集合(Collection)字段(Field)

  • Collection:类似于传统数据库的表,存储向量和标量数据。
  • Field:定义字段类型(如 INT64FLOAT_VECTOR)和约束(如主键、向量维度)。
from pymilvus import FieldSchema, CollectionSchema, DataType
fields = [FieldSchema(name="id", dtype=DataType.INT64, is_primary=True),FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128)
]
schema = CollectionSchema(fields, "Example Collection")
collection = Collection("example_collection", schema)

2. 索引机制

Milvus 支持多种索引类型,适用于不同场景:

索引类型适用场景优势
FLAT小规模数据精确搜索无精度损失
IVF_FLAT中大规模数据平衡精度与速度支持标量过滤
HNSW高并发低延迟场景无需倒排索引,动态更新
IVF_PQ超大规模数据压缩存储内存占用低,适合 GPU 加速
CAGRAGPU 加速场景利用 CUDA 并行计算

索引构建示例

index_params = {"index_type": "IVF_PQ","params": {"nlist": 100, "m": 16},"metric_type": "L2"
}
collection.create_index("embedding", index_params)

3. 时间旅行机制

Milvus 通过 MVCC(多版本并发控制)LSM 树 实现时间点查询(Point-in-Time Query):

  • MVCC:记录数据的多个版本,支持按时间戳读取历史数据。
  • LSM 树:将内存数据定期刷写到磁盘,优化写入性能。

5. 总结与预告

总结

Milvus 通过云原生架构、多样化的索引策略和高效的向量检索能力,成为处理非结构化数据的核心工具。其核心价值在于:

  • 高性能:毫秒级检索万亿级向量。
  • 灵活性:支持多种索引类型和混合查询。
  • 可扩展性:存储与计算分离,适配大规模场景。

预告

在下一次博客中,我们将深入 Milvus 的实战操作,包括:

  1. 环境部署:单机版与集群版的 Docker 部署。
  2. 基础操作:通过 Python SDK 创建集合、插入数据、构建索引。
  3. 实战案例:实现语义搜索系统(如文档检索、图像相似性匹配)。

参考资料

  • Milvus 官方文档:https://milvus.io/docs/zh/
  • CSDN 技术社区:https://blog.csdn.net/
  • GitHub 仓库:https://github.com/milvus-io/milvus

版权声明:本文为原创文章,转载请注明出处。


文章转载自:

http://HpSL7luD.rfrnc.cn
http://6kcolrZ8.rfrnc.cn
http://aR7GSuOf.rfrnc.cn
http://sX8jRmpZ.rfrnc.cn
http://Hb5mBaTL.rfrnc.cn
http://JuHpvply.rfrnc.cn
http://XwZGZpzR.rfrnc.cn
http://2KXOxU4c.rfrnc.cn
http://bP0cdUad.rfrnc.cn
http://YeFjTQ6D.rfrnc.cn
http://Vi2Wkr3i.rfrnc.cn
http://5zFFO1VL.rfrnc.cn
http://Hzm3Y0kq.rfrnc.cn
http://7rWzQmge.rfrnc.cn
http://Ftz4TGLF.rfrnc.cn
http://enjWw9Tf.rfrnc.cn
http://CPTNIZn0.rfrnc.cn
http://dsReyIyG.rfrnc.cn
http://zSowmALF.rfrnc.cn
http://pYMEgFY3.rfrnc.cn
http://9HCxKqpd.rfrnc.cn
http://5GfARN5u.rfrnc.cn
http://RzfSYlT8.rfrnc.cn
http://gx3r8atw.rfrnc.cn
http://48zcyYlT.rfrnc.cn
http://JO2Zcjh0.rfrnc.cn
http://dXZldJSI.rfrnc.cn
http://JRQHY1rU.rfrnc.cn
http://2yERLiI9.rfrnc.cn
http://me6ZmgEl.rfrnc.cn
http://www.dtcms.com/wzjs/627984.html

相关文章:

  • 赣州网站建设平台外包小程序开发注意事项
  • 如何自己建造网站免费网页设计生成器
  • 网站如何做app广东做网站找谁
  • wordpress网站域名地址物流网络名词解释
  • 云南电信网站备案北京工商注册网官网
  • 网站推广方案注意事项网络营销的概念与含义谷歌
  • 注销网站备案时间wordpress icp
  • 门户网站程序做网站公司需要帮客户承担广告法吗
  • 怎么做彩票网站做网站平台公司有哪些
  • wordpress博客站搭建怎么做培训班网站
  • 宁波企业网站开发com网站域名注册
  • 建设品牌网站免费合作加工厂
  • 线上学编程哪个机构比较好四川seo推广公司
  • 电商网站建设资讯子夜免费观看
  • 海淀区网站建设公司广州网站建设定制费用
  • php程序员湛江seo网站管理
  • 国内公司网站需要备案吗烟台seo网站推广费用
  • 怎么自己创建网站免费wordpress系统配置
  • 深圳市建设注册执业资格中心网站网站代理做反向
  • 做网站的好公司有哪些网站建设 天猫 保证金
  • 基本型电子商务网站2019河北省建设厅检测员报名网站
  • 哪个网站可以免费学编程做网站策划书
  • ui外包网站网站域名空间购买
  • 手机建站平台哪个便宜查公司注册信息怎么查
  • 网站建设哪家学校好apache 静态网站
  • 网站怎么做动态图片私密浏览器免费看片在线看
  • 广饶网站设计做门户网站的框架
  • 求个没封的w站2021你懂郑州艾特网站建设
  • 胶州建设工程信息网站做企业网站赚钱吗
  • 广州网站建设公司电话黄骅贴吧足疗