【Vector DB】Milvus快速上手介绍

发布时间:2026/9/6 2:19:59

【Vector DB】Milvus快速上手介绍
它是目前全球最流行的开源向量数据库之一由 Zilliz 开发并捐赠给 LF AI Data 基金会。在 AI 和大模型LLM时代Milvus 扮演着“长期记忆”和“语义搜索引擎”的关键角色。下面我将从定义、SQL 映射、解决的问题以及优缺点四个维度为大家详细介绍。1. Milvus 是什么简单来说Milvus 是一个专为海量向量数据设计的云原生数据库。传统数据库如 MySQL处理的是结构化数据数字、字符串通过精确匹配或 B树索引查询。Milvus处理的是非结构化数据图片、音频、文本转化后的高维向量Embedding。它不追求“精确相等”而是追求“相似度搜索”Approximate Nearest Neighbor Search, ANNS。核心概念在 Milvus 中万物皆向量。一段文字的语义、一张图片的特征都被表示为[0.12, -0.34, ..., 0.99]这样的浮点数数组。2. Milvus 的 DDL / DML / DQL 详解与举例虽然 Milvus 不是关系型数据库但为了降低学习成本它提供了类似 SQL 的操作语义通过 PyMilvus SDK 或 Milvus CLI。️ DDL (Data Definition Language) - 数据定义在 Milvus 中DDL 主要围绕Collection集合和Schema模式展开相当于传统数据库的 Table。操作Milvus 对应概念说明Python (PyMilvus) 示例CREATE TABLEcreate_collection创建集合需定义字段、主键、向量维度utility.create_collection(namedocs, schemaschema)DROP TABLEdrop_collection删除整个集合utility.drop_collection(docs)CREATE INDEXcreate_index核心操作。为向量字段创建 ANN 索引如 HNSW, IVF_FLATcollection.create_index(field_nameembedding, index_params{index_type: HNSW, ...})ALTERalter_collection修改集合属性如 TTL、副本数collection.alter_properties({collection.ttl.seconds: 3600})⚠️ 注意Milvus 的 Schema 是强类型的。你必须预先定义好哪些字段是标量Int/Varchar哪个字段是向量FloatVector/BinaryVector以及向量的维度如 768, 1536。✏️ DML (Data Manipulation Language) - 数据操作Milvus 支持数据的增删改但有其特殊性例如不支持单条 Update 向量通常采用 Upsert。操作Milvus 对应方法说明示例INSERTinsert批量插入数据支持动态字段collection.insert([{id: 1, text: hello, vec: [0.1, ...]}])UPSERTupsert插入或更新基于主键。推荐用于数据同步collection.upsert(data_list)DELETEdelete按主键或过滤表达式删除collection.delete(exprid in [1, 2, 3])FLUSHflushMilvus 特有。将内存中的数据持久化到对象存储确保数据可被搜索utility.flush([docs]) 关键点Milvus 是存算分离架构写入后数据先进入消息队列Pulsar/Kafka和缓存必须flush或等待自动 flush 后新数据才对搜索可见。 DQL (Data Query Language) - 数据查询这是 Milvus 最核心的部分分为向量搜索Search和标量查询Query。操作方法说明示例向量搜索search基于向量相似度找 Top-K。支持混合过滤collection.search(data[query_vec], anns_fieldembedding, param{metric_type: COSINE, params: {nprobe: 10}}, limit10, expryear 2020)标量查询query类似 SQL SELECT仅按条件过滤不走向量索引collection.query(exprauthor 鲁迅, output_fields[title, content])混合查询hybrid_search多路召回 重排序Rerank。结合多个向量字段或稀疏/稠密向量collection.hybrid_search(reqs[sparse_req, dense_req], rankerRRFRanker(), limit10) Search vs Query 的区别search必须传入向量计算距离返回相似结果。query不传向量只做元数据过滤相当于SELECT * FROM table WHERE ...。3. Milvus 解决了什么问题Milvus 填补了传统数据库在AI 原生应用中的空白非结构化数据的语义检索让计算机理解“意思”而不是“关键字”。例如搜索“如何缓解焦虑”能匹配到“放松心情的方法”即使没有相同词汇。RAG检索增强生成作为大模型的外挂知识库解决 LLM 幻觉和知识过时问题。海量向量的高效检索在十亿级向量规模下实现毫秒级响应。传统暴力搜索Flat需要数小时Milvus 通过 HNSW/DiskANN 等索引只需几毫秒。多模态融合同时存储文本向量、图像向量及业务元数据支持跨模态搜索和混合过滤。4. 优缺点分析✅ 优点极致性能专为向量优化支持 GPU 加速十亿级数据毫秒级响应。云原生架构存算分离依赖 MinIO/S3 存储 Pulsar/Kafka 日志支持弹性扩缩容。生态丰富支持多种索引类型HNSW, IVF, DiskANN, GPU_IVF、多种距离度量、LangChain/LlamaIndex 深度集成。混合搜索能力原生支持标量过滤 向量搜索且支持 Sparse-Dense 混合检索BM25 Vector。社区活跃LF AI 顶级项目文档完善迭代快。❌ 缺点 / 挑战运维复杂度高生产环境依赖 etcd MinIO Pulsar/Kafka Milvus 节点组件多对 SRE 要求高。注轻量版 Milvus Lite 已缓解此问题适合单机/开发非事务性不支持 ACID 事务。不适合做金融转账等强一致性业务只适合 AI 检索场景。资源消耗大高性能索引如 HNSW极其吃内存。十亿级 128维向量可能需要数百 GB 内存可用 DiskANN 缓解。学习曲线需要理解 Embedding、ANN 索引原理、分片、一致性级别等 AI Infra 概念比 MySQL 门槛高。更新代价向量索引本质是图或聚类结构频繁 Delete/Upsert 会导致性能衰减需要定期 Compaction。 总结给同学们的建议场景是否推荐 Milvus替代方案RAG / 知识库 / 语义搜索⭐⭐⭐⭐⭐ 强烈推荐Weaviate, Qdrant推荐系统 / 图像检索⭐⭐⭐⭐⭐ 强烈推荐Faiss (单机), Elasticsearch小规模原型 / 本地开发⭐⭐⭐⭐ Milvus LiteChromaDB, SQLite-VSS已有 ES/PG 且向量需求简单⭐⭐⭐ 可选pgvector, Elasticsearch knn强事务 / 报表统计❌ 不推荐PostgreSQL, MySQL学习路径建议先用pymilvus[lite]在本地跑通 Demo → 理解 HNSW 索引参数 → 部署 Docker Compose 版 → 接入 LangChain 做 RAG → 最后再考虑 K8s 集群部署。

