news 2026/3/4 3:44:01

TiDB 向量能力上手指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TiDB 向量能力上手指南

作者: MrSylar 原文来源: https://tidb.net/blog/41420212

Preface

TiDB v8.4(DMR) 版本开始提供向量搜索的实验特性,其向量能力基于 tiflash 构建。向量数据类型 vector 向量最大支持 16383 维, 向量搜索索引类型支持 HNSW (Hierarchical Navigable Small World) 。本文使用 TiDB v8.5.2 版本。

使用基础

创建向量索引

TiDB支持两种方式创建向量索引:

1)随建表对向量类型 vector 列创建 HNSW 索引

sql CREATE TABLE foo ( id INT PRIMARY KEY, embedding VECTOR(5), VECTOR INDEX idx_embedding ((VEC_COSINE_DISTANCE(embedding))) );

2)建表后对向量类型 vector 列创建 HNSW 索引

sql CREATE VECTOR INDEX idx_embedding ON foo ((VEC_COSINE_DISTANCE(embedding))); ALTER TABLE foo ADD VECTOR INDEX idx_embedding ((VEC_COSINE_DISTANCE(embedding))); -- 你也可以显式指定 "USING HNSW" 使用 HNSW 构建向量搜索索引 CREATE VECTOR INDEX idx_embedding ON foo ((VEC_COSINE_DISTANCE(embedding))) USING HNSW; ALTER TABLE foo ADD VECTOR INDEX idx_embedding ((VEC_COSINE_DISTANCE(embedding))) USING HNSW; -- 查看索引构建进度 SELECT * FROM INFORMATION_SCHEMA.TIFLASH_INDEXES; 通过字段 ROWS_STABLE_INDEXED 和 ROWS_STABLE_NOT_INDEXED 列查看索引构建进度,当 ROWS_STABLE_NOT_INDEXED 变为 0 时,表示索引构建完成

使用向量索引

TiDB 支持 SQL 和 Python SDK 两种方式使用向量搜索功能,其中 SQL 方式通过 ORDER BY ... LIMIT 子句来使用向量搜索索引,示例所示:

SQL

SELECT *FROM foo ORDER BY VEC_COSINE_DISTANCE(embedding, '[1, 2, 3, 4, 5]') LIMIT 10

性能测试

VectorDBBench 是一款对向量数据库进行基准性能和容量测试的工具,

[VectorDBBbench 项目地址]( https://github.com/zilliztech/VectorDBBench "VectorDBBbench github"),测试结果的指标中主要关注包括 qps、recall(召回率)、响应时间等。本文采用 5 台服务器做了初步性能测试,数据集 dataset 采用 biaosq_10m,向量维度1024维,服务器角色分配如下:

| 服务器 | 角色 | | ----------- | ----------- | | Server1 | tidb、tikv、pd | | Server2 | tidb、tikv、pd | | Server3 | tidb、tikv、pd | | Server4 | tiflash | | Server5 | tiflash | | Server6 | vectordbbench、haproxy |

性能测试结果(仅供参考,未尝试任何优化)如下:

|TiFlash 实例数量| QPS | latency(p99) |Recall | |-----------| ----------- | ----------- |------- | |1 | 108 | 0.0694 |0.9256| |2 | 45 | 0.1514 | 0.9558 |

\

业界产品性能可以参考 [VectorDB leader board]( https://zilliz.com/vdbbench-leaderboard?dataset=vectorSearch )

展望

本次测试中,向量的功能和性能已经基本满足业务使用。当然对比同类产品,也客观存在一些不足,例如 ivf 向量索引、混合搜索、向量内存管理等还不支持。通过线下交流了解到,TiDB 团队正紧锣密鼓深耕向量存储、检索效率及生态适配等核心方向,很快将推出集成更多实用功能、性能进一步优化的新版本,值得期待。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/25 3:34:30

9个AI工具,助你轻松搞定本科论文!

9个AI工具,助你轻松搞定本科论文! AI 工具,让论文写作不再“难上加难” 在当前的学术环境中,越来越多的本科生开始借助 AI 工具来提升论文写作效率。无论是内容生成、结构搭建,还是查重降重,这些工具都能提…

作者头像 李华
网站建设 2026/2/27 12:02:29

Linly-Talker在法院诉讼指引中的便民服务尝试

Linly-Talker在法院诉讼指引中的便民服务尝试 在各地法院立案大厅里,总能看到这样的场景:一位老人攥着皱巴巴的材料单,反复向窗口工作人员确认“我这案子能不能立”;一对夫妻情绪激动地争论管辖问题,却因表述不清被要求…

作者头像 李华
网站建设 2026/3/2 1:18:41

潮乎盲盒小程序二开源码 | 已过审运营版 含Uniapp前端+ThinkPHP后端

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 本资源为“潮乎盲盒”小程序深度二开运营版源码,基于多次实际运营经验进行全方位优化,涵盖页面设计、功能体验、过审策略及推广体系,系统稳定可靠。源…

作者头像 李华
网站建设 2026/2/23 14:24:28

GSV5800@ACP#5800产品规格详解及产品应用分享

一、产品核心概述GSV5800 是由 GSCoolink(基石酷联微电子)推出的高性能多接口 Serdes 扩展芯片,主打 Type-C/DisplayPort 1.4/HDMI 2.0 信号的长距离传输,集成嵌入式 MCU、视频编解码器、音频处理模块及 USB PD 3.0 控制器&#x…

作者头像 李华