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

三大开源向量数据库大比拼

时间:2023-11-14 13:21:49  来源:51CTO  作者:

译者 | 布加迪

审校 | 重楼

向量数据库具有一系列广泛的好处,特别是在生成式人工智能方面,更具体地说,是在大语言模型(LLM)方面。这些好处包括先进的索引和精确的相似度搜索,有助于交付强大的先进项目。

三大开源向量数据库大比拼

本文将对三种开源向量数据库:Chroma、Milvus和Weaviate进行如实的比较。我们将探讨它们的用例、关键特性、性能指标及支持的编程语言等,以便全面公正地概述每种数据库。

向量数据库的定义

就最简单的定义而言,向量数据库将信息存储为向量(向量嵌入),向量是数据对象的数值版本。

正因为如此,向量嵌入是针对非常大的非结构化或半非结构化数据集进行索引和搜索的强大方法。这些数据集可以由文本、图像或传感器数据组成,向量数据库将这些信息排序为易于管理的格式。

向量数据库使用高维向量工作,高维向量可能含有数百个不同的维度,每个维度又都与数据对象的特定属性相关联,因此带来了无与伦比的复杂性。

不要与向量索引或向量搜索库相混淆,向量数据库是一种完整的管理解决方案,用于以下列方式存储和过滤元数据:

  • 完全易于扩展。
  • 很容易备份。
  • 支持动态数据更改。
  • 提供高级别的安全性。

使用开源向量数据库的好处

开源向量数据库提供了许多优于替代数据库的优点,比如:

  • 它们是一种灵活的解决方案,很容易修改以满足特定要求,而不像许可式方案通常为某个项目设计
  • 开源向量数据库由庞大的开发者社区提供支持,开发者随时准备协助解决任何问题或提供有关如何改进项目的建议。
  • 开源解决方案对预算友好,没有许可费用、订阅费用或项目期间的任何意外成本。
  • 由于开源向量数据库的透明性,开发人员可以更有效地工作,了解每个组件以及数据库是如何构建的。
  • 开源产品在活跃社区的支持下,随着技术的变化而不断改进和完善。

开源向量数据库比较:Chroma Vs. Milvus Vs. Weaviate

我们已经了解了向量数据库的定义以及开源解决方案具有的好处,现在不妨考虑一下市场上最流行的一些选择。我们将重点介绍Chroma、Milvus和Weaviate的优势、功能和用途,然后进行直接的面对面比较,以确定最适合您需求的选择。

1. Chroma

Chroma旨在帮助各种规模的开发人员和企业创建LLM应用程序,提供构建复杂项目所需的所有资源。Chroma确保项目具有高度可扩展性,并以最佳方式工作,以便高维向量可以快速地存储、搜索和检索。

它之所以越来越受欢迎,是由于它是一种极其灵活的解决方案,有广泛的部署选项。此外,Chroma可以直接部署在云上,也可以在现场运行,使其成为任何企业的可行选择,无论其IT基础设施如何。

用例

Chroma还支持多种数据类型和格式,因而适合几乎任何应用程序。然而,Chroma的主要优势之一是它支持音频数据,这使得它成为基于音频的搜索引擎、音乐推荐应用程序和其他基于声音的项目的首选。

2. Milvus

Milvus在机器学习和数据科学领域获得了很高的声誉,在向量索引和查询方面拥有出色的能力。利用功能强大的算法,Milvus提供闪电般的处理和数据检索速度以及GPU支持,即使在处理非常庞大的数据集时也是如此。Milvus还可以与PyTorch和TensorFlow等其他流行的框架集成,从而允许将其添加到现有的机器学习工作流中。

用例

Milvus以其在相似性搜索和分析方面的能力而出名,广泛支持多种编程语言。这种灵活性意味着开发人员并不局限于后端操作,甚至可以在前端执行通常为服务器端语言保留的任务。比如说,您可以使用JAVAScript生成PDF,同时利用来自Milvus的实时数据。这为应用程序开发开辟了新的途径,特别是针对教育内容和专注于可访问性的应用程序。

这种开源向量数据库可以应用于一系列广泛的行业和大量的应用环境。另一个突出的例子涉及电子商务,Milvus可以支撑准确的推荐系统,根据客户的偏好和购买习惯来建议产品。

它还适用于图像/视频分析项目,协助图像相似性搜索、对象识别以及基于内容的图像检索。另一个关键用例是自然语言处理,提供文档聚类和语义搜索功能以及为问答系统提供基础功能。

3.Weaviate

