向量数据库 Milvus

发布时间:2026/7/2 5:03:35

向量数据库 Milvus 为专门为处理输入向量查询而设计的数据库它能够对万亿规模的向量进行索引。与现有的关系数据库主要处理遵循预定义模式的结构化数据不同Milvus 是自下而上设计的旨在处理从非结构化数据转换而来的嵌入向量。Milvus 采用共享存储架构存储计算完全分离计算节点支持横向扩展。从架构上来看Milvus 遵循数据流和控制流分离整体分为了四个层次分别为接入层access layer、协调服务coordinator service、执行节点worker node和存储层storage。各个层次相互独立独立扩展和容灾。2. 核心概念理解EmbeddingsEmbedding 把文字 / 图片 / 音频变成一串数字向量让计算机能 “读懂” 内容的含义。2.1 数据库概念Collections相当于关系数据库中的“表”用于存储和管理实体。实体Entity行由多个字段组成代表现实世界对象每个实体有唯一主键可自定义或 AutoID。字段Field,列支持标量字段int, string和向量字段dense/sparse vector。模式Schema定义 Collection 的结构包括字段、主键是否自动递增AutoID、描述等。动态模式Dynamic Schema,允许插入未在 Schema 中预定义的新字段实现无 Schema 写入。非结构化数据图像、视频、文本等无固定格式数据通过 AI 模型转入向量存储 Milvus。向量Vector,非结构化数据图像、视频、文本的嵌入表示Milvus 2.4 支持密集向量和稀疏向量。主键与ID(AutoID)主键字段的属性启用后由系统根据时间戳自动生成唯一 ID索引与搜索Index 为加速向量相似性搜索而构建的数据结构支持多种类型IVF, HNSW 等。自动索引Milvus 根据经验自动选择最优索引类型和参数适合无需精细调参的场景。度量类型Metric Type定义向量相似度计算方式L2欧氏距离、IP内积、COSINE余弦、二元等。搜索Search基于向量执行相似性搜索的 API。查询Query使用布尔表达式对标量字段进行过滤的 API 。过滤搜索向量搜索 标量条件过滤如category cat。混合搜索Milvus 2.4 支持对多个向量字段同时搜索并融合结果。范围搜索 查找与目标向量距离在指定范围内的结果。高级功能嵌入Embedding Milvus 内置支持调用嵌入模型如 text2vec简化向量化流程。Milvus 集群分布式部署支持高可用、水平扩展。数据组织名称解释分区Partition对 Collection 的逻辑划分减少读取时扫描的数据量。分区键Partition Key按字段值自动分片使相同简直的数据落在同一分区加速带该字段过滤的查询。碎片Shard基于主键哈希的物理分片用于分散写入负载提升读写吞吐。分段Segment存储实体数据文件分为成长段接收新数据和“封存段”只读对象存储流式日志名称解释通道ChannelMilvus 流架构的核心单元分 PChannel物理和 VChannel虚拟。PC 通道PChannel物理通道对应 Woodpecker 管理的一个 WAL 流。VChannel虚拟通道对应一个 Collection 的一个分片shard。流服务Stream Service基于 WAL 构建支持流式写入、故障恢复、数据订阅等。日志快照Binlog记录数据变更的二进制日志分 Insert/Delete/DDL 三类。WAL storage先写日志机制确保数据持久性和一致性。MemoryBufferWoodpecker 轻量模式数据暂存内存后刷入对象存储适合小规模批量写入。QuorumBufferWoodpecker 高可用模式三副本法定写入适合低延迟、高可靠场景。工具与生态名称解释AttuMilvus 官方一体化 Web 管理 UI降低运维复杂度。Birdwatcher调试工具连接 etcd 实时监控 Milvus 状态支持 etcd 备份与故障排查。PyMilvus官方 Python SDK支持 ORM 和 MilvusClient 两种使用方式。Milvus 备份数据备份工具用于灾难恢复。依赖组件Milvus 依赖 etcd元数据、MinIO/S3对象存储、Pulsar/Kafka旧版日志或 Woodpecker新版 WAL。2.2 部署模式Milvus 单机版 所有组件运行于单进程适合开发/测试。Milvus 集群分布式部署支持高可用、水平扩展。2.3 安装Milvus 是一个高性能、可扩展的向量数据库。它支持各种规模的用例从在 Jupyter 笔记本中本地运行的演示到处理数百亿向量的大规模 Kubernetes 集群。目前Milvus 有三种部署选项Milvus Lite、Milvus Standalone 和 Milvus Distributed。

相关新闻