宣布 PlanetScale Vectors 正式上线

经过一个冬季的专注开发,我们很高兴地宣布,PlanetScale 对向量搜索和存储的支持现已正式 GA(General Availability)。自开放测试版启动以来,我们将查询性能提升了一倍,内存效率提升了 8 倍,同时专注于健壮性,确保向量支持和 MySQL 中的其他数据类型一样稳定。尤其值得骄傲的是,向量索引的可扩展性现已显著提升,即使索引大小是可用内存的 6 倍,性能依然优秀。


真正的关系型索引

我们已将向量设计为 MySQL 的一等公民,意味着写入和查询操作与普通关系型数据库一样运行:

  • 将向量数据存储到现有 keyspace 的一个列中;
  • 使用 ALTER 或 CREATE VECTOR INDEX 语句创建索引;
  • 像处理普通数据一样,用 SELECT 语句结合 JOIN 和 WHERE 子句查询向量索引;
  • 将写入操作包含在事务中,并期待数据在事务提交后立即可见,或者可以选择回滚提交;
  • 随着添加和删除行,索引性能始终保持优异,无需定期重建。

依然是 PlanetScale 数据库

所有 PlanetScale 的功能现在都兼容向量:

  • 创建一个分支。
  • 新增一个向量索引。
  • 打开一个部署请求(deploy request),将索引合并到你的生产分支中。
  • 若需要,可以轻松回滚变更。
  • 在其他副本上查询你的向量索引,甚至可以跨区域查询。
  • 放心地休息,因为你的向量数据已经包含在计划的备份中。

强大的向量索引

我们不仅完善了关系型和操作性方面的支持,还设计了先进的向量索引功能,以满足多种嵌入需求和用例:

  • 索引可以按 欧几里得距离(L2)内积 或 余弦距离 排列向量;
  • 支持最大维度数达 16,383 的任何向量;
  • 提供固定量化和 产品量化 支持;
  • 固定量化至每个字段 1 位,提供极快速度,或者按需设置为更复杂量化形式。

索引应超越 RAM 的限制

PlanetScale 向量支持的最大亮点之一是能够使用超过 RAM 大小的索引。我们是首个在关系型数据库(RDBMS)中引入基于 SPANN(Space-Partitioned Approximate Nearest Neighbors) 的索引设计的系统。

  • SPANN 是一种混合索引设计,结合了基于分区索引和基于树索引的最佳特性;
  • 在 SPANN 中,向量被分配到小分区,并存储于隐藏的 InnoDB 表中;
  • 每个分区的一部分向量(大约 20% 的索引大小)存储在内存中的树结构中,以便快速定位与查询相关的分区;
  • 索引构建和查询时,只需要树结构以及少量固定分区内容留存在内存中,这使得向量数据的操作效率提升,即使数据大小达到可用内存的 6 倍。

将向量索引部署在 PlanetScale Metal 可以确保从 InnoDB 加载分区以满足查询的速度尽可能快。


如何启用向量支持

要开始使用向量支持,请前往任何数据库的 “Branches” 页面:

  1. 点击目标分支;
  2. 在右侧 “Connect” 按钮下方点击齿轮图标以进入分支设置;
  3. 切换“Enable vectors”的选项;

然后,你可以参考 向量文档 中的示例,创建一个向量列,添加数据,并创建索引进行查询。


PlanetScale Vectors 的正式 GA 是向数据库技术发展的新里程碑,通过无缝集成和强大的索引设计,为用户提供了卓越的性能和可扩展性,支持现代数据需求的全面解决方案。



PlanetScale Vectors 正式上线 GA插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://choupangxia.com/2025/09/14/planetscale-vectors-ga/