Milvus 又又又又出新版本了!
Milvus 2.2.3 版本是 2.2 系列的小版本升级,尽管是小版本的更新,但是依然干货满满:
首先是带来了社区中呼声很高的 coordinator 节点的高可用能力;其次还新增了不停机滚动升级的功能;此外,在稳定性、性能方面都有着持续的提升。
接下来,就让我们一起来看一下具体变化:
为了提升系统稳定性,collection 支持的最大字段个数从 256 降低到了 64。
在 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 部署暂不支持。
Bulk-insert 是 2.2 系列新引入的功能,通过 Bulk-insert,用户可以将数据批量导入到 Milvus 中,能大大提升数据准备的效率。而在新版本中,Milvus 团队持续改进 Bulk-insert 的性能,具体内容如下:
数据库的可观测性对运维至关重要,也是 Milvus 团队持续关注的重点。在新版本中,我们增加了众多新的 metrics 指标,可以在 Prometheus 的监控面板中查看。具体新增 metrics 如下:
我们通过性能剖析,发现了部分性能优化点,通过这些优化,2.2.3 版本在性能上又有了喜人的进展:
除了性能优化,我们也修复了一些问题(30+),例如: