Last Week in Milvus
What's New
Core Updates
#26676 #26725 #26835 #26881 随着 2.3.0 发布后,Milvus 代码迎来了新一轮的小重构。包括代码耦合、参数传递不当、错误处理等,都在有序进行中。
#26839 来自 intel 的 bjzhjing 通过 profiling 发现热点代码,位于 storage.MergeInsertData(),它通过创建一个新的'InsertData'实例并将旧的 buffer.buffer 和 addedBuffer 合并到其中来更新 buffer.buffer。当调用 golang runtime.memmove 移动具有大尺寸(>1M)的 buffer.buffer 时,会出现热点。为了避免上述开销,将 addedBuffer 追加到 buffer.buffer 中。解决了热点 函数'runtime.memmove'。此外“upload + index”时间(vector-db-benchmark 的一项性能指标)减少了约 60%。
#26246 在此之前 Milvus 只支持将 Etcd 作为元数据存储。Etcd 有很多不错的功能,但它在水平扩展性方面存在限制。我们希望支持更具可扩展性的元数据存储,为此引入 TiKV 作为新的元数据存储。
#25852 Milvus 正在积极探索 FP32、binary 之外的向量格式。此 pr 开始支持 FP16 向量,相对与 FP32 存储开销和内存开销更小,在很多 AI 场景中有着广泛的应用,未来 Milvus 还会支持 BF16 向量。此 pr 当前只是在外层支持了 FP16,Milvus 内核及索引尚不支持 FP16,内部在计算时会将 FP16 转换成 FP32。
Knowhere
#48 修复 COSINE metric 爆搜失败的问题#56 调整索引 MMap 的参数,此改进 MMap 加载的数据可以翻倍而性能下降在合理范围内#39 移出了 IVF_FLAT_NM 索引#60 IVFFLAT 索引支持在 cosine 函数下返回原始向量
Backup
#192 增加 homebrew 支持,Mac 环境可以通过 brew 安装 backup 工具#194 增加 check 命令,检查对象存储是否能连通
New Contributor
Welcome bjzhjing peckjon yuhaowin yuyu-wy
What's Up Next
下周会发布 2.3.1,2.3.1 是 bugfix 版本没有引入什么新功能。
Did you know
Milvus 的 coordinator 节点支持 active-standby 模式下的高可用,具体详见 https://milvus.io/docs/coordinator_ha.md
评论