MySQL 9.0“创新版”已支持向量,为何甲骨文却“偷偷摸摸”地宣布?


MySQL 9.0.0 Innovation(俗称“创新版”)已于近日发布。

下载地址:https://dev.mysql.com/downloads/mysql/

从 MySQL 8.1 开始,官方启用了新的版本模型:MySQL 创新版 (Innovation) 和长期支持版 (LTS)。

根据介绍,两者的质量都已达到可用于生产环境级别。区别在于:

  • 如果希望尝试最新的功能和改进,并喜欢与最新技术保持同步,那么 MySQL 创新版本可能最适合您。
    该版本非常适合在快节奏的开发环境中工作的开发人员和 DBA,其中有高水平的自动化测试和现代的持续集成技术,可以实现更快的升级周期。
  • 如果您的环境需要继续保持已经固定的行为,那么 LTS 版本就是您的不二之选。这些版本仅包含必要的修复,因此可以减少数据库软件行为变更带来的风险。

via https://my.oschina.net/actiontechoss/blog/10090445

对于 MySQL 9.0“创新版”,最值得关注的新特性莫过于支持向量数据类型,字段类型名称为 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)


MySQL 9.0 前几天发布后就引起了广泛讨论,尤其是 Oracle 官方博客提到新增 Vector 数据类型。

不过 MySQL 数据库专家叶金荣却吐槽称,“MySQL 9.0 手册和 release notes 里只字不提新增 Vector(向量)数据类型及相关函数的事”

他表示在这两份重要文档中,没任何一处提到新增 Vector 数据类型,在用户手册数据类型部分,也确实没看到关于 Vector 的介绍。

直到昨天,叶老师才发现 MySQL 9.0 用户手册和 release notes 加上了新增向量数据类型的相关说明:

via 《Oracle MySQL,怒其不争,自甘堕落》

对于甲骨文这波操作,叶老师表达了自己的看法:

在 MySQL 9.0 里新增向量数据类型是为了 Heatwave 服务,而不是为了 MySQL 社区用户服务

MySQL 9.0 “向量支持”的 commit 信息也进一步印证了叶老师的观点:

MySQL HeatWave 是 Oracle 提供的一种数据库服务,它通过集成内存查询加速器来显著提高 MySQL 查询的性能,并且允许用户在不增加复杂性、延迟、风险和成本的情况下,对事务性数据进行实时分析。用户无需将数据进行ETL(提取、转换、加载)操作复制到单独的分析数据库中。


参考链接

https://dev.mysql.com/downloads/mysql/

https://dev.mysql.com/doc/relnotes/mysql/9.0/en/news-9-0-0.html#mysqld-9-0-0-vectors

https://blogs.oracle.com/mysql/post/mysql-july-2024-ga-releases-now-available

https://github.com/mysql/mysql-server/commit/8cd51511de7db36971954326af6d10eb7ac5476c


相關推薦

2024-07-09

以追溯到 1996 年的 array,距今 28 年了。 这真的是一个创新版本吗? —— 冯若航,Pigsty 创始人 & 作者,PostgreSQL 中文社区开源技术委员 冯若航这两天也将针对这个事情发表雄文,把他的观点具体澄清,指路(公众号

2024-07-03

2024年7月1日,MySQL的创新版MySQL 9.0 GA。一些更新内容包括: “mysql_native_password”插件已经被删除,如果客户端软件不具备“CLIENT_PLUGIN_AUTH”能力将无法连接服务器。为了向后兼容,“mysql_native_password”在9.0版本的客户端上仍

2022-06-15

文件系统 增强开发者工具 增强对编译器和脚本语言的支持 内核相关的变动 改进虚拟化、容器功能 Oracle Linux 9 Developer Preview 附带 kernel-uek-5.15.0-0.23.1.el9uek Unbreakable Enterprise Kernel 7 (UEK) 和 kernel-5.14.0-1.7.1.el9 Re

2024-09-28

公开信,敦促 Oracle 放弃 JavaScript 商标。 公开信:呼吁甲骨文放弃商标 在一封新发布的公开信中,JavaScript 领域一些最具影响力的人物——包括Ryan Dahl(Node.js 的创建者)、Brendan Eich(JavaScript 的创建者)和Rich Harris(Svelte 的创

2024-07-23

360创始人周鸿祎连发三条视频,以日前发生的因Crowdstrike更新导致全球Windows大面积蓝屏死机事件为主题,谈论了国产安全软件的重要性以及这场史上最大IT事故所带来的启发。 “这次的事件也再次展露了微软在整个市场中的占

2024-09-27

我们将立即采取果断措施,以确保问题得到及时解决。 为何没有 deepin 24 版本? 最后,让我们回答最开始问题:为什么没有 deepin 24 版本?根据 上述 deepin 社区版的最新的发布策略,功能版本是以发布年份的后两位数字命

2024-04-25

 commit。 一些更新亮点包括: block:virtio-blk 现在支持多队列,其中单个磁盘的不同队列可以由不同的 I/O 线程处理 gdbstub:各种改进,例如在用户模式下捕获系统调用、支持 fork-follow 模式以及支持 siginfo:read memory:在

2023-07-13

,派生自 RHEL 的 Oracle Linux 也对该政策进行了官方表态。甲骨文在新闻稿《Keep Linux Open and Free—We Can’t Afford Not To》中表示,他们会继续开发 Oracle Linux,使其与上游 RHEL 保持兼容,并公开免费提供该发行版的二进制文件和源代码

2022-06-16

加和编辑标签过滤器、解析器和函数等。Loki 查询生成器支持上面列出的 Prometheus 查询生成器的所有功能,包括 Explain 模式,以及在 Code 模式和 Builder 模式之间切换的功能。 Explore-to-dashboard 工作流程 虽然 Grafana 一直支持从仪表

2023-04-20

重大改变。 未来 MySQL 将发布 2 个版本,长期支持版和创新版。长期支持版的目标为稳定性,仅修复 BUG 并发布安全补丁,该版本向后兼容,预计每两年发布一次,支持的生命周期为 5 年标准支持 +3 年的延伸支持。创新版将会

2024-05-14

甲骨文宣布将推出其 AI 编程工具 Oracle Code Assist: Oracle 计划推出人工智能 (AI) 代码伙伴 Oracle Code Assist,以帮助开发人员提高速度并加强代码一致性。 Oracle Code Assist 由在 Oracle 云基础设施远程软件服务(Oracle Cloud Infrastructure

2024-08-14

并不高。因此,如果一个数据库能够提供更多上层应用的支持能力,对客户来说会更有价值。   另一方面,在传统数据库实现向量,相当于在原有的场景插上一个新的翅膀,处理能力就会更强。云搜索团队在实践中已经

2023-11-06

无限期提供 EL 源代码。” OpenELA 是在今年 8 月份,由甲骨文、SUSE 和 CIQ (Rocky Linux 背后的商业实体) 联合组建的一个开源企业 Linux 发行版开发商的行业协会;旨在通过提供开放和免费的 Enterprise Linux 源代码,鼓励与 Red Hat Ente

2024-08-27

变身术”——一种能够让系统灵活变换、适应用户需求的创新技术。  deepin-modelhub架构图 通过 deepin-modelhub 模型管理框架,deepin 23赋予了用户加载个性化AI模型的能力。这项技术可以让用户加载属于自己的模型,技术路线