点击查看 Milvus 社区十大关键词(下)

news2024/11/15 4:47:51

在昨天的文章《点击查看 Milvus 社区十大关键词(上)》中,我们提到将 2023 年所有 Milvus 技术交流群的聊天历史做了整理分析,得到了如下的一张词云图:

alt

按照热度,排名前十的关键词依次为:版本、查询、内存、插入、配置、日志、集群、文档、 部署、删除。昨天我们已经详解了前五大关键词,今天我们来聊聊剩下的其他五个关键词!

01.「日志」:问题定位的指南针

  • “2.X 集群的日志在哪里导啊”

  • “现在没有对 Milvus 进行任何读写操作,但是日志还是不断增加,这正常吗?”

  • “请教下 k8s 部署的 Milvus 日志如果持久化,只能使用共享存储吗?如果只想放在本地盘可以如何配置?”

社区讨论问题的时候基本都离不开日志,因为日志是问题分析的第一抓手,也是问题定位的指南针。大家在社区中发的日志非常多,不同日志背后的原因各不相同,我们不可能在这里讨论清楚所有的报错日志。但是关于日志有一些共性的问题,可以给大家一些建议。

首先是 Milvus 的日志怎么看、怎么导,Milvus 的 GitHub 仓库里面提供了一个日志导出的脚本 export-milvus-log.sh,可以做到一键式地导出集群所有日志,尤其是大家在提 issue 的时候,提供一份完整的日志对于问题的快速定位至关重要。

其次是日志等级问题,为了满足不同的应用场景,Milvus 提供了多种日志级别。正常情况下,大家使用 info 等级就够了,在做一些问题 debug 的时候,才需要调成 debug 等级,debug 级别的日志会非常多,当你发现 Milvus 的日志非常多的时候,大概率是日志等级设错了。

最后还有一点,Milvus 默认是把日志输出到标准输出的,而 container runtime 一般都有 log rotation,会做不定期的清理。如果有条件,最好为 Milvus 接入一套日志采集系统,比如 Loki,后续发生问题再去回查日志也会方便很多。

02.「集群」:生产环境永远推荐使用集群模式

  • “Milvus单集群,能到百亿向量吗?还是到十亿级?”

  • “Milvus standalone 中的数据如何迁移到 Milvus 集群中?”

  • “coordinator 能做集群么?”

  • “Milvus 集群版依赖太多了,资源很缺,部署单机版支持主从或者多副本么?”

Milvus 是一个分布式的向量数据库,“分布式”是它的一个核心特点。目前市面上的向量数据库非常多,如果你在寻找一款分布式的向量数据库,那么 Milvus 一定是个不错的选择。线上生产环境的数据库系统基本都需要可扩展和高可用能力,因此在生产环境中,永远推荐使用 Milvus 集群模式。Milvus 是一个存算分离的架构,当数据量增长以后,只需要扩展计算节点和存储节点的资源,理论上只要资源足够,能容纳的数据也是没有上限的。在目前的社区中,最大数据规模已经到了 100 亿的体量。

此外,针对“集群”讨论里的还有其他几个话题,目前 Milvus 的 backup 工具可以支持将 Milvus standalone 中的数据迁移到 Milvus cluster 中。其次,从 Milvus 2.2.3 版本之后,Coordinator 节点已经可以支持多副本的能力,具体配置方法参考。另外是关于使用单机版支持主从和多副本的问题,理论上是可以的,但是用户需要自己保证数据的一致性,以及主备间的 HA 切换,整体实现的难度可能比部署一个 Milvus 集群还要高不少。

03.「文档」:80% 的答案就在官网文档里

了解一个数据库最快的方法就是阅读它的文档,Milvus 也不例外,社区里面 80% 的问题,都可以直接在官方文档里面找到答案。下面是一些社区中常见的关于“文档”的讨论:

  • “partitionkey 怎么使用?好像没看到相应的文档。”

  • “Milvus 2.3 单机版有 3 个组件,etcd minio 都是什么作用,怎么交互的,有相关文档么?”

  • “Milvus 每次上传文档,怎么建立索引,然后问答时候根据指定文档回答。”

归纳起来,社区里面关于文档的问题,主要分两类——使用文档和原理文档。获取的首要途径一定是 Milvus 官网,之前也在一些文章里讲过了,对于每一个想要学好 Milvus 的人,官网文档值得至少 5 遍以上。而关于 Milvus 的使用,除了官网之外,各个 sdk repo 的代码示例也非常值得去仔细研读。至于原理类的文档,前文的“查询”关键词章节也提供了一些官网之外的参考资料,大家可以根据需要了解。

