您当前的位置:首页 > 电脑百科 > 数据库 > 百科

如何评估向量数据库

时间:2023-12-26 16:19:18  来源:  作者:IT168

导语:没有通用的“最 佳”向量数据库——选择取决于您的需求。评估可扩展性、功能性、性能以及与用例的兼容性至关重要。

如何评估向量数据库

在当今数据驱动的世界里,非结构化数据的指数增长是一个需要我们关注的现象。生成性人工智能和大型语言模型(LLM)的兴起为这次数据爆炸增添了更多的燃料,将我们的重点引向了突破性技术:向量数据库。作为人工智能时代的重要基础设施,向量数据库是存储、索引和搜索非结构化数据的强大工具。

随着全世界的注意力牢牢地集中在向量数据库上,一个紧迫的问题出现了:您如何选择适合您业务需求的数据库?在比较和评估向量数据库时,需要考虑哪些关键因素?这篇文章将深入研究这些问题,并从可扩展性、功能和性能角度提供见解,帮助您在这个动态环境中做出明智的决策。

什么是向量数据库?

传统的关系数据库系统以预定义格式的结构化表管理数据,它们擅长执行精确的搜索操作。相比之下,向量数据库专门通过称为向量嵌入的高维数字表示来存储和检索非结构化数据,如图像、音频、视频和文本。

向量数据库以相似性搜索而闻名,采用近似最近邻(ANN)算法等技术。ANN算法根据空间关系排列数据,并在广泛的数据集中快速识别离给定查询最近的数据点。

开发人员使用向量数据库构建推荐系统、聊天机器人和应用程序来搜索类似的图像、视频和音频。随着ChatGPT的兴起,向量数据库已成为解决大型语言模型幻觉问题的有益问题。

向量数据库与其他向量搜索技术

各种技术可用于向量数据库之外的向量搜索。2017年,Meta开源FAISS,大大降低了与向量搜索相关的成本和障碍。2019年,Zilliz推出了Milvus,这是一个专门构建的开源向量数据库,引领了该行业。从那时起,出现了许多其他向量数据库。随着Elasticsearch和redis等许多传统搜索产品的进入以及GPT等LLM的广泛使用,向量数据库的趋势在2022年起飞。

所有这些向量搜索产品之间的相似之处和不同之处是什么?我大致将它们分为以下类型:

向量搜索库。这些是没有基本数据库功能的算法集合,如插入、删除、更新、查询、数据持久性和可扩展性。FAISS就是一个主要例子。

轻量级向量数据库。这些建立在向量搜索库上,使它们在部署中重量轻,但可扩展性和性能较差。Chroma就是这样一个例子。

向量搜索插件。这些是依赖传统数据库的向量搜索附加组件。然而,他们的架构是针对传统工作负载的,这可能会对其性能和可扩展性产生负面影响。Elasticsearch和Pgvector是主要例子。

专门构建的向量数据库。这些数据库是专门用于向量搜索的,与其他向量搜索技术相比具有显著优势。例如,专用向量数据库提供分布式计算和存储、灾难恢复和数据持久性等功能。Milvus就是一个主要例子。

如何评估向量数据库?

在评估向量数据库时,可扩展性、功能和性能是最重要的三个指标。

可扩展性

可扩展性对于确定向量数据库是否能够有效处理指数增长的数据至关重要。在评估可扩展性时,我们必须考虑水平与垂直的可扩展性、负载平衡和多重复制。

水平与垂直可扩展性

不同的向量数据库采用不同的扩展技术来适应业务增长需求。例如,Pinecone和Qdrant选择垂直缩放,而Milvus采用水平缩放。水平可扩展性比垂直扩展提供更大的灵活性和性能,上限更少。

负载均衡

调度对于分布式系统至关重要。它的速度、粒度和精度直接影响负载管理和系统性能,如果不正确优化,会降低可扩展性。

多个副本支持

多个副本可实现对各种查询的差异响应,提高系统的速度(以每秒查询、QPS为单位)和整体可扩展性。

不同的向量数据库迎合了不同类型的用户,因此他们的可扩展性策略不同。例如,Milvus专注于数据量迅速增加的场景,并使用具有存储-计算分离的水平可扩展架构。Pinecone和Qdrant专为数据量和缩放需求更温和的用户而设计。LanceDB和Chroma优先考虑轻量级部署而不是可扩展性。

我把向量数据库的功能分为两大类,即面向数据库的特征和面向向量的特征。

面向向量的特征

向量数据库使许多用例受益,例如检索增强生成(RAG)、推荐系统和使用各种索引的语义相似性搜索。因此,支持多种索引类型的能力是评估向量数据库的关键因素。

目前,大多数向量数据库支持HNSW(分层可导航小世界)索引,其中一些还支持IVF(倒置文件)索引。这些指数适用于内存操作,最适合资源丰富的环境。然而,一些向量数据库在硬件资源有限的情况下选择基于mmap的解决方案。虽然更容易实施,但基于mmap的解决方案以性能为代价。

