理论基础与研究
向量数据库用于非结构化文本、图片、音频、视频搜索、推荐,将他们转换为数字向量表示来进行相似性(ANN)搜索。存储和搜索高维向量是其特征之一,通常采用高级索引技术和算法如HNSW, Annoy, 或Faiss来实现。不同于SQL数据库,向量数据库更像nosql,用户接受使用sdk/API来执行搜索(虽然这个声明式不如SQL强大)。
向量数据库使用的底层搜索、索引技术和推荐系统中的向量召回是高度重合的。
「向量召回」相似检索算法——HNSW(pg_embedding使用的就是HNSW算法)
深入浅出推荐系统(四):召回:向量化的潮流(重点讲embedding)
搜索召回 | Facebook: 亿级向量相似度检索库Faiss原理+应用
向量数据库排名
https://byby.dev/vector-databases
https://github.com/topics/vector-database
https://press.ai/best-vector-databases/#
综合github/国外排名/国内分析来看,开源中基于es,faiss,milvus的方案比较有较大竞争力。
基于ElasticSearch的方案参考
向量数据库:使用Elasticsearch实现向量数据存储与搜索
基于postgresql的方案参考
基于redis的参考方案
milvus方案
召回技术(向量检索工具faiss篇) milvus基于faiss库