04.「部署」:简化部署一直在路上

  • “docker-compose 能部署分布式吗?”

  • "单机部署为什么还依赖这么多组件?"

  • “大家 Milvus 集群部署有没有实践过比较好的方案?”

作为一个开源数据库,是否能够进行快速部署,是所有工作的前提。在简化部署的道路上,社区从来没有停止过脚步。2023 年,社区推出了 Milvus-lite 这样的轻量化版本,没有 k8s、没有 docker、依旧能玩 Milvus。

之前有用户反映当下 Milvus 的消息系统 Kafka/Pulsar 太重,社区在 2.3.0 版本中推出了更轻的 NATS MQ 方案,未来自研 MQ 的方案也已经在路上了。对于 node 节点太多的问题,社区在 2.3.0 版本中合并了 IndexCoord 和 DataCoord,并且接下来的版本还会将 DataNode 和 IndexNode 进行合并,未来需要管理的节点将会进一步减少。对于 docker 部署单机版本依赖多的问题,社区也会在近期推出纯“standalone”的版本,不需要任何依赖。Milvus 的迭代发展大家有目共睹,请大家相信,只需要一些时间,社区一定会把简化部署这件事情做好。

05.「删除」:眼见未必为实

  • “执行 Collection 中的 delete 操作后,再次调用 num_entities 检查集合中的数据的条数,和删除前一致, delete 不能从物理层面上删除数据吗?”

  • “删除的数据还能被查到是为什么?”

  • “请问下删除 collection 后,磁盘大小没有恢复,该怎么处理?”

社区中关于“删除”讨论最多的是,删了为什么条数没变,删了为什么还可以搜到,删了为什么磁盘还没恢复。第一眼看到的未必是真相,上面这几个问题也是如此。由于之前设计的原因,num_entities 检查集合条数并不能实时统计到被删除的条数,在 2.3.0 版本中,为了解决这个行数统计的问题,在 query 接口里面专门引入了count(*) 表达式来统计准确行数。

其次,被删除之后还能查到,大概率是因为查询一致性等级的原因,对此大家可参考《聊聊 Milvus 的几种一致性等级》,里面详细讨论了这个问题。对于做完删除,磁盘不恢复的问题,是因为 Milvus 内部做 GC 是有一段时间等待,这个时间段可以通过dataCoord.gc.dropTolerance这个参数来控制。默认留一个时间等待,而不是立即清理,也是为了在一些紧急时刻,比如误删集合,留一个后悔药的机会。

至此,2023 年 Milvus 社区十大热门关键词解析就全部结束了,希望这 2 篇文章能够给那些正在使用 Milvus 或者将要使用 Milvus 的朋友一些启发和帮助,未来能够在自己的业务中用对 Milvus、用好 Milvus。2024 年,也希望更多的小伙伴能加入 Milvus 社区这个大家庭,一起见证全球最流行向量数据库的发展进步!

本文由 mdnice 多平台发布

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

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

相关文章

游戏缺失d3dcompiler_47.dll怎么办,这五种方法可以帮你解决

d3dcompiler_47.dll文件的缺失可能会导致一系列显著且影响用户体验的问题。作为DirectX 3D编译器的重要组件,该动态链接库文件在许多依赖于高级图形处理的应用程序和游戏运行过程中起着至关重要的作用。当系统中缺少这个特定的dll文件时,可能会出现诸如应…

会话技术复习笔记

一.登录校验的需求 什么是登录校验? 所谓登录校验,指的是我们在服务器端接收到浏览器发送过来的请求之后,首先我们要对请求进行校验。先要校验一下用户登录了没有,如果用户已经登录了,就直接执行对应的业务操作就可以…

H264 编码标准配置档次 Profile 详解

H264 中 Profile 定义: H264 标准中规定了 多种档次Profile, 每种 Profile 都规定了一个算法特征和限制的子集,任何遵守某个 Profile 的解码器都应该支持与其相应的子集。维基百科中解释: The standard defines several sets of …

深度学习之循环神经网络 (基础)

循环神经网络简称为RNN,(之前讲到的卷积神经网络简称为CNN)。 以前我们在使用全链接网络的时候,我们将这种网络叫做Dense 或者是Deep。 Dense链接指的是全链接的。 我们输入的数据是数据样本的不同特征:x1&#xff…

STM32F407移植OpenHarmony笔记4

