《向量数据库指南》——AI原生向量数据库Milvus Cloud 2.3 新功能ScaNN 索引和Iterator
ScaNN 索引
Milvus 采用了 Faiss 中 FastScan 算法,在各项测试基准中展现出优异的性能表现。相较于 HNSW 算法实现约 20% 的提升,在索引构建速度方面则快至后者速度的约 7 倍。ScaNN 算法在原理上与 IVFPQ 相似,采用了聚类分桶策略并在此基础上对向量进行 PQ 量化处理;然而 ScaNN 对量化过程采取更为激进的方式,在计算效率上有显著提升的同时也带来了较大的精度损失特点;该算法在实施时需依赖原始向量进行 refine 处理以弥补精度不足的问题。

表格展示了 ScaNN、HNSW 和 IVFFLAT 在 Cohere1M(768维)数据集上的性能对比,并基于 VectorDBBench 提供了相关数据

Iterator
在 Pymilvus 中提供的 iterator 接口中,
可通过迭代器实现数据提取。
在 Query 和 Range Search 情境中使用迭代器,则可突破 16384 条数据限制。
值得注意的是,
Iterator 类似于 Elasticsearch 的 scroll 接口及传统关系型数据库中的 cursor 概念,
特别适合用于后台批量处理场景。

Json Contains
Milvus 2.3.0 提供了Json数组 contains 表达式的功能,并且能够判断一个 json 数组是否包含特定的元素或一组数据。**详细文档请参考 https://milvus.io/docs/json_data_type.md。
CDC支持
Change Data Capture 是数据库系统中广泛应用的一种功能,在分布式存储环境中具有重要价值。它支持跨机房主备数据同步、增量数据备份以及数据迁移等多种应用场景。基于日志架构的设计使得其操作更加便捷且易于实现。在 Milvus 开源社区的支持下, CDC 代码可通过官方仓库获取: https://github.com/zilliztech/milvus-cdc
