网页 综合 更新时间 2026-11-13 19:52:44

milvus insert api流程源码分析-阿里云开发者社区

自动蜘蛛 developer.aliyun.com 正文约 747 字
milvus insert api流程源码分析-阿里云开发者社区
Insert这个API写入数据,流程较长,是milvus的核心API之一,本文介绍大致的写入流程。
1.客户端sdk发出Insert API请求。
客户端SDK向proxy发送一个Insert API请求,向数据库写入数据。
这个例子向数据库写入2000条数据,每条数据是一个8维向量。
2.客户端接受API请求,将request封装为insertTask,并压入dmQueue队列。
注意这里是dmQueue。DDL类型的是ddQueue。
代码路径:internal\proxy\impl.go
客户端通过grpc发送数据,FieldData.Field存储接受的数据。
isFieldData_Field是一个接口,有2个实现:FieldData_Scalars和FieldData_Vectors。
3.执行insertTask的3个方法PreExecute、Execute、PostExecute。
PreExecute()一般为参数校验等工作。
PostExecute()执行完后的逻辑,什么都不做,返回nil。
代码路径:internal\proxy\task_insert.go
repackInsertData()这个函数还涉及到了segmentID的分配。
1.Insert由proxy向mq(pulsar)写入数据。通过虚拟channel写入。
2.在pulsar创建topic,向topic写入数据。
关注阿里云公众号或下载阿里云APP,关注云资讯,随时随地运维管控云服务
© 2009-现在 Aliyun.com 版权所有 增值电信业务经营许可证: 浙B2-20080101 域名注册服务机构许可: 浙D3-20210002
浙公网安备 33010602009975号
访问原文 返回搜索 https://developer.aliyun.com/article/1456858
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。