7个向量数据库对比:Milvus、Pinecone、Vespa、Weaviate、Vald、GSI 和 Qdrant
本文简要总结了当今市场上正在积极开发的7个向量数据库,Milvus、Pinecone、Vespa、Weaviate、Vald、GSI 和 Qdrant 的详细比较。
我们已经接近在搜索引擎体验的基础层面上涉及机器学习:在多维多模态空间中编码对象。这与传统的关键字查找不同(即使通过同义词/语义进行了增强)——在许多有趣的方面:
- 对象级别的集合级别相似性。您可以使用相似度函数(距离度量)而不是稀疏关键字查找来查找查询的邻居。在带有分片的 BM25/TF-IDF 方法中,您将获得来自不兼容的分片级集合的文档分数(除非您设置全局更新的IDF缓存)。
- 将几何相似性的概念作为语义中的一个组成部分,而不仅仅是原始对象的特定属性(在文本的情况下——它的关键字/术语)。
- 多模态:编码任何对象——音频、视频、图像、文本、基因组、软件病毒、一些复杂的对象(如代码),你有一个编码器和相似性度量——并在这些对象之间无缝搜索。
同时,关键字可以以互补的方式与相似度搜索相结合,尤其是当您面临长尾零命中问题(可能相当大,例如在电子商务领域)的情况下。
这篇博文总结了 7 个向量数据库之间的共性和差异,每个都提供商业云支持。7 人中有 5 人将他们的代码作为开源代码提供给您自己的主机。这篇文章不包括神经搜索框架(如Jina.AI、FAISS或 deepset 的Haystack),这些框架应该有自己的博客文章。此外,它并不专注于大型云供应商垂直搜索引擎,例如 Bing 或 Google 的向量搜索引擎。算法基准测试超出了范围,因为您始终可以求助于https://github.com/erikbern/ann-benchmarks查找有关单个算法性能和权衡的详细信息。
我冒昧地从以下五个角度考虑了每个搜索引擎:
- 价值主张。让整个向量搜索引擎脱颖而出的独特之处是什么?
- 类型。该引擎的通用类型:向量数据库、大数据平台。托管/自托管。
- 架构。高级系统架构,包括分片、插件、可扩展性、硬件细节(如果可用)等方面。
- 算法。这个搜索引擎采用了什么算法来进行相似度/向量搜索,它提供了哪些独特的功能?
- 代码:它是开源的还是闭源的?
每个搜索引擎都附有元数据:
🌍 链接到描述该技术的主页
💡 类型:自托管和/或托管
🤖 代码链接到可用的源代码
Milvus
🌍 链接:https ://milvus.io/
💡 类型:自托管向量数据库
🤖 代码:开源
- 价值主张:关注整个搜索引擎的可扩展性:如何高效地对向量数据进行索引和重新索引;如何缩放搜索部分。独特的价值是能够使用多种 ANN 算法对数据进行索引,以比较它们在您的用例中的性能。
- 架构:

Milvus 实现了四层:接入层、协调服务、工作节点和存储。这些层是独立的,以实现更好的可扩展性和灾难恢复
3.算法:允许多个基于 ANN 算法的索引:FAISS、ANNOY、HNSW、RNSG。
Pinecone
🌍 链接:https ://www.pinecone.io/
💡 类型:托管向量数据库
🤖 代码:封闭源代码
- 价值主张:完全托管的向量数据库,以支持您的非结构化搜索引擎之旅。最近的2.0 版本带来了单阶段过滤功能:在一个查询中搜索您的对象(毛衣)并按元数据(颜色、尺寸、价格、可用性)进行过滤。
- 架构:

Pinecone 是一个托管向量数据库,使用 Kafka 进行流处理,使用 Kubernetes 集群实现高可用性以及Blob 存储(向量和元数据的真实来源,用于容错和高可用性)
3.算法:由 FAISS 提供支持的 Exact KNN;ANN 由专有算法提供支持。支持所有主要距离度量:余弦(默认)、点积和欧几里得。
Vespa
🌍 链接:https ://vespa.ai/
💡 类型:托管/自托管向量数据库
🤖 代码:开源
- 价值主张:引用官方文档:“Vespa 是在大型数据集上进行低延迟计算的引擎。它存储和索引您的数据,以便可以在服务时执行对数据的查询、选择和处理。可以使用托管在 Vespa 中的应用程序组件来定制和扩展功能。” Vespa 提供了面向深度学习的深度数据结构,例如数据科学,例如张量。
- 架构:

Vespa 架构图
3.算法:HNSW(针对实时CRUD和元数据过滤进行了修改);一套重新排序和密集检索方法。
Weaviate
🌍 链接:https ://www.semi.technology/developers/weaviate/current/
💡 类型:托管/自托管向量数据库
🤖 代码:开源
- 价值主张:类 Graphql接口支持的表达查询语法。这允许您对丰富的实体数据运行探索性数据科学查询。该产品最重要的元素是向量搜索、对象存储和用于布尔关键字搜索的倒排索引的组合,以避免存储与对象/倒排索引分开的向量数据的不同数据库之间的数据漂移和延迟。Wow-effect:有一个令人印象深刻的问答组件——它可以带来一个令人惊叹的元素来演示作为现有或新产品的一部分的新搜索功能。
- 架构:
这是Weaviate的系统级架构图。它显示了索引组合:您可以存储向量、对象和倒排索引数据,以混合和匹配适合您用例的搜索功能。支持用于不同任务的模块,例如问答。

系统级概览

使用虚拟分片将分片分布到节点上(受Cassandra 分片启发)
3.算法:自定义实现的 HNSW,调整到规模,并支持完整的 CRUD。只要能做CRUD ,系统就支持插件ANN算法。
Vald
🌍 链接:https ://vald.vdaas.org/
💡 类型:自托管向量搜索引擎
🤖 代码:开源
- 价值主张:Vald 用于十亿向量规模,提供云原生架构。来自官方文档:“Vald 具有自动向量索引和索引备份,以及用于从数十亿特征向量数据中进行搜索的水平缩放。” 该系统还允许使用 Egress 过滤器插入您的自定义重新排序/过滤算法。奖励:可以直接安装在 macOS 上。
- 架构:

Vald 在 Kubernetes 集群之上运行以利用其 HPA 和分布式功能
3.算法:基于最快算法:NGT,比很多强算法,如Scann和HNSW都要快。
用于 Elasticsearch 和 OpenSearch 的 GSI APU 板
🌍 链接:https ://www.gsitechnology.com/APU
💡 类型: Elasticsearch / OpenSearch的向量搜索硬件后端
🤖 代码:封闭源代码
- 价值主张:十亿规模的搜索引擎后端,将您的Elasticsearch / OpenSearch功能扩展到相似性搜索。您可以实施高效节能的多模式搜索,增强关键字检索。它以本地APU 板和托管云后端的形式提供,通过插件与您的 Elasticsearch / OpenSearch 部署连接。
- 架构:

GSI APU 驱动的 Elasticsearch 架构的架构(GSI Technology提供的屏幕截图)

APU板特点
3.算法:保持神经散列的汉明空间局部性。
Qdrant
🌍 链接:https ://qdrant.tech/
💡 类型:托管/自托管向量搜索引擎和数据库
🤖 代码:开源
- 价值主张:具有扩展过滤支持的向量相似度引擎。Qdrant 完全用 Rust 语言开发,实现了动态查询计划和有效负载数据索引。向量负载支持多种数据类型和查询条件,包括字符串匹配、数值范围、地理位置等。有效负载过滤条件允许您构建几乎任何应该在相似性匹配之上工作的自定义业务逻辑。
- 架构:

集合级架构
3.算法: Rust 中的自定义HNSW 实现。
原文标题:Not All Vector Databases Are Made Equal
原文作者:Dmitry Kan
原文链接:https://towardsdatascience.com/milvus-pinecone-vespa-weaviate-vald-gsi-what-unites-these-buzz-words-and-what-makes-each-9c65a3bd0696
相关文章:
7个向量数据库对比:Milvus、Pinecone、Vespa、Weaviate、Vald、GSI 和 Qdrant
本文简要总结了当今市场上正在积极开发的7个向量数据库,Milvus、Pinecone、Vespa、Weaviate、Vald、GSI 和 Qdrant 的详细比较。 我们已经接近在搜索引擎体验的基础层面上涉及机器学习:在多维多模态空间中编码对象。这与传统的关键字查找不同(…...
【正点原子】STM32电机应用控制学习笔记——8.FOC简介
FOC是适用于无刷电机的,而像有刷电机,舵机,步进电机是不适用FOC的。FOC是电机应用控制难度最大的部分了。 一.FOC简介(了解) 1.介绍 FOC(Filed Oriented Control)即磁场定向控制,…...
Salesforce财务状况分析
纵观Salesforce发展史和十几年财报中的信息,Salesforce从中小企业CRM服务的蓝海市场切入,但受限于中小企业的生命周期价值和每用户平均收入小且获客成本和流失率不对等,蓝海同时也是死海。 Salesforce通过收购逐渐补足品牌和产品两块短板&am…...
服务器管理平台开发(2)- 设计数据库表
数据库表设计 本篇文章主要对数据管理平台数据库表设计进行介绍,包括单库多表设计、SQL语句、视图构造等 1、整体设计 设备品牌、序列号、型号等使用业务主表进行记录,逻辑磁盘、PCI设备可能出现1对N的情况,分别使用PCI设备表、Mac地址表、逻…...
Python基础知识:整理13 利用pyecharts生成折线图
首先需要安装第三方包pyecharts 1 基础折线图 # 导包,导入Line功能构建折线图对象 from pyecharts.charts import Line # 折线图 from pyecharts.options import TitleOpts # 标题 from pyecharts.options import LegendOpts # 图例 from pyecharts.options im…...
java项目之家政服务中介网(ssm)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的家政服务中介网。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 管理员:首页、个人中…...
Spark的内核调度
目录 概述 RDD的依赖 DAG和Stage DAG执行流程图形成和Stage划分 Stage内部流程 Spark Shuffle Spark中shuffle的发展历程 优化前的Hash shuffle 经过优化后的Hash shuffle Sort shuffle Sort shuffle的普通机制 Job调度流程 Spark RDD并行度 概述 Spark内核调度任务: 1…...
C++代码重用:继承与组合的比较
目录 一、简介 继承 组合 二、继承 三、组合 四、案例说明 4.1一个电子商务系统 4.1.1继承方式 在上述代码中,Order类继承自User类。通过继承,Order类获得了User类的成员函数和成员变量,并且可以添加自己的特性。我们重写了displayI…...
暴打小苹果
欢迎来到程序小院 暴打小苹果 玩法:鼠标左键点击任意区域可发招暴打,在苹果到达圆圈时点击更容易击中, 30秒挑战暴打小苹果,打中一次20分,快去暴打小苹果吧^^。开始游戏https://www.ormcc.com/play/gameStart/247 htm…...
【BetterBench】2024年都有哪些数学建模竞赛和大数据竞赛?
2024年每个月有哪些竞赛? 2024年32个数学建模和数据挖掘竞赛重磅来袭!!! 2024年数学建模和数学挖掘竞赛时间目录汇总 一月 (1)2024年第二届“华数杯”国际大学生数学建模竞赛 报名时间:即日起…...
Vue-9、Vue事件修饰符
1、prevent 阻止默认事件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>事件修饰符</title><!--引入vue--><script type"text/javascript" src"https://cdn.jsdeliv…...
前端面试题集合六(高频)
1、vue实现双向数据绑定原理是什么? <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>…...
使用Pygame库创建了一个窗口,并在窗口中加载了一个名为“ball.png“的图片,通过不断改变物体的位置,实现了一个简单的动画效果
import pygame import sys# 初始化Pygame pygame.init()# 创建窗口 screen pygame.display.set_mode((640, 480))# 加载图片 image pygame.image.load("ball.png")# 将物体初始位置设为屏幕左上角 x 0 y 0# 游戏循环 while True:# 处理事件for event in pygame.e…...
常见的AdX程序化广告交易模式有哪些?媒体如何选择恰当的交易模式?
程序化广告的核心目的是:让需求方能自由地选择流量与出价,程序化广告在数字广告投放中的主导地位日益巩固。 程序化广告“交易模式”有哪些?以下是详细解读,帮助媒体选择恰当的交易方式,从而实现广告价值的最大化。 …...
VCG 网格平滑之Laplacian平滑
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 由于物理采样过程固有的局限性,三维扫描仪获得的网格通常是有噪声的。为了消除这种噪声,所谓的平滑算法被开发出来。这类方法有很多,VCG主要为我们提供了一种是较为经典的Laplace平滑算法,这个方法很多库都有实…...
Jupyter Markdown格式
穿插在程序中,太复杂了喧宾夺主,太简单了不如注释。这样就刚刚好: Headers # header 1 ## header 2 ### header 3 #### header 4Output: header 1 header 2 header 3 header 4 2. Horizontal Line Use any of three to draw a horizon…...
Vue3 实时显示时间
记录一下代码,方便以后使用 参考的文章链接 做了以下修改 修改了formateDate方法中传入参数这个不合理的地方给定时器增加了间隔时间增加了取消定时器的方法 <!-- template中的代码 --> <span>当前时间:{{ nowTime }}</span>// sc…...
详解Java多线程之循环栅栏技术CyclicBarrier
第1章:引言 大家好,我是小黑,工作中,咱们经常会遇到需要多个线程协同工作的情况。CyclicBarrier,直译过来就是“循环屏障”。它是Java中用于管理一组线程,并让它们在某个点上同步的工具。简单来说…...
ebpf学习
学习ebpf相关知识 参考资料: awesome-ebpf 文章目录 初识准备ebpf.io介绍cilium的介绍内核文档Brendan Greggs Blog 的介绍书籍Learning eBPFWhat is eBPF? 交互式环境视频 基础知识学习学习环境搭建书籍阅读 项目落地流程整理环境搭建内核编译bcc环境变量zliblibelflibbpflib…...
【Linux】Linux系统编程——ls命令
【Linux】Linux 系统编程——ls 命令 1.命令概述 ls 命令是 Linux 和其他类 Unix 操作系统中最常用的命令之一。ls 命令是英文单词 list 的缩写,正如 list 的意思,ls 命令用于列出文件系统中的文件和目录。使用此命令,用户可以查看目录中的…...
实战对比:ext4 vs NTFS vs XFS vs Btrfs vs ZFS - 哪个文件系统最适合你的SSD?
SSD文件系统终极对决:ext4/NTFS/XFS/Btrfs/ZFS实战指南 当你把一块崭新的SSD插入电脑时,系统通常会默认分配一个文件系统——但这是最佳选择吗?作为从业十年的存储工程师,我见过太多用户因为文件系统选择不当而损失30%以上的SSD性…...
5分钟搞定AI超清画质增强:镜像部署与使用全攻略
5分钟搞定AI超清画质增强:镜像部署与使用全攻略 1. 引言:为什么需要AI画质增强 1.1 低清图像的普遍困扰 我们每天都会遇到各种低质量图片:模糊的老照片、压缩过度的网络图片、分辨率不足的截图。传统放大方法就像简单拉伸橡皮筋࿰…...
AI Agent操作系统架构师:Harness Engineer解析
Harness Engineer:AI Agent时代的「系统架构师」,打造可执行可信赖的智能体操作系统引言 当大语言模型从「对话助手」进化为「能干活的AI Agent」,我们发现一个核心矛盾:模型的概率性灵活能力与业务的确定性执行要求始终无法调和。…...
Python从入门到精通(第11章):函数进阶:作用域与闭包
Python从入门到精通(第11章):函数进阶:作用域与闭包 开头导语 这是本系列第11章。前面你已经掌握函数的基本定义和调用方式,这一章在此基础上向前一步,解决三个实际问题:变量名冲突时 Python 到…...
【大语言模型基础(2)】自注意力与多头机制:QKV、缩放与因果掩码
文章目录摘要1. 为什么需要自注意力2. Q、K、V 到底是什么一个具体例子3. Attention 公式在干什么第一步:计算相似度第二步:做缩放第三步:softmax\mathrm{softmax}softmax 归一化第四步:对 ValueValueValue 做加权平均4. 为什么 G…...
AI智能二维码工坊性能优化:多线程并发处理识别请求实战
AI智能二维码工坊性能优化:多线程并发处理识别请求实战 1. 项目核心价值与应用场景 想象一下,你运营着一个大型活动签到系统,或者管理着一个需要批量处理商品信息的电商后台。用户或同事上传的图片里,可能包含成千上万个二维码。…...
EVA-01开发者案例:Qwen2.5-VL-7B集成至MAGI类AI平台实现多源视觉融合
EVA-01开发者案例:Qwen2.5-VL-7B集成至MAGI类AI平台实现多源视觉融合 1. 引言:当视觉AI遇见机甲美学 想象一下,你正在处理一份复杂的市场分析报告,里面混杂着数据图表、产品照片和手写笔记。传统的AI工具要么只能看文字…...
春联生成模型-中文-base行业落地:新能源车企‘碳中和’‘智驾’等科技春联生成
春联生成模型-中文-base行业落地:新能源车企碳中和智驾等科技春联生成 1. 引言:当传统春联遇上现代科技 春节贴春联是千百年来的传统习俗,但传统的"福禄寿喜"已经难以完全表达现代企业的科技内涵。特别是新能源车企,既…...
构建边缘AI小语言模型
大型语言模型(LLM)在任何场合、任何设备上都可访问。 但拥有数千亿参数的LLM对于低延迟应用来说过于昂贵,而普通的SLM在保真度和一致性响应方面往往表现不佳。 为应对这一挑战,我将调优一个紧凑的Llama 3.2–3B模型,…...
高效智能抖音直播下载工具:一站式解决方案
高效智能抖音直播下载工具:一站式解决方案 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 你是否曾经为错过精彩的抖音直播而遗憾?是否想要保存喜欢的直播内容却苦于没有合适的工具&a…...
