Last Week in Milvus
What's New
期待已久的 2.2.9 终于发布了,2.2.9 中包含 JSON、动态 schema、PartitionKey 等重大更新,以及大量的性能、稳定性优化。
Core Updates
#24507 在 2.3.0 中对查询不中增加了更详细的监控指标,对于分析 Milvus 性能瓶颈有很大的帮助,可以更清晰的看到慢查询是在解析、查询、reduce 具体的那一阶段
#24499 在 2.3.0 中开始支持查询参数中增加一致性级别参数,Milvus 的一致性等级在创建 Collection 时指定,但对于很多用户来说在查询时指定会更灵活,例如在读后写的场景中对会要求强一致性,对于普通的 search 请求最终一致性即可满足需求。
#24047 在 2.3.0 和 2.2.9 中,增加了 PartitionKey 支持,具体的 PartitionKey 功能介绍详见,release note 和 2.2.9 的新特性解读
#24666 移除了 Ubuntu 18.04 的支持,18.04 版本过于陈旧,其中的很多包已经过期甚至会有编译失败的情况,鉴于 Milvus 的主要支持版本已迁移到 Ubuntu 20.04,所以从 2.3.0 开始会移出 18.04 的支持。
#24671 为内核增加了 array_at 方法,为后续在 JSON 中支持 array 的运算符打好基础。
#24445 Milvus 正在尝试引入 nats 作为现有的 MQ 替代方案,前期的验证工作已经完成,基础代码已经合并进主分支,后续会持续演进 nats 支持,预计在 2.4.0 会替换 RocksDB、Pulsar 等消息队列,作为 Milvus 的核心组件。
#24688 在引入 aws-cpp-sdk 后,经过测试发现在内存小于 4G 的情况下极容易出现 panic,且 panic 时 go 的栈信息被破坏无法定位错误,经过一周多的排查,发现是 aws-cpp-sdk 中对于 sigpipe 的信号处理有问题,在 cgo 调用的场景中无法恢复 go 的栈,导致一系列的问题。在 2.2.10 发布前此问题已修复。
#24762 为了减少 cgo 调用的额外开销,我们将 Milvus stroage 层的 writer 由原来的 cgo 调用,重写成了 Native go 的版本,这次改造不仅能大大减少 cgo 调用的额外内存开销还能减少出错时排查问题的时间。
Knowhere
#878 在构建 DiskANN 索引过程中生成缓存文件,并直接在准备过程中读取缓存文件,以避免花费大量时间来生成缓存。在不同的数据集上效果各不相同,会有 10%左右的性能提升。
Birwatcher
#149 增加了 show database 命令,在 2.2.9 及以后版本的 Milvus 开始支持 database,相应的 Birdwatcher 也增加管理 database 的能力。
New contributor
Welcome egoebelbecker bryanwux chyezh pingliu
What's Up Next
预计 6 月中下旬会发布 2.3.0 正式版。
Did you know
Milvus 的动态 schema 是基于 JSON 类型实现的,动态的字段会 JSON 序列化并统一放在 列中,对底层较为了解的用户也可以直接访问 $meta 列中,对 Milvus 底层较为了解的用户也可以直接访问 $meta 来操作该数据。
🌟全托管 Milvus SaaS/PaaS 即将上线,由 Zilliz 原厂打造!覆盖阿里云、百度智能云、腾讯云、金山云。目前已支持申请试用,企业用户 PoC 申请或其他商务合作请联系 business@zilliz.com。
如果在使用 Milvus 或 Zilliz 产品有任何问题,可添加小助手微信 “zilliz-tech” 加入交流群。
欢迎关注微信公众号“Zilliz”,了解最新资讯。
评论