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

news2024/11/24 13:23:42

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/346553.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第八章:DNS解析服务器搭建

今天先讲一下DNS的简单配置。 Windows server DNS: 点击工具选择DNS 右击正向查找区域,然后选择新建,如果是根域就可以勾AD储存,不是的话就别勾 名字可以随便 最后点击完成,这是正向解析 右击反向查找区域&#xff0c…

面试浅谈之十大排序算法

面试浅谈之十大排序算法 HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是面试浅谈系列,收录在专栏面试中 😜😜😜 本系列将记录一些阿呆个人整理的面试题 🏃&…

【QA】[vue/element-ui] 日期输入框的表单验证问题

引入&#xff1a;element-ui的表单验证是使用rules来定义规则&#xff0c;其中日期类型的表单输入框如图所示&#xff0c;一般会使用 format 来设置自己需要的日期格式&#xff1a; <el-form-item label"生日" prop"birthday"><el-col :span&quo…

Java高手速成 | 图说重定向与转发

我们先回顾一下Servlet的工作原理&#xff0c;Servlet的工作原理跟小猪同学食堂就餐的过程很类似。小猪同学点了烤鸡腿&#xff08;要奥尔良风味的&#xff09;&#xff0c;食堂窗口的服务员记下了菜单&#xff0c;想了想后厨的所有厨师&#xff0c;然后将菜单和餐盘交给专门制…

RabbitMQ运行机制

消息的TTL&#xff08;Time To Live&#xff09; 消息的TTL就是消息的存活时间。 • RabbitMQ可以对队列和消息分别设置TTL。 • 对队列设置就是队列没有消费者连着的保留时间&#xff0c;也可以对每一个单独的消息做单独的 设置。超过了这个时间&#xff0c;我们认为这个消息…

什么是溶血症?什么是ABO溶血?溶血检查些什么?

什么是溶血症&#xff0c;什么是ABO溶血&#xff1f;女人是O型血&#xff0c;男人是其他血型的夫妻配对&#xff0c;最担心的是胎儿溶血症。从理论上讲&#xff0c;只要夫妻双方血型不同&#xff0c;母亲一定缺乏胎儿从父亲那里遗传的抗原。当任何人接触到他们缺乏的抗原时&…

Vue+node.js火车票订票系统vscode开发的

该系统的基本功能包括管理员、用户二个角色功能模块。 对于管理员可以使用的功能模块主要有&#xff0c;首页、个人中心&#xff0c;用户管理、系统公告管理、车次管理、车票信息管理、订票信息管理、系统管理等功能。 对于用户所使用的功能模块的操作主要是首页、个人中心、订…

【python百炼成魔】手把手带你学会python数据类型

文章目录前言一. python的基本数据类型1.1 如何查看数据类型1.2 数值数据类型1.2.1 整数类型1.2.2 浮点数类型1.2.3 bool 布尔数值类型1.2.4 字符串类型二. 数据类型强制转换2.1 强制转换为字符串类型2.2 强制转换为int类型2.3 强制转换函数之float() 函数三. 拓展几个运算函数…

2023年华为HCIA-Datacom认证视频课

一、下载地址&#xff1a;https://edu.csdn.net/learn/38282/607342?spm1003.2001.3001.4157 一、课程大纲 2023年华为考试大纲 考试分数章目录小节80第1章&#xff1a;网络参考模型1.1OSI网络参考模型介绍1.2OSI网络参考模型各层的作用1.3 OSI与TCP/IP模型的比较1.4 TCP与U…

【转载】通过HAL库实现MODBUS从机程序编写与调试-----STM32CubeMX操作篇

