当前位置:   article > 正文

Milvus 新版本来啦!首席工程师带你划重点:安全、稳定、升级友好

如何查看milvus版本

aaf9e14861a362ee6986660c45da0c0e.png

Milvus 又又又又出新版本了!

Milvus 2.2.3 版本是 2.2 系列的小版本升级,尽管是小版本的更新,但是依然干货满满:

首先是带来了社区中呼声很高的 coordinator 节点的高可用能力;其次还新增了不停机滚动升级的功能;此外,在稳定性、性能方面都有着持续的提升。

接下来,就让我们一起来看一下具体变化:

不兼容变更

274e6dfe17d1e64f7091e419e5311073.png

为了提升系统稳定性,collection 支持的最大字段个数从 256 降低到了 64。

新特性

4dd5b601de1fefb9f34c931818a1563f.png

Coordinator HA 高可用

在 Milvus 2.x 的架构中,QueryCoord、DataCoord 等 coordinator 节点承担了元数据管理、系统调度能力。长期以来,coordinator 节点一直是单点状态,一旦这些 coordinator 节点卡住或宕机,写入、查询流程就会卡住,需要运维同学介入才能修复。经过大规模测试后,我们终于在 2.2.3 版本中完成了 Coordinator HA 功能的上线。

例如需要 QueryCoord 高可用,则打开配置项 queryCoord.enableActiveStandby=true,部署时启动两个 QueryCoord 节点,两者会按照启动先后顺序成为主备节点,当主节点不可用时,备用节点会成为新的 coordinator,这大大增强了系统的可用性。

此外,RootCoord、QueryCoord、DataCoord、IndexCoord 也都可以根据实际情况按需开启主备模式。

不停机滚动升级

随着 Milvus 在用户生产环境中逐渐落地,如何在不影响业务用户的前提下优雅升级、尽快享受新版 Milvus 的特性成为迫切的需求。对此,我们在 2.2.3 版本上线了滚动升级能力。这意味着在升级过程中,用户的查询、搜索请求不会中断。

注意:只有通过 helm 部署的 Milvus 集群支持滚动升级,Operator 部署暂不支持。

稳定性提升

98eb90ef38ba34f2a7701243b0e163d9.png

Bulk-insert 性能大幅提升

Bulk-insert 是 2.2 系列新引入的功能,通过 Bulk-insert,用户可以将数据批量导入到 Milvus 中,能大大提升数据准备的效率。而在新版本中,Milvus 团队持续改进 Bulk-insert 的性能,具体内容如下:

  • 流式数据导入和内存占用优化

  • JSON parser 性能优化

  • 导入过程中进度反馈

  • 流式读取 numpy 数据

Metrics 信息优化

数据库的可观测性对运维至关重要,也是 Milvus 团队持续关注的重点。在新版本中,我们增加了众多新的 metrics 指标,可以在 Prometheus 的监控面板中查看。具体新增 metrics 如下:

  • 元数据指标(meta):kv_size、request_latency、op_count

  • 存储指标 (storage):kv_size、request_latency、op_count

  • 消息指标 (msgstream):request_latency、op_count

查询性能提升

我们通过性能剖析,发现了部分性能优化点,通过这些优化,2.2.3 版本在性能上又有了喜人的进展:

  • Standalone 模式跳过不必要的 grpc 调用

  • 内核升级 Knowhere 版本,使用线程池控制并发,减少 growing segment 对性能的影响

  • 修复 string 类型字段被填充两次的问题

  • 优化 bitset 使用,提升效率

其他优化

  • Memory 占用降低

  • 元数据访问性能提升

问题修复

03c54e171cfb17aadc47cf839f231fad.png

除了性能优化,我们也修复了一些问题(30+),例如:

  • QueryCoordV2 的基础上又进一步改进了元数据同步方案,稳定性进一步提升,在之前版本中出现的 load 失败、元数据不一致导致的查询失败问题基本绝迹

  • 修复 Proxy 元数据缓存失效问题

  • 修复 Checkpoint 推进失败、Checkpoint 和 GC 冲突的问题

  • 修复 embedded etcd 无法使用的问题

  • 修复多个查询失败导致 QueryNode panic 的问题

点击“阅读原文”了解更多信息!


Zilliz 是向量数据库系统领域的开拓者和全球领先者,研发面向 AI 生产系统的向量数据库系统。Zilliz 以发掘非结构化数据价值为使命,致力于打造面向 AI 应用的新一代数据库技术,帮助企业便捷地开发 AI 应用。Zilliz 的产品能显著降低管理 AI 数据基础设施的成本,帮助 AI 技术赋能更多的企业、组织和个人。

9e4dbe00c551466506faedfd98c43bbf.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/704893
推荐阅读
相关标签
  

闽ICP备14008679号