开发体验,几行代码快速实现原型
通常而言,如果一个数据库能够实现向量的增删改查,就满足了向量数据库的基本功能。但这就够了吗?
单从查询来说,用户会有 topk 向量的查询,有向量距离在某个范围内的查询,还会有根据属性过滤数据的需求,且对于向量距离的计算方式有 IP、Cosine 等多种计算需求,以及通过迭代器的方式批量获取数据等。此外,用户对于 QPS、稳定性、索引多样、写入等方面还有各种需求,举个例子,对于写入来说,存在实时写入、更新、批量导入、批量快速删除等诉求。
Milvus 在 2.3.x 中为上述场景增强了 API,满足了用户不同场景下的快速开发需求。例如 upsert 功能,我们能为用户提供 insert 或 update 的功能,在用户有数据覆盖的需求时,仅需一行代码即可满足需求,不需要进行查询、检查、再写入这些繁琐步骤。又例如 ScaNN 索引,我们为用户在 HNSW 之外提供了性能更强劲的索引。