通过HAL库实现MODBUS从机程序编写与调试-----STM32CubeMX操作篇[【STM32】RS485 Modbus协议 采集传感器数据](https://blog.csdn.net/qq_33033059/article/details/106935583)基于STM32的ModbusRtu通信--ModbusRtu协议(一)基于STM32的ModbusRtu通信--终极Demo设计(二)STM32RS48…

TensorRT的C++接口解析

TensorRT的C接口解析 文章目录TensorRT的C接口解析3.1. The Build Phase3.1.1. Creating a Network Definition3.1.2. Importing a Model using the ONNX Parser3.1.3. Building an Engine注意&#xff1a;序列化引擎不能跨平台或 TensorRT 版本移植。引擎特定于它们构建的确切…

“黑铁时代”,地产人如何以客户视角加速房企数字化转型

本文从行业洞察、业务设计、数据建设以及实践探索四个部分详细阐述地产行业数字化的实践、思考和理解。点击文末“阅读原文”&#xff0c;观看完整版直播回放并下载演讲文档。一、洞察&#xff1a;房企经营思路的变化企业的转型都是围绕着业务经营变化进行的&#xff0c;房企数…

P1307 [NOIP2011 普及组] 数字反转

[NOIP2011 普及组] 数字反转 题目描述 给定一个整数 NNN&#xff0c;请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式&#xff0c;即除非给定的原数为零&#xff0c;否则反转后得到的新数的最高位数字不应为零&#xff08;参见样例 2&#xff09;。 输入…

电源口防雷器电路设计方案

电源口防雷电路的设计需要注意的因素较多&#xff0c;有如下几方面&#xff1a;1、防雷电路的设计应满足规定的防护等级要求&#xff0c;且防雷电路的残压水平应能够保护后级电路免受损坏。2、在遇到雷电暂态过电压作用时&#xff0c;保护装置应具有足够快的动作响应速度&#…

Git:单台电脑同时配置多个git账号

问题说明 现在云端仓库很多&#xff0c;有开源中国的 gitee.com 、微软的 github.com 、还有 gitlab.com 和 bitbucket.org 等等&#xff0c;当我们想同一台电脑链接多个云端仓库时&#xff0c;就需要设置不同的用户、邮箱生成不同的密钥进行链接。 解决方案 下载安装Git 我的…

【Java】容器+数组+集合

一、数组 Java语言中的数组是一种引用数据类型&#xff1b;不属于基本数据类型数组当中既可以存储“基本数据类型”的数据&#xff0c;也可以存储“引用数据类型”的数据&#xff08;数组既可以存储基本数据类型&#xff0c;又可以存储引用数据类型&#xff0c;基本数据类型存…

gdb调试功能从零到会(Linux详解)

目录 &#x1f440; 1.安装gdb &#x1f440;2.判断是否安装成功 &#x1f440;3.改成debug方式发布。 &#x1f440; 4.gdb功能简介 前言 gdb是Linux 下功能全面的调试工具。gdb支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段。在Linux环境软件…

18- Adaboost梯度提升树 (集成算法) (算法)

Adaboost 梯度提升树: from sklearn.ensemble import AdaBoostClassifier model AdaBoostClassifier(n_estimators500) model.fit(X_train,y_train) 1、Adaboost算法介绍 1.1、算法引出 AI 39年&#xff08;公元1995年&#xff09;&#xff0c;扁鹊成立了一家专治某疑难杂症…

ubuntu18.04 天选2 R95900hx 3060显卡驱动安装

天选2 R95900hx 3060显卡驱动安装需求问题解决内核集显显卡驱动需求 外接显示器&#xff0c;安装nvidia驱动 问题 由于一开始直接在软件和更新中附加读懂安装了nvidia-470&#xff0c;导致系统黑屏。 解决 grub页面系统选择进入ubuntu recovery模式&#xff0c;选择root&a…

ChatGPT模型采样算法详解

ChatGPT模型采样算法详解 GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型有几个参数&#xff0c;理解它们对文本生成任务至关重要。其中最重要的一组参数是temperature和top_p。二者控制两种不同的采样技术&#xff0c;用于因果语言模型&#xff08;Cau…