目前了解到的关于PG/GP 支持的向量向量检索插件有:FAISS、PASE、pgvector。基于三种插件,做了几个纬度的对比,如下表格所示:
| 功能 | FAISS(gpdb-faiss-vector) | PGvector | PASE |
|---|---|---|---|
| 搜索类型支持 | ANN 搜索,范围搜索 | ANN 搜索,混合搜索 | ANN 搜索 |
| 混合搜索 | NO | 支持标量过滤、混合向量和全文搜索 | NO |
| 磁盘索引支持 | NO | NO | NO |
| GPU 索引支持 | 支持 IndexFlat、IndexIVFFlat、IndexIVFScalarQuantizer 和 IndexIVFPQ | NO | NO |
| 内存索引支持 | 支持 7 种(FLAT、IVS_FLAT、IVF_SQ8、IVF_PQ、HNSW、BIN_FLAT 和 BIN_IVF_FLAT) | 支持 HNSW 和 IVF | 支持 HNSW 和 IVF |
| 数据支持 | 密集向量(Dense Vector)、二进制向量(Binary Vector) | 密集向量(Dense Vector)、稀疏向量(Sparse Vector)、二进制向量(Binary Vectors) | 密集向量(Dense Vector)、进制向量(Binary Vectors) |
| 多向量/多模态支持 | NO | NO | NO |
| 表级分区 | NO | NO | NO |
| API 和 SDK 支持 | Python、C++ | 通过任何支持 PostgreSQL 的客户端 | 通过任何支持 PostgreSQL 的客户端 |
| 向量数据的流式和批处理 | YES | YES | YES |
| 多租户支持 | YES | YES | YES |
| 相似度度量 | 支持平方欧几里得距离(L2)、内积(Inner Product)、L1 距离(曼哈顿距离)、L∞ 距离(切比雪夫距离)、Lp 距离、堪培拉距离、Bray-Curtis 距离、Jensen-Shannon 散度、Jaccard 距离、NaN-欧几里得距离、绝对内积 | 支持 L2 距离、内积、余弦相似度、L1 距离、汉明距离、Jaccard 距离 | 欧氏距离,点积(内积) |
| 社区活跃度 | 社区有互动,代码3年未更新 | 社区活跃、代码持续更新 | 社区不活跃、代码3年未更新 |
| PG 兼容版本 | PG 11~16(待验证) | PG 14 及以上 | PG 11~16 |
注:PASE 最高支持512维度;PGvector 支持16000维度的向量;
参考:
https://github.com/alipay/PASE
https://github.com/pgvector/pgvector
https://zilliz.com/comparison/faiss-vs-pgvector
https://github.com/facebookresearch/faiss/tree/438b64cd8b04d94c6dbd21204af9197cd5cab2fd
最后修改时间:2025-03-21 10:14:25
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




