ITPub博客

首页 > 数据库 > MySQL > PlanetScale vectors 现已正式发布 — PlanetScale

PlanetScale vectors 现已正式发布 — PlanetScale

MySQL 作者:ITPUB社群 时间:1970-01-01 08:33:45 0 删除 编辑

经过一个冬季的专注开发,我们很高兴地宣布 PlanetScale 对向量搜索和存储的支持已正式发布(GA)。自公开测试版启动以来,我们将查询性能提升了一倍,内存效率提高了八倍,并专注于鲁棒性,以确保向量支持与 MySQL 支持的其他数据类型一样可靠。我们尤其为向量索引的可扩展性感到自豪,即使索引大小达到可用内存的 6 倍,其性能依然出色。

这是一个真正的关系型索引

我们将向量打造为 MySQL 的一等公民,这意味着写入和查询像普通 RDBMS 一样工作。将向量数据存储在现有键空间的列中。使用 ALTER 或 CREATE VECTOR INDEX 语句构建索引。像其他数据一样,编写带有 JOIN 和 WHERE 子句的 SELECT 语句。将写入操作包裹在事务中,并期望数据在事务提交后立即可见——或者在你要求时回滚。在添加和删除行时,索引将保持高性能,无需定期重建。

这是一个 PlanetScale 数据库

你依赖的所有 PlanetScale 功能同样适用于向量。创建一个分支。添加向量索引。打开部署请求并将索引合并到生产分支。如果改变主意,可以回滚。在其他副本上查询向量索引,甚至在其他区域。安心入睡,因为你的向量数据已包含在定时备份中。

这是一个优秀的向量索引

我们不仅正确处理了关系型和运维方面。我们还构建了高级向量索引功能,以满足各种嵌入(embeddings)和用例。索引可以按欧几里得(L2)、内积或余弦距离对向量进行排序。它可以存储高达 16,383 维的任何向量。它同时支持固定量化和乘积量化。固定量化低至每个字段一位时速度极快,或者根据你的需求,简直是疯狂。

索引应该比 RAM 更大

PlanetScale 向量支持最突出的特点之一是能够使用比 RAM 更大的索引。我们是第一个将基于 SPANN(空间分区近似最近邻)的索引集成到 RDBMS 中的。SPANN 是一种混合索引设计,结合了基于分区和基于树的索引的最佳方面。在 SPANN 中,向量被分配到小的分区中,这些分区存储在隐藏的 InnoDB 表中。每个分区中的一个向量(约占索引的 20%)存储在内存中的树结构中,使索引能够快速识别与查询相关的分区。在构建和查询索引时,只需要树和少量固定的相关分区在内存中,从而允许在向量数据高达可用内存 6 倍的情况下高效运行。在 PlanetScale Metal 上使用向量索引可确保从 InnoDB 加载向量分区以回答查询的速度尽可能快。

如何启用向量支持

要开始使用向量,请转到任意数据库的“Branches”页面。点击你想要添加向量的分支,然后点击该分支右侧“Connect”按钮下方的小齿轮图标以进入分支设置。点击“Enable vectors”旁边的开关。按照向量文档中的示例创建向量列、添加数据,并创建和查询索引。

更多资源

要了解更多关于向量嵌入的信息,请查看我们的 YouTube 视频:

你可以查看以下文档:

  • PlanetScale 向量概述

  • 向量数据库术语和概念

  • 向量搜索的常见用例

  • 在 ORM 中使用 PlanetScale 向量

  • 向量类型和索引参考

向量支持现已准备好在生产环境中使用。当你在数据库中使用向量进行构建时,我们欢迎反馈,以帮助我们持续提升性能和可用性。你可以提交支持工单来传达任何反馈或问题。我们的 Discord 中还有一个向量频道,你可以在那里提问、分享反馈或讨论用例。


转载声明:本文为转载整理,原文版权归原作者及原站点所有。

原文来源:PlanetScale Blog

原创地址:https://planetscale.com/blog/announcing-planetscale-vectors-ga

原文作者:PlanetScale Blog;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-11-21

  • 博文量
    1058
  • 访问量
    546449