接受比较的第三种开源向量数据库是Weaviate,它出现在自托管的解决方案和完全托管的解决方案中。无数企业使用Weaviate来处理和管理大型数据集,因为它具有出色的性能、简单性和高度可扩展性。

Weaviate能够管理众多数据类型,非常灵活,可以存储向量和数据对象,这使得它非常适合需要一系列搜索技术的应用环境(比如向量搜索和关键字搜索)。

用例

就使用而言,Weaviate非常适合企业资源规划软件或牵涉以下方面的应用软件中的数据分类等项目:

  • 相似性搜索
  • 语义搜索
  • 图像搜索
  • 电子商务产品搜索
  • 推荐引擎
  • 网络安全威胁分析与检测
  • 异常检测
  • 自动化数据协调

现在我们对每种向量数据库的功能有了一番简单的了解,不妨考虑更具体的细节,它们在下面便捷的比较表中将每种开源解决方案区分开来。

比较表

 

Chroma

Milvus

Weaviate

开源状态

有,Apache-2.0许可证

有,Apache-2.0许可证

有,BSD-3-Clause许可证

发布日期

2023年2月

2019年10月

2021年1月

用例

适合众多应用环境,支持多种数据类型和格式。

擅长基于音频的搜索项目和图像/视频检索。

适合众多应用环境,支持多种数据类型和格式。

极适合电子商务推荐系统、自然语言处理及图像/视频分析。

适合众多应用环境,支持多种数据类型和格式。

极适合企业资源规划软件中的数据分类。

关键特性

极易于使用。

开发、测试和生产等环境都使用Jupyter笔记本上的同一API。

强大的搜索、过滤

和密度估计功能。

使用内存中存储和持久性存储来提供高速查询和插入性能。

为大规模向量数据处理提供自动化的数据分区、负载均衡和容错。

支持众多向量相似性搜索算法。

提供基于GraphQL的API,与知识图交互时提供灵活性

和高效率。

支持实时数据更新,确保知识图在最新变化后仍然最新。

模式推理功能使定义数据结构的过程实现了自动化。

支持的编程语言

Python/ target=_blank class=infotextkey>Python或JavaScript

Python、Java、C++和Go

Python、Javascript和Go

社区和行业知名度

强大社区,提供Discord频道,可回答实时查询。

Github、Slack、Reddit和Twitter上有活跃的社区。

1000多企业用户。

丰富的说明文档。

专门的论坛和活跃的Slack、

Twitter和LinkedIn社区。

外加定期播客和新闻简报。

丰富的说明文档。

性能指标

没有

https://milvus.io/docs/benchmark.md

https://weaviate.io/developers/

weaviate/benchmarks/ann

GitHub星标

9000

23500

7800

结论

这篇比较指南中每种开源向量数据库都很强大、易于扩展,并且完全免费。这可能会使选择完美的解决方案变得有点困难,但如果了解您从事的具体项目和所需的支持水平,这个过程可以变得更容易。

Chroma是最新的解决方案,在社区支持方面不如其他两个,但是其易用性和灵活性使它成为一个很好的选择,特别是对于涉及音频搜索的项目。

Milvus拥有最高的GitHub星级评级和强大的社区支持,有数量惊人的企业信任这个向量数据库来满足需求。因此,Milvus很适合自然语言处理和图像/视频分析项目。

最后,Weaviate提供自托管和完全管理的解决方案,并提供详细的说明文档和支持。一个关键的用例是企业资源规划软件中的数据分类,但这款解决方案对于众多项目来说堪称完美。

原文标题:An Honest Comparison of Open Source Vector Databases,作者:Nahla Davies



Tags:向量数据库   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  Search: 向量数据库  点击:(4)  评论:(0)  加入收藏
简易百科之什么是向量数据库
随着大数据时代的到来,数据存储和处理成为了一个重要的问题。传统的关系型数据库已经无法满足一些场景的需求,例如大规模高维数据的处理和分析。在这样的背景下,向量数据库应运...【详细内容】
2024-01-15  Search: 向量数据库  点击:(166)  评论:(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:数据库   点击:(25)  评论:(0)  加入收藏
SQL优化的七个方法,你会哪个?
一、插入数据优化 普通插入:在平时我们执行insert语句的时候,可能都是一条一条数据插入进去的,就像下面这样。INSERT INTO `department` VALUES(1, '研发部(RD)', &#39...【详细内容】
2024-03-07  程序员恰恰  微信公众号  Tags:SQL优化   点击:(19)  评论:(0)  加入收藏
站内最新
站内热门
站内头条