向量分析
AnalyticDB PostgreSQL版提供以Nova向量索引为主的向量分析能力,可以将图片、音频、视频和文本等非结构化数据转换为特征向量,并通过SQL完成向量存储、索引和相似度检索。向量检索还可以与结构化、半结构化及全文检索组合使用。
向量数据库简介
AnalyticDB PostgreSQL版通过特征向量表示文本、图片、音频和视频等非结构化数据,并基于MPP架构和自研新一代向量检索引擎Nova,提供向量存储、索引及相似度检索能力。Nova是当前主推的向量索引,面向低延迟写入、多租户、跨表混合检索和并发索引构建等生产场景设计。用户可以通过SQL将向量检索与结构化数据过滤、半结构化数据查询及全文检索结合使用,同时获得事务、高可用和横向扩展等数据库能力。相关核心技术可参考论文《Nova: A Multi-Purpose Vector Engine for Low-Latency, Multi-Tenant, and Cross-Table Hybrid Retrieval》。
向量索引选型
AnalyticDB PostgreSQL版提供两类向量索引路径。
Novad(Nova索引Disk版本):适合大规模数据及关注存储成本的场景。
Novam(Nova索引Memory版本):适合关注低延迟和查询性能的场景。
典型应用场景
通过AnalyticDB PostgreSQL版向量分析,您可以非常容易地搭建各种智能化应用。
以图搜图服务,即通过图片检索图片的应用服务。
视频检索服务,即通过视频中的某些帧图片进行视频图片检索,来实现视频检索。
声纹检索服务,即通过音频匹配音频的应用服务。
推荐系统服务,即通过用户特征匹配实现推荐匹配的功能。
基于语义的文本检索和推荐,通过文本检索近似文本。
问答机器人,通过与大模型结合搭建高效的问答机器人服务。
文件去重,通过文件指纹特征来去除重复文件。
优势
AnalyticDB PostgreSQL版以自研向量检索引擎Nova为核心,将向量检索与数据库能力深度融合。与传统HNSW索引相比,主要具备以下优势:
混合检索:支持通过SQL将向量检索与结构化数据过滤、半结构化数据查询及全文检索结合使用,实现语义与关键词双路召回。
自适应搜索:能够在查询速度和召回率之间自动取舍,在减少手动调参的同时获得良好的检索效果。
实时写入:采用Delta-Base架构,将数据写入与主索引构建解耦,使新增和更新的向量可以及时参与检索;数据积压时自动触发反压,并提供Flush等运维能力。
灵活的性能与成本选择:提供面向大规模、成本敏感场景的Novad磁盘型索引,以及面向低延迟、高性能场景的Novam内存型索引。支持RaBitQ、SQ8量化,以及halfvec、bit、sparsevec和sq8vector等多种向量类型。
在线创建索引:支持`CREATE INDEX CONCURRENTLY`,可以在业务正常读写期间创建或重建索引,降低索引操作对在线业务的影响。
减少查询回表:支持通过`INCLUDE`将业务字段写入向量索引,查询命中这些字段时可以直接从索引返回结果。
自动降维:支持PCA自动降维和手动指定目标维度,降低高维向量的计算量及存储占用。
自动调优:Autotune支持使用真实查询集或系统生成的合成查询进行调优。用户只需指定Top-K和目标召回率,系统即可评估并应用合适的搜索参数。
易用和兼容:用户可以通过SQL完成建表、数据导入、索引创建和向量查询;同时提供pgvector兼容模式,降低已有应用的迁移成本。