开源数据库 openGauss 在 6.0.3 版本中把向量能力收进了内核:这一被命名为 DataVec 的向量引擎,随该版本正式对外提供。它并非外部插件式的旁路方案,而是以内核特性的身份存在,开发者沿用熟悉的 SQL 语句即可完成向量数据的写入与查询,使用门槛被明显压低。

版本起点:openGauss 6.0.3 内核自带向量引擎

据 openGauss 社区文档披露,DataVec 的引入时间为 6.0.3 版本。其定位是一个构建于 openGauss 之上的向量引擎,负责向量的存储与检索;面对体量庞大、维度很高的向量数据,它力求给出速度快且结果准的查询表现。智能知识检索与检索增强生成 RAG 是其点名的主要落地方向。

文档列出的能力清单包括: точ确最近邻搜索与近似最近邻搜索、L2 距离与余弦距离及内积三类度量、向量索引,以及配套的向量操作函数与操作符。

部署与扩展:容器镜像快速起步,spqplugin_v2 撑起分布式

在部署方式上,DataVec 可通过容器镜像完成安装,从而快速落地,并能较快地连接大模型,在本地搭建一套 RAG 智能问答服务。若数据规模较大,则可以加装 spqplugin_v2 插件,由此获得分布式存储与检索方面的支撑。

按照文档的表述,向量数据库的价值在于凭借高效的相似度搜索,帮助大模型准确取回相关的私有知识;在 RAG、推荐与语义搜索这类场景中,企业级 AI 应用因此可以做到时延更低、准确率更高。

技术细节:四类向量数据类型、六种索引与鲲鹏加速

DataVec 与自研大模型的衔接是开箱即用的。它借助嵌入技术,把文本、图像等非结构化内容转成向量,再对这些向量加以存放和查询。所谓嵌入,就是让非结构化数据进入向量空间,语义或视觉上接近的对象在空间中彼此靠得更近,检索的准确性与效率由此改善。

性能层面,DataVec 支持鲲鹏指令集加速。鲲鹏指令集由华为自主研发,面向高性能计算,据文档说法能显著提高数据处理与运算的效率;得益于此,面对超大规模向量时,DataVec 的响应可达到毫秒级。

数据结构方面,DataVec 定义了四种向量类型:float 向量 vector 上限为 16000 维;bit 向量可到 83,886,080 维;sparse 向量 sparsevec 上限为 1,000,000,000 维,且非零元素最多 16000 个;halfvec 与 vector 一致,最高 16000 维。文档提醒,这些数字是类型本身的天花板,若走索引路径,实际维度约束需另看索引页面的说明。类型之间还支持与普通类型互转、距离计算和向量运算,详细清单见向量函数与操作符文档。

索引侧提供六类选择:倒排索引 IVFFLAT、附带 PQ 量化压缩的 IVF-PQ、附带 RabitQ 量化压缩的 IVF-RabitQ、图索引 HNSW、带 PQ 压缩的 HNSW-PQ、带 RabitQ 压缩的 HNSW-RabitQ,另有面向磁盘的图索引 DISKANN——这条路径主打超低内存条件下的磁盘检索。

生态与场景:多语言 API 对接,覆盖识别、推荐与基因筛选

在生态层面,DataVec 面向 Python、Java、Node.js、Go 等语言提供接入方式,调用 API 即可用上向量库能力;它同时主动兼容开源第三方组件,在 RAG 场景下追求快速适配与多方案可选,更细的用法可查阅向量数据库工具编排相关文档。

文档列举的用例覆盖多个行业:安全监控与身份验证中的人脸特征比对;摄像头抓取车辆图像后的车牌识别与车辆特征分析;物流运输环节基于实时轨迹的跟踪;按浏览与购买行为生成商品推荐;金融、安防领域以声纹完成身份核验;药物研发中检索特定基因序列以锁定候选靶点。社区还通过向量数据库教程案例展示了更多组合方式,用户可按需把这一能力嵌入自有业务。

小结:DataVec 进入 openGauss 6.0.3 内核,意味着开源数据库用户不必另建一套向量服务,用 SQL 即可获得从 16000 维 float 到 10 亿维 sparse 的检索能力,并在鲲鹏指令集与多语言 API 之上对接 RAG 等场景。