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 索引
2)建表后对向量类型 vector 列创建 HNSW 索引
使用向量索引
TiDB 支持 SQL 和 Python SDK 两种方式使用向量搜索功能,其中 SQL 方式通过 ORDER BY … LIMIT 子句来使用向量搜索索引,示例所示:
SQL
性能测试
VectorDBBench 是一款对向量数据库进行基准性能和容量测试的工具,
[VectorDBBbench 项目地址](https://github.com/zilliztech/VectorDBBench “VectorDBBbench github”),测试结果的指标中主要关注包括 qps、recall(召回率)、响应时间等。本文采用 5 台服务器做了初步性能测试,数据集 dataset 采用 biaosq_10m, 向量维度 1024 维,服务器角色分配如下:
性能测试结果(仅供参考,未尝试任何优化)如下:
业界产品性能可以参考 [VectorDB leader board](https://zilliz.com/vdbbench-leaderboard?dataset=vectorSearch)
展望
本次测试中,向量的功能和性能已经基本满足业务使用。当然对比同类产品,也客观存在一些不足,例如 ivf 向量索引、混合搜索、向量内存管理等还不支持。通过线下交流了解到,TiDB 团队正紧锣密鼓深耕向量存储、检索效率及生态适配等核心方向,很快将推出集成更多实用功能、性能进一步优化的新版本,值得期待。
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/f1f423a14e66cf8870b64c9a2】。文章转载请联系作者。







评论