相关新闻

大语言模型工程化落地:5个核心方法与Python代码实操

大语言模型工程化落地:5个核心方法与Python代码实操

2026/9/6 2:19:59

大语言模型本质上是一个基于深度学习的概率模型,可以将其理解为一台超级文字接龙机器。它通过阅读海量文本,学习词语之间的概率分布,从而预测下一个最可能出现的词。要真正用好这台机器,我们需要掌握从基础交互到工程化落地的具体…

基于Python的BOSS直聘土木类岗位数据分析与可视化毕业设计

基于Python的BOSS直聘土木类岗位数据分析与可视化毕业设计

2026/9/6 2:19:59

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在通过对BOSS直聘平台土木类岗位数据的系统采集与深入分析,揭示当前土木工程行业人才供需结构、薪酬水平及职业发展趋势,从而为高…

GLM-5.3-Flash接入Cline实战:配置、对比与免费额度解析

GLM-5.3-Flash接入Cline实战:配置、对比与免费额度解析

2026/9/6 2:09:58

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

用Skill给AI安排岗位:30+技能归并成8个角色的AI团队实战

用Skill给AI安排岗位:30+技能归并成8个角色的AI团队实战

2026/9/6 3:20:01

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Scout Bowie:基于Sleeper API的梦幻体育选秀与阵容优化实战

Scout Bowie:基于Sleeper API的梦幻体育选秀与阵容优化实战

2026/9/6 3:20:01

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

SSH客户端自带SFTP够用吗?四款主流工具深度对比与选型指南

SSH客户端自带SFTP够用吗?四款主流工具深度对比与选型指南

2026/9/6 3:20:01

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

动力电池Pack设计全解:从热管理到CCS电芯连接系统

动力电池Pack设计全解:从热管理到CCS电芯连接系统

2026/9/6 3:20:01

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

推荐一款开源局域网 TV 投屏助手:DLNA m3u8 + 浏览器 Network 检测

推荐一款开源局域网 TV 投屏助手:DLNA m3u8 + 浏览器 Network 检测

2026/9/6 3:20:01

做局域网投屏的时候,我常遇到两类麻烦:电视在同一 Wi-Fi 里,但手机找不到;网页里明明有 HLS 流,却要把 m3u8 从开发者工具里抠出来再手动填。TV 投屏助手把这两步收进同一个 App:扫描局域网电视&#xff0c…

基于MLP的反派角色实力评估:机器学习在动漫游戏数据分析中的应用

基于MLP的反派角色实力评估:机器学习在动漫游戏数据分析中的应用

2026/9/6 3:10:01

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/6 1:19:56

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/6 1:19:56

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/6 1:19:56

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/6 1:19:56

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/6 1:19:56

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/6 1:19:56

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

远程协作的工作台整理

远程协作的工作台整理

2026/9/3 6:56:24

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/4 7:42:10

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/5 23:14:13

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…