MySQL迎头赶上PostgreSQL,将引入JavaScript函数和存储过程

发表时间: 2024-01-02 12:03

数据库技术领域的一项重大进展中,甲骨文公司宣布MySQL数据库服务器将引入对JavaScript的支持,这一消息在技术界引起了广泛关注。这一新功能目前仅在MySQL企业版和MySQL Heatwave中提供,并处于预览阶段。这个举措标志着MySQL在支持使用JavaScript编写函数和存储过程的功能上赶上了PostgreSQL,后者通过其PLV8扩展自2012年起就已经支持JavaScript​​​​​​​。


MySQL将支持JavaScript编写函数和存储过程

MySQL引入JavaScript的决定对开发者社区来说是一个重要的里程碑。它使得开发人员能够在数据库内实现更高级的数据处理逻辑,减少数据库与应用程序之间的数据移动,从而降低延迟、网络开销和出口成本。这一功能将基于ECMAScript 2021标准,并支持包括整数、浮点数和CHAR/VARCHAR类型在内的各种数据类型。

技术上,MySQL-JavaScript集成使用了定制构建的虚拟机(VM),专为此用例设计,以实现最佳的端到端性能。这种定制基于GraalVM的提前编译(AOT),其中语言实现被编译成本地二进制表示形式,以便快速处理。GraalVM运行时包括JDK、语言实现(JavaScript, R, Python, Ruby, 和 Java),并且是一个具有沙盒功能和工具支持的托管虚拟机。不过,这项支持目前不在MySQL社区版中提供。

尽管MySQL是后来者,但它的这一步伐是数据库领域的一个重要发展。此前,PostgreSQL的PLV8扩展早已引入了对JavaScript的支持,使得PostgreSQL在这方面领先了很长时间。PLV8广泛应用于所有当前版本的PostgreSQL,包括像Amazon RDS这样的托管服务,并可用于存储程序和触发器。

为了展示这一新功能的实际应用,Oracle发布了几个MySQL HeatWave视频,展示了如何利用JavaScript存储程序运行Mustache库、验证Web表单输入或处理Web URL,进一步证明了新功能的实用性和潜在用途。

MySQL引入JavaScript支持的预览版,不仅是对MySQL自身技术发展的重要补充,也是它在数据库技术竞争中迎头赶上的一个标志。随着这一功能的推出和完善,我们可以期待数据库技术的进一步融合和发展,以及开发者社区对此的积极响应和创新应用。

更多了解,可阅读:
https://blogs.oracle.com/mysql/post/introducing-javascript-support-in-mysql