MySQL 9.0 你搞的毛向量支持,这真的是一个创新版本吗?
上周 MySQL 发布了 9.0 Innovation 大版本,很快引起了广泛讨论,主要围绕新增的“向量支持能力”展开。
首先一点是:
在 MySQL 9.0 里新增向量数据类型是为了 Heatwave 服务,而不是为了 MySQL 社区用户服务。
—— 叶金荣,MySQL 数据库专家
估计这个原因(以及下边另一个吐槽点),所以 MySQL 官方在发布公告等地方对于向量支持部分的说明也操作得花里胡哨,藏着掖着。
社区吐槽的另一点是这个向量支持本身。
这个 vector 连 array 都不如,array 还有一堆函数,MySQL 里的这个向量就是 Blob 换个皮。
两个 Vector 连基本的距离运算都没有,抛开序列化函数不谈,就给了一个 VECTOR_DIM 函数告诉你这是多少维的向量。
如果是这种程度的向量函数,那么可以追溯到 1996 年的 array,距今 28 年了。
这真的是一个创新版本吗?
—— 冯若航,Pigsty 创始人 & 作者,PostgreSQL 中文社区开源技术委员
冯若航这两天也将针对这个事情发表雄文,把他的观点具体澄清,指路(公众号“非法加冯”):
MySQL 9.0 Innovation 新特性:
支持向量数据类型,字段类型名称为
VECTOR
,可以使 to_vector/string_to_vector/from_vector/vector_dim 等函数操作向量数据。MySQL 9.0 的 Release Notes 写道:
此版本中添加了对
VECTOR
列类型的支持。向量 (Vector) 是一种数据结构,由条目列表(4 字节浮点值)组成,可以表示为二进制字符串值或列表格式的字符串。
VECTOR
列声明有最大长度或条目数(在括号中);默认为 2048,最大为 16383。下面示例是使用
CREATE TABLE
创建包含VECTOR
列的InnoDB
表:mysql> CREATE TABLE v1 (c1 VECTOR(5000)); Query OK, 0 rows affected (0.03 sec)
操作向量的相关函数介绍:
VECTOR_DIM()
函数用于获取向量的长度STRING_TO_VECTOR()
(别名TO_VECTOR()
)函数采用向量的列表格式表示形式,并返回二进制字符串表示形式VECTOR_TO_STRING()
(别名FROM_VECTOR()
)函数执行和上面相反的操作mysql> SELECT STRING_TO_VECTOR('[2, 3, 5, 7]'); +------------------------------------------------------+ | TO_VECTOR('[2, 3, 5, 7]') | +------------------------------------------------------+ | 0x00000040000040400000A0400000E040 | +------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT VECTOR_TO_STRING(0x00000040000040400000A0400000E040); +------------------------------------------------------+ | VECTOR_TO_STRING(0x00000040000040400000A0400000E040) | +------------------------------------------------------+ | [2.00000e+00,3.00000e+00,5.00000e+00,7.00000e+00] | +------------------------------------------------------+ 1 row in set (0.00 sec)
更多信息和示例查阅:VECTOR Type、Vector Functions (WL #16081)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
科大讯飞加入openKylin,携手共建 AI 大模型应用生态
近日,科大讯飞股份有限公司(简称“科大讯飞”)签署了openKylin社区CLA(Contributor License Agreement贡献者许可协议),正式加入openKylin开源社区。 科大讯飞成立于1999年,是亚太地区知名的智能语音和人工智能上市企业,公司总部位于安徽合肥。自成立以来,一直从事智能语音、自然语言理解、计算机视觉等核心技术研究并保持了国际前沿技术水平;积极推动人工智能产品和行业应用落地,致力让机器“能听会说,能理解会思考”,用人工智能建设美好世界。 科大讯飞星火认知大模型,通过讯飞开放平台向开发者全面赋能,加入openKylin社区后,星火大模型已接入openKylin AI助手并上架应用商店,同时提供了免费token体验专属额度,方便社区用户体验和探索AI。 6月27日,科大讯飞发布其最新版本讯飞星火V4.0,正在与openKylin进行技术接入,敬请期待openKylin下一个版本的最新呈现。未来,科大讯飞将基于自身经验优势,与openKylin社区在AI技术布道、AI资源共享和社区品牌运营等方面展开深入探索合作,结合自身AI技术能力以及模型资源,与社区...
- 下一篇
Zed 未经用户同意下载 NodeJS 二进制文件和 npm 包,官方还不改
有开发者发现 Zed 在未经同意的情况下从互联网下载 NodeJS 二进制文件和 npm 包。 该开发者指出 Zed 自动从https://nodejs.org下载 NodeJS 二进制文件,并从https://supermaven.com下载专有二进制文件,而无需用户的同意或通知,并且没有选项可以关闭。 说来也有意思,这名开发者被消耗了 14 兆流量。说正经的,Zed这种行为不仅在安全上引起了担忧,而且下载的二进制文件可能因为与系统不兼容而无法运行。 其他许多开发者也意识到了 Zed 这个情况,并且补充:Zed 会下载未签名的可执行文件并在未经任何同意或许可的情况下运行它们。 而 Zed 官方团队目前没有计划改变这种做法,他们的表态是因为已经编写了大量代码来支持各种前端工具。Zed 目前支持语言和语言服务器的三种方式:内置语言支持、预打包的扩展以及需要显式激活的扩展。开发团队计划在未来为这些问题提供解决方案,但目前尚未完成相关工作。 也有开发者提出了一个建议,即设置一个默认启用的弹出窗口,请求用户权限来下载二进制文件,并提出了三个选项来控制下载行为。 围观:https://githu...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8