上一篇写到make menuconfig报错,继续开整。 make menuconfig需要/device/soc/*下面有对应的Kconfig文件。 直接去gitee下载stm32的配置文件拿来参考用。 先提取Kconfig文件,后面再添加其它文件。https://gitee.com/openharmony/device_soc_st/tree/Open…

ubuntu 22安装配置并好安全加固后,普通用户一直登录不上

现象 ubuntu 22安装配置并好安全加固后,普通用户一直登录不上 排查报错 查看日志/var/log/auth.log发现报错 Jan 30 15:49:57 aiv-O-E-M sshd[62570]: PAM unable to dlopen(pam_tally2.so): /lib/security/pam_tally2.so: cannot open shared object file: No …

Docker最新超详细版教程通俗易懂(基础版)

Docker概述 概念:容器虚拟化技术,系统平滑移植,解决了运⾏环境和配置问题的软件容 器,⽅便做持续集成并有助于整体发布的容器虚拟化技术 意义:Docker的出现使得Docker得以打破过去程序即应⽤的观念,透过…

详讲api网关之kong的基本概念及安装和使用(二)

consul的服务注册与发现 如果不知道consul的使用,可以点击上方链接,这是我写的关于consul的一篇文档。 upstreamconsul实现负载均衡 我们知道,配置upstream可以实现负载均衡,而consul实现了服务注册与发现,那么接下来…

短视频与小程序:如何实现完美结合?

在短视频日益成为人们娱乐、社交和信息获取的重要渠道的今天,如何在短视频平台进行小程序推广成为了许多企业和品牌关注的焦点。本文将介绍如何利用短视频平台进行小程序推广,提升品牌曝光和用户互动。 首先,打开乔拓云-门店系统的后台&#…

让AI帮你说话--GPT-SoVITS教程

有时候我们在录制视频的时候,由于周边环境嘈杂或者录音设备问题需要后期配音,这样就比较麻烦。一个比较直观的想法就是能不能将写好的视频脚本直接转换成我们的声音,让AI帮我们完成配音呢?在语音合成领域已经有很多这类工作了&…

Linux操作系统权限相关问题(一站式速通权限)

一、sudo命令 sudo yum install -y sl sudo命令的作用 不切换用户,就想让普通用户以root的身份,执行对应的指令 输入密码时,输入的是自己普通用户的密码,而不是root的密码!!! sudo可以进行…

500道微信小程序毕业设计题目,小程序新颖毕业选题推荐,建议收藏

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

通过Demo学WPF—数据绑定(一)✨

前言✨ 想学习WPF,但是看视频教程觉得太耗时间,直接看文档又觉得似懂非懂,因此想通过看Demo代码文档的方式进行学习。 准备✨ 微软官方其实提供了WPF的一些Demo,地址为:microsoft/WPF-Samples: Repository for WPF …

仿真APP在金属波纹管液压胀形工艺设计中的应用

一、背景介绍 金属波纹管是带有波纹状截面的金属管状零件,在工业中应用广泛。金属波纹管特殊的截面形状使其具备较好的柔韧性,能够在一定范围内伸缩弯曲。这一特性赋予波纹管两大用途:一是作为变形补偿器,可用于补偿管道设备由于…

MySQL原理(三)锁定机制

一、介绍: 1、锁的本质 业务场景中存在共享资源,多个进程或线程需要竞争获取并处理共享资源,为了保证公平、可靠、结果正确等业务逻辑,要把并发执行的问题变为串行,串行时引入第三方锁当成谁有权限来操作共享资源的判…

Windows Server 2025 LTSC 预览版来了

Windows Server 2025 LTSC 预览版来了 1. 安装 Windows Server 2025 LTSC 预览版2. 安装 VMware Tools3. Windows Server 2025 LTSC 预览版4. Windows Server 2025 LTSC 预览版下载地址 1. 安装 Windows Server 2025 LTSC 预览版 使用 VMware Workstation 安装, 安…

Mysql-事务(隔离级别,事务底层原理,MVCC)

什么是事务?有哪些特性? 事务:事务指的是逻辑上的一组操作,组成这组操作的各个单元要么全都成功,要么全都失败。 事务特性: 原子性(Atomicity): 原子性是指事务是一个不…

如何在 Ubuntu 中安装 Microsoft Edge 浏览器

微软终于聪明了一回,也学会了「打不过就加入」。Microsoft Edge 浏览器的 Linux 稳定版已经于 2020 年 10 月 23 日发布,并提供给 Linux 发行版使用。除了官方 Edge APT 源以外,还提供了.deb和.rpm格式的安装包。 Microsoft Edge 基于 Chrom…

###C语言程序设计-----C语言学习(7)#(调试篇)

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 一. 程序调试 1.程序调试介绍: 程序调试是软件开发过程中非常重…

大坑!react+thress.js

2. UI交互界面与Canvas画布叠加 | Three.js中文网 (webgl3d.cn) // canvas画布绝对定位 renderer.domElement.style.position absolute; renderer.domElement.style.top 0px; renderer.domElement.style.left 0px; renderer.domElement.style.zIndex -1; 我按照教程设置了…