Milvus是历史最悠久的向量数据库之一,支持11种索引类型,包括基于磁盘和基于GPU的索引。这种方法确保了对各种应用场景的适应性。

面向数据库的功能

许多有利于传统数据库的功能也适用于向量数据库,如更改数据捕获(CDC)、多租户支持、资源组和基于角色的访问控制(RBAC)。Milvus和一些配备向量插件的传统数据库有效地支持这些面向数据库的功能。

表现指标

性能是评估向量数据库的最关键指标。与传统数据库不同,向量数据库进行近似搜索,这意味着检索到的前k个结果不能保证100%的准确性。因此,除了每秒查询(QPS)和延迟等传统指标外,“召回率”是量化检索准确性的向量数据库的另一个基本性能指标。

我推荐两个公认的开源基准测试工具来评估不同的指标:ANN-Benchmark和VectorDBBench。

ANN-Benchmark

向量索引是向量数据库的一个关键和资源密集型方面。其性能直接影响整体数据库性能。ANN-Benchmark是由Martin Aumueller、Erik Bernhardsson、Alec Faitfull和其他几位贡献者开发的领先基准测试工具,用于评估各种向量索引算法在一系列真实数据集中的性能。

ANN-Benchmark允许您根据任何一个预计算数据集,绘制各种算法每秒测试召回/查询的结果。它绘制了x轴上的召回率与y轴上的QPS,说明了每个算法在不同检索精度级别上的性能。

向量DBBench

虽然ANN-Benchmark对于选择和比较不同的向量搜索算法非常有用,但它没有提供向量数据库的全面概述。我们还必须考虑资源消耗、数据加载能力和系统稳定性等因素。此外,ANN-Benchmark忽略了许多常见的场景,例如过滤向量搜索。

VectorDBBench是我们在Zilliz创建的开源基准测试工具,可以解决上述限制。它专为Milvus和Weaviate等开源向量数据库以及Zilliz Cloud和Pinecone等全管理服务而设计。由于许多完全托管的向量搜索服务不会公开其用户调优的参数,VectorDBBench会分别显示QPS和召回率。

有关基准测试结果,请参阅VectorDBBench网站

在向量数据库的动态领域,许多产品表现出独特的重点和优势。没有通用的“最 佳”向量数据库;选择取决于您的需求。因此,评估向量数据库的可扩展性、功能、性能以及与特定用例的兼容性至关重要。

Li Liu是Zilliz的首席工程师,领导向量搜索研究和开发。在加入Zilliz之前,Liu是Meta的高级工程师,设计和塑造了许多广告流数据框架。他拥有卡内基梅隆大学的硕士学位,在数据库和大数据方面拥有丰富的经验。李刘在技术和创新方面的专业知识继续推动向量搜索的进步,对该领域产生了持久的影响。



