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”,了解最新资讯。