摘要:在ChatGPT等自然语言大模型之前,市场面的“原生”向量数据库屈指可数,如Pinecone、Milvus、Zilliz等,且大多以开源的形式谋求发展。
在ChatGPT等自然语言大模型之前,市场面的“原生”向量数据库屈指可数,如Pinecone、Milvus、Zilliz等,且大多以开源的形式谋求发展。
随着LLM的爆发,几乎是在一夜之间,市面上出现众多的原生向量数据库,有些是自主研发的,大多是基于开源软件推出的发行版。
之后众多传统的关系型数据库和NoSQL数据库供应商也不甘寂寞,为了适应AI时代数据处理的需求,调整了产品形态,使其能够存储、索引和处理向量数据,如Elastic、DataStax、Couchbase、MongoDB,甚至甲骨文、Teradata等。
然而,向量数据库市场的爆炸式增长,也给用户造成了一些困惑,如Postgres的pgvector插件是否足以满足GenAI需求?原生向量数据库带来了哪些多模数据库无法比拟的好处?向量数据库是只在云中运行,还是也可以在本地运行···
最大的困惑则是,选择专用的原生向量数据库,还是使用增加了向量存储和服务功能的多模的关系数据库或NoSQL数据库?
GenAI点亮向量数据库市场增长引擎
不得不承认,向量数据库是目前最流行的数据库类型之一。DB-Engines.com根据用户采用等指标,为不同的数据库产品排行,因此DB-Engines可以说是数据库发展的一张晴雨表。
根据DB-Engines.com数据,向量数据库是目前最流行的数据库类型之一。从图可以看出,关系型数据库是一个长胜冠军,任何时候都是数据库市场的主力。所以,当关系型数据库增加向量存储,向量数据库市场就显得尤为庞大。
而原生的向量数据库是为存储和检索特定类型的数据——向量嵌入而设计的,向量嵌入是高维空间中数据的数学表示。在此空间中,每个维度对应于数据的一个特征,并且可以使用数以万计的维度来表示复杂的数据。向量在此空间中的位置表示其特征。单词、短语或整个文档以及图像、音频和其他类型的数据都可以向量化。
这些向量嵌入用于相似性搜索、多模态搜索、推荐引擎、大型语言模型(LLM)等。在向量数据库中,嵌入根据向量距离或相似性通过向量搜索算法进行索引和查询。需要一个强大的机制来识别最相关的数据。一些著名的向量搜索算法包括Hierarchical Navigable Small World(HNSW)、Inverted File(IVF)、DiskANN等。
由此可以发现,向量数据库既不同于PostgreSQL等传统关系数据库,因为关系型数据库最初设计为以行和列的形式存储表格数据;又与较新的NoSQL数据库如MongoDB截然不同,NoSQL数据库将数据存储在JSON文档中。
同样,向量索引与向量数据库也有一定的区别。向量索引和向量数据库都旨在有效地存储和检索向量,即表示对象特征(如文档、图像、视频或音频文件)的数字集。但是,它们具有不同的特性和用例。
向量索引主要用于“最近邻”搜索,涉及查找与给定查询向量最近的向量,非常适合需要快速准确相似性搜索的应用程序,如推荐引擎。相比之下,向量数据库是组织存储向量以进行检索和分析的地方。企业级向量数据库提供了超越最近邻搜索的功能,如元数据存储、数据版本控制以及与其他系统的集成。
向量索引和向量数据库之间的主要区别在于,向量索引存储有关非结构化数据(如文本、图像或音频文件)属性的信息,由一组称为向量的数字表示。向量索引保存此数据,并以帮助数据库快速识别和匹配对象的方式对其进行“索引”。
向量数据库包含这些索引及其描述的对象。但是,数据库排列向量索引和数据对象的方式各不相同。支持向量的数据库如Oracle Database将数据对象的存储与数据和向量的搜索方式分开,能够将SQL对元数据和最新业务数据的成熟查询功能与向量搜索的速度和上下文相关性相结合。
向量数据库市场伴随着GenAI的发展而暴增。MarketsandMarkets数据显示,全球向量数据库市场的价值预计将从2020年的3.2亿美元,激增至2025年的10.5亿美元,对应的年均复合增长率为26.8%。
据中国信通院测算,预计到2025年,中国数据库市场规模将达688亿元,随着AI应用场景加速落地,预计2025年向量数据库渗透率约为30%,则全球向量数据库市场规模约为99.5亿美元,中国向量数据库市场规模约为82.56亿元。
市场成长主因无疑是AI。向量数据库的第一个重要用例是为下一代搜索引擎和生产推荐系统提供支持。搜索引擎可以通过增强传统的关键字搜索,并采用向量搜索技术,显著提高网站搜索引擎的准确性和可用性。向量搜索不需要完美的关键字匹配,而是使用机器学习来推断用户的意图。
而现在,向量数据库最热门的工作负载是LLM,如OpenAI的GPT-4、Facebook的LLaMA,阿里的Qwen,腾讯的元宝,Google的LaMDA等。
在LLM部署中,可以使用向量数据库来存储LLM训练产生的向量嵌入。通过存储代表LLM广泛训练的潜在数十亿个向量嵌入,向量数据库执行最重要的相似性搜索,找到用户的提示(用户提出的问题)和特定向量嵌入之间的最佳匹配。
虽然向量引擎也可用于支持向量相似性搜索,基本上是AI驱动的搜索,而不是关键字驱动的搜索,但LLM和GenAI的兴起正在推动向量数据库的普及。
现在来看,向量数据库用于分析和生成AI的许多领域和情况,包括自然语言处理、视频和图像识别、推荐系统、搜索等。使用向量数据库来实现利用LLM和自定义数据或特定域信息的检索增强生成(RAG)尤其受欢迎,克服LLM的令牌限制,降低对更新数据进行频繁微调的成本。
原生和多模向量数据库主宰市场
在您为GenAI用例选择向量数据库时,主要有两个选择——专用的原生向量数据库,还是具有附加向量功能的多模数据库。
市场研究机构Forrester认为,向量数据库为向量表示的数据提供存储、索引、处理和访问,以支持相似性搜索、RAG应用程序、现代生成式AI/LLM应用程序和基于向量的分析。Forrester预测,尽管向量数据库处于起步阶段,但我们预计短期内各种用例将激增,因此用户选择时就需要更多的取舍。
尽快市场上的向量数据库鱼目混杂,但是基本上按向量数据库实现方式,可以分为专用的原生向量数据库,也叫纯向量数据库,以及多模的关系数据库或NoSQL数据库,也被称为集成向量数据库。
纯向量数据库旨在有效地存储和管理向量嵌入以及少量元数据,与派生嵌入的数据源是分开的。
集成在高性能NoSQL或关系数据库中的向量数据库提供了额外的功能。NoSQL 或关系数据库中的集成向量数据库可以与相应的原始数据一起存储、索引和查询嵌入,消除了在单独的纯向量数据库中复制数据的额外成本。
此外,将向量嵌入和原始数据放在一起,可以更好地促进多模数据操作,并提高数据一致性、规模和性能,具有架构灵活性。因此,集成向量数据库的高性能数据库特别适合AI代理。
市场向量数据库产品越来越多。不管是哪类向量数据库,都可以分为两类,一类是开源的数据库,另一类是自研的数据库。每一类都有众多的数据库产品可供选择。
DB-Engines.com列出的向量数据库有18个,9款原生的向量数据库;9款多模的向量数据库。显然,市场上向量数据库比表上所列的要多得多。DB-Engines.com包括辅助数据库模型的向量数据库则有28个。
Forrester对市场的主流向量数据库列出了其用例分布情况,其中包括的国内的华为、腾讯云等。用例最大的显然是数据科学(AI/ML),其他的用例包括欺诈检测、数据异常检测、图像与视频识别、数据发现与探索等,则不分伯仲。
表:向量数据库供应商拓展的用例
资料来源:Forrester
向量数据市场呈现日益明显的发展趋势。两类向量数据库用户群有明显的区别。原生向量数据库的可扩展性更高,尤其是在处理大量向量时。同时,多模向量数据库的主要优点是可以存储其他类型的数据,从而可能消除对两个或多个独立数据库的需求。
向量数据库中的规模挑战尚未完全解决,高端仍是其发展的方面。高端规模和性能仍然需要相当大的努力,尤其是在支持数百亿个数据点(向量)时。
向量数据库的预期功能正在发生变化。向量存储、索引和处理等核心功能正在通过更高级的功能得到增强,包括增强的安全措施、优化的处理能力以及与各种向量嵌入转换器和数据流引擎的无缝集成。
云数据平台(包括Data Fabric和数据湖仓一体)也在采用向量功能,可能会进一步颠覆向量数据库市场。这一趋势突显了向无缝集成向量功能的综合数据管理解决方案的转变,可能会重塑专业向量数据库的格局。
原生向量数据库的风景独好?
DB-Engine跟踪8个专用的原生纯向量数据库。与添加了向量功能的通用数据库相比,专用向量数据库将提供更一致的性能,其原因与组织通常将其事务性工作负载和分析工作负载分开的原因相同:防止一种类型的工作负载影响另一种类型的工作负载。
刚开始使用GenAI的组织可能会发现,一个通用数据库可用于存储和提供向量嵌入。但是,随着GenAI应用发展到数百万个嵌入向量,用户会发现通用数据库无法扩展,以满足他们的需求。
例如,用户可以使用Postgres做任何事情,因为Postgres拥有一切。用户可以使用Postgres进行关键字搜索,但是如果关键字搜索对应用程序很重要,用户可能会选择Elastic或更专用的工具,它们有专门的功能集,可以进行优化,而且不会影响工作数据库。
向量数据库选择需要权衡取舍。为了提高可扩展性,大多数向量数据库将提供最终一致性,而不是关系数据库提供的ACID功能。在后台,一切都与性能和可扩展性有关。分布式部署是传统数据库更关注事务数据和数据一致性的关键之一。
Tencent Cloud VectorDB可以说是国内最早推出的一款全自研的分布式向量数据库服务。在性能上,腾讯云的向量数据了单索引支持最高千亿级向量规模,可轻松处理十亿级向量数据规模,在2023年底再宣称其检索规模从十亿升级至千亿级别;可支持百万级QPS及毫秒级查询延迟,单实例最高可达500万QPS,能够满足AI场景下大规模数据的实时检索需求;支持毫秒级数据实时更新,确保数据的时效性,满足企业对数据快速变化的需求。
在应用上,企业可将私域数据经过文本分割、向量化后存储在腾讯云向量数据库中,构建专属的外部知识库,为大语言模型提供提示信息,辅助大模型生成更准确的答案,有效解决大模型预训练成本高、知识更新不及时等问题,加速大模型在企业的落地。
国内企业星环科技推出出自研企业级云原生分布式向量数据库Transwarp Hippo,利用云原生架构和分布式设计实现了高性能和可扩展性,可处理海量数据集的复杂性和需求。
总部位于德国的Qdrant公司的分布式向量数据库,可以在Kubernetes上横向扩展,最大部署超过100个节点。Qdrant还具有内置的索引和压缩功能,旨在使数据大小更易于管理。
开源向量数据库,一般除了社区版外,都有商业版本或者模块。Weaviate就是一个开源的云原生向量数据库。它具有针对特定用例的模块,如语义搜索、用于将Weaviate集成到任何应用中的插件以及用于可视化数据的控制台。Weaviate有一个开放的核心和付费服务,用于企业SLA使用和自定义的、特定于行业的ML模型。
Weaviate的优势是在性能上,具有低于100毫秒的最近邻的快速查询,可搜索数百万个对象,通过Weaviate模块和自定义扩展支持各种媒体类型,对象之间的图形式连接可实现强大的查询等。
扎根中国市场的Zilliz是乘着GenAI浪潮的向量数据库供应商之一。作为开源Milvus数据库背后的商业机构,Zilliz正在积极努力开拓向量数据库市场的高端市场。公司拥有超过1万名企业用户,包括沃尔玛、Salesforce、Nvidia、IBM、PayPal等大型企业。
Zilliz Cloud在11月推出的最新更新——Milvus数据库的托管版本有望解决用户在扩展向量数据库时遇到性能瓶颈。此次更新将吞吐量和延迟提高了10倍,三种新的搜索算法将搜索准确率从70%提高到95%,以及一个新的AutoIndexer,无需手动配置数据库即可在每个数据集上实现最佳性能。
多模向量数据库道艰路长
虽然DB-Engines跟踪8个原生的向量数据库,但也包括了Kdb、Aerospike、CrateDB等8个多模向量数据库。如果您单击包含辅助模型,则DB-Engines 向量数据库列表中会突然出现27个数据库,包括Oracle、Postgres、MongoDB、Redis和Elasticsearch等数据库。
尽管专用向量数据库比通用向量数据库具有技术优势,但不可否认的是,使用通用数据库来存储和提供向量嵌入也很受欢迎,无论是用于GenAI还是AI驱动的搜索用例。
对于本质上已经是多模的NoSQL和关系数据库,添加向量数据类型好像是轻而易举的事。为了集成AI增强功能,多模向量数据库就是向量+DB,通常是通过将专门的独立向量数据库整合到现有的技术堆栈中来实现的,而且将这种向量处理引入已经存在的数据库要容易得多。
向量+DB方面,影响日益扩大的首推开源数据库。全球应用最广泛的开源数据库PostgreSQL,就推出了pgvector插件,一个开源的向量搜索引擎,允许用户在PostgreSQL数据库中存储和检索向量数据,支持向量的精确检索和模糊检索。
pgvector插件支持多种向量格式,包括单精度浮点数、半精度浮点数、二元向量或稀疏向量,并支持创建IVFFlat和HNSW索引以加速向量检索。同时其安装过程简单,只需创建扩展即可使用,适用于文本搜索、相似度计算、推荐系统等多种场景,是PostgreSQL用户进行向量数据管理的强大工具。
Redis是典型的键值(K - V)数据库,在其改变商业模式后,华为云推出了DCS企业版,阿里推出了Tair,腾讯推出了一个轻量级的Redis兼容存储系统Pika等。虽然Redis不是真正的向量数据库,但它的模块提供向量搜索功能。
Redis的两个模块(RediSearch 和 RedisAI)支持执行和管理深度学习模型及其数据。RedisAI存储和处理张量和脚本,通常提供向量嵌入,并使用RediSearch 执行向量相似性搜索。
在云服务上中,云上托管的数据库正在全面实现向量化。在国内,阿里云瑶池数据库的PolarDB、RDS、AnalyticDB、Lindorm、Tair等产品中集成了向量功能,能够实现结构化数据、半结构化数据、多模数据、向量数据的一体化处理,其性能较开源增强了2至5倍,例如阿里云新发布的8大行业模型及 “百炼” 平台,就采用Analyticdb作为内置向量检索引擎,加速了AIGC应用落地。
与阿里云类似,Google的策略是将向量引入其每一个数据存储中,包括其为Postgres、MySQL、Redis和Cloud Spanner等提供的托管产品。Google公司推出新的Spanner Data Boost功能,将全球分布式事务数据库与其分析数据库BigQuery联系起来。
传统关系型数据库的龙头企业也已经全面向量。例如Oracle在全球广受欢迎的企业数据库Oracle数据库为向量和所有数据类型提供了一个单一数据平台。通过将 SQL、JSON 文档、图形、地理空间数据、文本和向量合并到单个数据库中,用户将能够在应用中快速构建新功能。
不得不提的Oracle MySQL HeatWave数据库服务以原生方式处理向量,以支持向量搜索和其他使用场景。例如,可以将其与Oracle Cloud Infrastructure(OCI)中的检索增强生成(RAG)结合使用,为专有文档提供生成式AI界面,从而为提供组织运营数据方面的专家AI。
而在NoSQL向量数据库方面,不同的企业都有自己的举措。MongoDB在向量数据库方面的主要进展包括引入Atlas Vector Search功能,简化了AI和语义搜索的集成过程,允许用户通过将文本、图像、视频、音频等多种数据类型转化为数字向量来进行高效搜索。
此外,MongoDB与Google Cloud合作,集成了Vertex AI基础模型,进一步增强了其生成式AI应用的开发能力。
Azure Cosmos DB for NoSQL据说是世界上第一个无服务器NoSQL向量数据库。微软将向量和数据一起存储在具有集成向量数据库功能的Azure Cosmos DB for NoSQL 中,可以在其中创建基于DiskANN的向量索引。
另外,使用Azure Cosmos DB for MongoDB中本机集成的向量数据库(vCore 体系结构),提供了一种直接存储、索引和搜索高维向量数据以及其他应用程序数据的有效方法,消除了将数据迁移到成本更高的替代向量数据库的必要性,并提供了AI驱动型应用的无缝集成。
迈向高端,提高性能,增强安全措施,优化处理能力等,正成为不同类型向量数据库的发展方向。不做半途而废的退出者,要做领跑者,开源和商业化并驾齐驱,一定会向我们展示向量数据库的强大力量。
来源:数据猿