Tags:向量数据库   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  Search: 向量数据库  点击:(4)  评论:(0)  加入收藏
简易百科之什么是向量数据库
随着大数据时代的到来,数据存储和处理成为了一个重要的问题。传统的关系型数据库已经无法满足一些场景的需求,例如大规模高维数据的处理和分析。在这样的背景下,向量数据库应运...【详细内容】
2024-01-15  Search: 向量数据库  点击:(165)  评论:(0)  加入收藏
腾讯云把向量数据库“卷”到哪一步了?
“不是我不明白,这世界变化快”,崔健在20世纪写下的这句歌词,放在刚刚过去的2023年,也同样适用。技术风向的变化之快,让不少人感到惊讶,向量数据库这一年的潮起潮落,就是一个典型的...【详细内容】
2024-01-14  Search: 向量数据库  点击:(65)  评论:(0)  加入收藏
纯向量数据库和向量插件都有局限,那未来发展有其他方向吗?
作者 | 张颖峰导读:向量数据库的争议差不多一年了,但我们一直缺少一篇能透彻讲解向量数据库相关问题的文章,这导致在这个领域的讨论一直没有得到充分的澄清。在这篇文章中,我们将...【详细内容】
2024-01-11  Search: 向量数据库  点击:(13)  评论:(0)  加入收藏
探秘向量数据库:从原理到商业应用的旅程
当我们谈及数据库技术,大部分人的第一反应可能是传统的关系型数据库,如MySQL、Oracle或SQL Server。这些数据库技术凭借其成熟稳定的关系型数据模型,已经在企业级应用中占据了...【详细内容】
2023-12-28  Search: 向量数据库  点击:(111)  评论:(0)  加入收藏
一文了解托管在亚马逊云科技的向量数据库MyScale
MyScale是一款完全托管于亚马逊云科技,支持SQL的高效向量数据库。MyScale的优势在于,它在提供与专用向量数据库相匹敌甚至优于的性能的同时,还支持完整的SQL语法。以下内容,将阐...【详细内容】
2023-12-28  Search: 向量数据库  点击:(97)  评论:(0)  加入收藏
如何评估向量数据库
导语:没有通用的“最 佳”向量数据库——选择取决于您的需求。评估可扩展性、功能性、性能以及与用例的兼容性至关重要。在当今数据驱动的世界里,非结构化数据的指...【详细内容】
2023-12-26  Search: 向量数据库  点击:(108)  评论:(0)  加入收藏
解读向量数据库
不论是RAG,还是Agent,几乎每个LLM 驱动的应用程序都可能会用到向量数据库。那么,向量数据库是什么?与传统数据库有何不同? 又如何选择向量数据库呢? 本文是老码农关于向量数据库的...【详细内容】
2023-11-27  Search: 向量数据库  点击:(133)  评论:(0)  加入收藏
初识向量数据库与pgvector实践
随着大语言模型的兴起,向量数据库正愈发受到人们的关注。作为对向量数据库的一名小白,近期简单对这一新技术方向做了些了解,特分享给大家。 1. 大火的向量数据库 1).什么是向...【详细内容】
2023-11-17  Search: 向量数据库  点击:(208)  评论:(0)  加入收藏
国内首个向量数据库标准发布
科技日报北京11月15日电 (记者都芃)15日,中国信通院联合腾讯云计算(北京)有限责任公司、中移(苏州)软件技术有限公司等多家企业共同编制的、国内首个向量数据库标准正式发布,...【详细内容】
2023-11-16  Search: 向量数据库  点击:(209)  评论:(0)  加入收藏
▌简易百科推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  京东云开发者    Tags:向量数据库   点击:(4)  评论:(0)  加入收藏
原来 SQL 函数是可以内联的!
介绍在某些情况下,SQL 函数(即指定LANGUAGE SQL)会将其函数体内联到调用它的查询中,而不是直接调用。这可以带来显著的性能提升,因为函数体可以暴露给调用查询的规划器,从而规划器...【详细内容】
2024-04-03  红石PG  微信公众号  Tags:SQL 函数   点击:(3)  评论:(0)  加入收藏
如何正确选择NoSQL数据库
译者 | 陈峻审校 | 重楼Allied Market Research最近发布的一份报告指出,业界对于NoSQL数据库的需求正在持续上升。2022年,全球NoSQL市场的销售额已达73亿美元,预计到2032年将达...【详细内容】
2024-03-28    51CTO  Tags:NoSQL   点击:(13)  评论:(0)  加入收藏
为什么数据库连接池不采用 IO 多路复用?
这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcat connection pool等技术来与DB连接,哪怕整个程序已经变成以...【详细内容】
2024-03-27  dbaplus社群    Tags:数据库连接池   点击:(12)  评论:(0)  加入收藏
八个常见的数据可视化错误以及如何避免它们
在当今以数据驱动为主导的世界里,清晰且具有洞察力的数据可视化至关重要。然而,在创建数据可视化时很容易犯错误,这可能导致对数据的错误解读。本文将探讨一些常见的糟糕数据可...【详细内容】
2024-03-26  DeepHub IMBA  微信公众号  Tags:数据可视化   点击:(6)  评论:(0)  加入收藏
到底有没有必要分库分表,如何考量的
关于是否需要进行分库分表,可以根据以下考量因素来决定: 数据量和负载:如果数据量巨大且负载压力较大,单一库单一表可能无法满足性能需求,考虑分库分表。 数据增长:预估数据增长...【详细内容】
2024-03-20  码上遇见你  微信公众号  Tags:分库分表   点击:(13)  评论:(0)  加入收藏
在 SQL 中写了 in 和 not in,技术总监说要炒了我……
WHY?IN 和 NOT IN 是比较常用的关键字,为什么要尽量避免呢?1、效率低项目中遇到这么个情况:t1表 和 t2表 都是150w条数据,600M的样子,都不算大。但是这样一句查询 ↓select *...【详细内容】
2024-03-18  dbaplus社群    Tags:SQL   点击:(5)  评论:(0)  加入收藏
应对慢SQL的致胜法宝:7大实例剖析+优化原则
大促备战,最大的隐患项之一就是慢SQL,对于服务平稳运行带来的破坏性最大,也是日常工作中经常带来整个应用抖动的最大隐患,在日常开发中如何避免出现慢SQL,出现了慢SQL应该按照什...【详细内容】
2024-03-14  京东云开发者    Tags:慢SQL   点击:(4)  评论:(0)  加入收藏
过去一年,我看到了数据库领域的十大发展趋势
作者 | 朱洁策划 | 李冬梅过去一年,行业信心跌至冰点2022 年中,红衫的一篇《适应与忍耐》的报告,对公司经营提出了预警,让各个公司保持现金流,重整团队,想办法增加盈利。这篇报告...【详细内容】
2024-03-12    InfoQ  Tags:数据库   点击:(24)  评论:(0)  加入收藏
SQL优化的七个方法,你会哪个?
一、插入数据优化 普通插入:在平时我们执行insert语句的时候,可能都是一条一条数据插入进去的,就像下面这样。INSERT INTO `department` VALUES(1, '研发部(RD)', &#39...【详细内容】
2024-03-07  程序员恰恰  微信公众号  Tags:SQL优化   点击:(19)  评论:(0)  加入收藏
站内最新
站内热门
站内头条