Vald 是一个高度可扩展的分布式快速近似近邻密集矢量搜索引擎。
Vald 是基于 Cloud-Native 架构设计和实现的。它使用最快的 ANN 算法 NGT 来搜索 neighbors。Vald 具有自动矢量索引和索引备份,以及从数十亿特征矢量数据中进行搜索的水平缩放。Vald 易于使用、功能丰富且可根据您的需要高度定制。
主要特点
-
异步自动索引
- 通常图形在索引期间需要锁定,这会导致停止世界。但是 Vald 使用分布式索引图,因此它在索引期间继续工作。
-
可定制的入口/出口过滤
- Vald 实现了它自己的高度可定制的入口/出口过滤器。
-
可以配置为适合 gRPC 接口。
- 入口过滤器:能够根据要求通过过滤器进行矢量化。
- 出口过滤器:使用您自己的算法重新排列或过滤搜索结果。
-
基于云原生的矢量搜索引擎
- 可根据您的需求在内存和 CPU 上进行横向扩展。
-
索引数据自动备份
- Vald 具有使用 MySQL 或 Cassandra 存储索引数据备份的功能,可实现灾难恢复。
-
分布式索引
- Vald 将向量索引分发给多个代理,每个代理存储不同的索引。
-
索引复制
- Vald 将每个索引存储在启用索引副本的多个代理中。
- 当某些 Vald 代理出现故障时自动重新平衡副本。
-
使用方便
- Vald 可以通过几个步骤轻松安装。
-
高度可定制
- 您可以配置向量维数、副本数等。
-
支持多语言
- 支持 Go、Java、Clojure、Node.js 和 Python 客户端库。
- gRPC API 可以由任何支持 gRPC 的编程语言触发。
- 还支持 REST API。
要求
- Kubernetes 1.17~
- AVX2 指令(Vald Agent NGT 需要)