一号热搜榜,为您提供最新的热搜资讯,热搜榜信息!

矢量数据库是什么?他们有什么区别

百科热搜 作者:闻数起舞 热度:995

矢量数据库是什么?他们有什么区别

Milvus, Pinecone, Vespa, Weaviate, Vald, GSI和Qdrant的详细比较

在撰写这篇博文时,我有幸与所有搜索引擎的关键开发人员/领导层进行了交流:Bob van Luijt和Etienne Dilocker(Weaviate),Greg Kogan(Pinecone),Pat Lasserre,George Williams(GSI Technologies Inc),Filip Haltmayer(Milvus),Jo Kristian Bergum(Vespa),Kiichiro Yukawa(Vald)和Andre Zayarni(Qdrant)。

矢量数据是什么意思

图片来源 潇湘晨报

矢量数据是什么意思

我们已经接近在搜索引擎体验的基本层面上涉及机器学习:在多维多模态空间中对对象进行编码。这与传统的关键词查询不同(即使用同义词/语义来加强)--有很多有趣的方式:

同时,关键词可以与相似性搜索相结合,相互补充,特别是当你面临长尾零点击率的问题时(这可能是相当大的,比如在电子商务空间)。

这篇博文在强调7个矢量数据库的共同点和差异方面做了独立的尝试,每个数据库都提供商业云支持。7个中的5个提供了他们的代码作为开放源码供你自己托管。该文章包括神经搜索框架(如 Jina.AI, FAISS或deepset的 Haystack),这些都值得他们自己的博文。另外,它并不关注大型云厂商的垂直搜索引擎,如Bing的或Google的矢量搜索引擎。算法基准超出了范围,因为你可以随时求助于 https://github.com/erikbern/ann-benchmarks来查找关于单个算法性能和权衡的细节。

我冒昧地从以下五个角度考虑每个搜索引擎:

每个搜索引擎都伴随着元数据:

链接到描述该技术的主要网页

类型:自我托管和/或管理

在有源代码的地方有代码链接

Milvus

链接: https://milvus.io/

类型:自我托管的矢量数据库

代码: 开放源代码

Milvus 四个层次:访问层、协调者服务、工作节点和存储。这些层是独立的,以获得更好的可扩展性和灾难恢复。


Pinecore

链接: https://www.pinecone.io/

类型:托管的向量数据库

代码: 闭源

Pinecone是一个管理的矢量数据库,采用Kafka进行流处理,采用Kubernetes集群实现高可用性,并采用blob存储

Vespa

链接: https://vespa.ai/

类型:管理/自我托管的矢量数据库

代码: 开放源代码


Vespa的鸟瞰图


Weaviate

链接: https://www.semi.technology/developers/weaviate/current/

类型:托管的/自我管理的矢量数据库

代码: 开放源代码

这里是Weaviate的系统级架构图。它显示了索引的构成:你可以存储矢量、对象和倒置的索引数据,以混合和匹配适合你使用情况的搜索功能。支持用于不同任务的模块,如问答。

系统层面概述

使用虚拟分片将分片分布到各节点上(灵感来自于 Cassandra分片)


Vdaas

链接: https://vald.vdaas.org/

类型:自我托管的矢量搜索引擎

代码: 开放源代码

Vald运行在Kubernetes集群之上,以利用其HPA和分布式能力。


用于Elasticsearch和OpenSearch的GSI APU

链接: https://www.gsitechnology.com/APU

类型:矢量搜索硬件后端,弹性搜索

代码: close source

GSI APU驱动的Elasticsearch架构(截图由 GSI技术)


APU板的特点


Qdrant

链接: https://qdrant.tech/

类型:管理/自我托管的矢量搜索引擎和数据库

代码: 开放源代码

收集级架构

这篇博文为你简明扼要地总结了目前市场上正在积极开发的7种矢量搜索引擎。随着我对这些系统的进一步研究,我将增加更深入的研究的链接。


本文由闻数起舞翻译自https://towardsdatascience.com/milvus-pinecone-vespa-weaviate-vald-gsi-what-unites-these-buzz-words-and-what-makes-each-9c65a3bd0696

标签: 矢量     数据库     什么