• 我的订阅
  • 科技

WebAssembly 正在吞噬数据库!

类别:科技 发布时间:2023-05-29 16:00:00 来源:CSDN

WebAssembly 的出现,给予了数据库领域新的动力,也随之带来了更多的可能与变革。

原文链接:https://dylibso.com/blog/wasm-udf/

作者 | Dominique Saulet Steve Manuel

译者 | 弯月 责编 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

长期以来,用户定义函数(User Defined Function,简称 UDF)一直是数据库系统中不可或缺的一个功能,用户可以通过 UDF 扩展数据库的内置功能。尽管传统UDF 是一个强大的工具,但大多数情况下开发人员都被迫使用不熟悉的编程语言——通常是数据库特有的语言。

然而,随着具有沙盒安全控制和广泛语言支持(WebAssembly)的可移植、低级二进制格式的出现,新一轮的 UDF 实现开始涌现。

举个例子,Singlestore 的代码引擎为用户提供了使用编译为 Wasm 的代码创建 UDF 和表值函数(Table-Valued Functions,简称 TVF)的能力,而 InfinyOn 和 RedPanda 为开发人员提供了使用 Wasm 从其平台内操作数据流的功能。我们自己开发的通用插件系统 Extism 则可以使用 Wasm UDF 来扩展 SQLite3。

下面,我们来更深入地了解一下推动这一趋势的因素,以及对未来的一些想法和考虑。

WebAssembly 正在吞噬数据库!

多语言

使用多种编程语言创建 UDF 的支持,扩大了对许多开发者社区的影响,从而导致数据库提供商的市场扩张。另一方面,数据库用户希望使用自己最喜欢的语言编写 UDF,并希望这些语言能为他们提供最好的生产力。

因此, 对于数据库创建者和消费者来说,更多的语言支持显然是双赢的——那为什么以前对 UDF 的语言支持如此有限呢?

大致原因可归咎于时间和资源,如果没有针对语言的通用运行时和可执行格式,数据库供应商就需要构建/集成和维护各种语言运行时,以提供 Wasm 的广泛语言支持。这是一项复杂且耗时的任务,因此从优先级排序上看自然要让位于其他任务,更常见的方法是选择一种广泛使用的通用编程语言(例如 Java)或创建一种领域特定的语言(DSL)。

对于前者(选择一种广泛使用的通用编程语言),数据库供应商将自己的 UDF 引擎与选择的语言联系了起来;而对于后者(创建一种领域特定的语言),数据库供应商的做法也大抵相同,但由于学习曲线更陡峭且这类语言缺乏可转移性,因此给产品采用带来了更多摩擦。

而如今,UDF 的春天来了。在撰写本文时,有十多种语言直接以 Wasm 为目标,随着未来更多语言的加入,数据库平台无需大费周折就可以获得这些附加功能。

安全

除了支持各种语言运行时,数据库提供商还需要确保适当的沙箱控制,以保护宿主系统(即数据库)免受任何意外或恶意的副作用影响。Wasm 就特别适合这项任务,因为 Wasm 的运行时在沙盒环境中执行代码,默认情况下对宿主系统资源的访问会受到限制。

有了这种天然的隔离,数据库提供商就无需花费太多时间编写自己的安全运行时。

性能和便携性

Wasm 代码占用的空间非常小,因此很方便计算数据,接近原生的执行速度使其非常适合复杂的数据工作负载。

数据集日益增大,这使得在数据库和应用程序之间来回传输这些数据集的处理会变得既麻烦又昂贵。除了此类工作流造成的额外延迟之外,每个连接到数据库的应用程序都会成为一个额外的故障点,再加上与数据驻留相关的一系列问题,如果 Wasm 能直接与数据一起运行就变得非常有吸引力:数据可以保存在本地,而应用程序可以直接在 Wasm 中运行,这样整个结构更加清晰,且可以简化复杂的监管环境。

此外,将计算带到数据中的能力消除了对微服务的需求——因为这些计算可以直接在数据库中运行。

就可移植性而言,为什么数据库需要针对不同的主机数据库一遍又一遍地实现 UDF?我们希望编写一次,就可以在所有数据库中运行。UDF 的一个常见优势是它可以跨 SQL 查询重用,我们又何必将这种重用性限制在一个数据库平台上呢?

结合 Wasm 之后,UDF 的重用范围理论上可以扩展到所有支持 Wasm 运行时以及主机功能标准化接口的数据库。在实践中,这需要整个数据库提供商生态系统进行某种程度的协作,或者社区努力将各种接口虚拟化为一个通用标准,但我们可以享受到相应的好处。

其他想法和注意事项

Wasm 可以放大 UDF 的优势,但我们需要考虑一些设计和实现方面的因素。

宿主接口和设施

数据库提供者必须支持一组导入和导出,这些导入和导出将作为数据库和 Wasm UDF 之间的交互基础。如上所述,如果这个接口可以标准化,则整个生态系统都会受益。WASI SQL 嵌入是此类提议的一个示例,旨在为 WASM 模块作为扩展嵌入 SQL 数据库的方式制定标准。

设计高质量的语言支持和库是成功的关键,因为 UDF 创建者需要这样的支持来达成他们的实现目标。例如,Python 开发人员希望利用 NumPy 分析工作负载。数据库提供商应考虑在主机层面提供此类支持,尤其是当出于性能原因需要原生扩展时。这样可以方便用户访问必要的库,而不必强制将它们直接编译到 Wasm UDF 中,后者会增加模块本身的大小。

如果可能,导入应该提供特定于语言的包装器,以提供惯用语言支持。Extism 等开源项目可以为创建此类实用程序的团队提供一个良好的开端。

事务隔离/完整性

大多数用于生产的数据库都会在事务中运行 UDF,这样就可以在发生异常时无缝回滚,而且无需在代码中实现故障处理。话虽如此,考虑事务应当如何适应 Wasm 风格的 UDF 及其规则很重要,这仍然是数据库实现者需要自行解决的问题。

可观察性和验证

数据库提供者和 UDF 创建者需要什么工具来观察和检查 UDF 的性能,并在意外发生时对其进行调试呢?多租户可观察性是这类生态系统中未能满足的需求,应该仔细考虑。

回到主机/访客接口标准化的主题,如果定制接口是必须的,可以考虑使用 Modsurfer 之类的工具,这些工具为数据库提供商和 UDF 创建者提供了一种以主动方式验证相互兼容性的方法。一些导入和导出、运行时复杂性、二进制大小和函数签名都是关键组件,应该成为验证方案的一部分。

UDF 以及其他方面

除了 UDF 之外,从数据库的其他方面来看,包括存储过程、表值函数以及用户定义聚合函数等,WebAssembly 的可扩展性已趋于成熟。我们应该让用户表达他们最深层次的数据驱动欲望!

▶ 马斯克回应多年前嘲笑比亚迪;360 周鸿祎训练数字人代替演讲;微软发布自己的 Linux | 极客头条

▶ 智能并非万能,ChatGPT 虽火,但别忽视 AIGC 的黑与白!

▶ 阿里研究员吴翰清离职,下一步或将开启 AI 短视频创业 返回搜狐,查看更多

责任编辑:

以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。

快照生成时间:2023-05-29 17:45:14

本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。

信息原文地址:

本文转自:泉州晚报国家语委丝路语言文化研究中心数据库矩阵项目启动本报讯 (记者许永华 通讯员王卓群)日前,记者从泉州师范学院获悉,国家语委丝路语言文化研究中心数据库矩阵项目在该校
2022-12-29 07:59:00
...构、受版权保护的新闻文章,都存在于最常用的网络爬虫数据库中。谷歌和Facebook都使用这个数据集来训练大型语言模型
2023-05-01 09:29:00
黄仁勋:英伟达的AI算力,已经“1折”出售
...一起。」黄仁勋讲道。Talking Points:大语言模型+企业专属数据库=针对特定问题的 AI 应用;以前是 Data going to Work
2023-06-28 15:14:00
一家2751亿元的数据巨头 要掀起企业“AI化”革命
...使用自然语言查询和分析数据。企业将大模型部署到云端数据库将越来越容易,直接使用成品大模型工具分析数据,也将变得更加简单。随着AI的进展,数据的价值还将越来越高,数据潜力将被进
2023-06-30 16:21:00
酷克数据推出AI开发工具箱HashML 加速企业级AI应用落地投产
...SQL两种语言支持,无论是数据科学社区的Python用户,还是数据库社区的SQL用户,都可以低门槛地上手使用。 图2
2023-09-12 11:31:00
破译动物语言,是否会成为AI发展合乎逻辑的下一步?
...的挑战:第一:在数据获取方面,为动物语言建立庞大的数据库。而收集大规模的动物语言数据是一个挑战性的任务。动物之间的交流通常发生在自然环境中,并且对于不同物种而言,收集和解释这
2023-05-15 14:25:00
数据库管理之汇编语言
编程语言的分类方式各有不同,在文章(软件、编程与数据库概论:比较和区分解释型与编译型编程语言)中我们介绍和比较了解释型与编译型编程语言,本篇继续介绍查询与汇编语言。在探索查询和汇
2022-12-27 13:41:00
垂直大模型竞争,能突破数据“卡点”吗?
...垂直行业想要获取高精度标注数据的成本较高,而在公开数据库中,行业专业数据也较少,因此对垂直大模型的建构提出了很高的要求。总体而言,想要做好垂直大模型,数据的重要性,远超过算力
2023-05-19 14:01:00
创新奇智大模型工业落地初显成效,探索工业智能机器人新方向
...大提升数据和信息资产积累的效率。平安资管拥有庞杂的数据库系统,包含数万张数据表及数十万计的字段,存在大量结构化、非结构化、半结构化数据。面对庞大的数据资产,各表单之间复杂的关
2024-09-03 10:00:00
更多关于科技的资讯:
DCF智能商城快速发展中 普通人应该这样玩
AI 早不是实验室里的 “黑科技”,已经走进咱们的日常生活,像 DCF 智能商城就是用 “AI + 购物” 让大家得实惠
2025-10-26 20:24:00
据IDC与《2025中国生成式AI搜索生态白皮书》联合数据显示,截至2025年第三季度,中国GEO服务市场规模已达220亿元
2025-10-25 21:09:00
周一围与博斯绅威共赴“轻装之约”,解锁网球生活新方式
金秋济南,共赴网球生活时光。10月25日下午,博斯绅威携品牌体验官、著名演员周一围先生,在济南银座商城举办了一场主题为“轻装上阵
2025-10-26 12:28:00
曹县汉服“遇上”拼多多:95后的创业翻盘记
鲁网10月24日讯曹县,素有“中国汉服产业重镇”之称,曾见证无数小微创业者在行业竞争中艰难求索。对许多创业者而言,汉服市场度过初期蓝海阶段后
2025-10-24 14:29:00
突破光谱检测瓶颈!中国计量大学本科生团队研制高分辨率光谱仪
通讯员:吴瑞鹏 何秋阳近日,第十九届“挑战杯”全国大学生课外学术科技作品竞赛正火热备赛中,全国高校参赛队伍蓄势待发。中国计量大学光学与电子科技学院本科生团队项目——“基于微反射镜阵列的高分辨率光谱仪”
2025-10-24 15:02:00
开普勒机器人登陆IROS 2025 以开放平台携手全球开发者共筑新生态
10月19日至25日,全球机器人领域两大顶级国际会议之一的2025年IEEE/RSJ智能机器人与系统国际会议(IROS 2025)在杭州隆重举行
2025-10-24 15:02:00
蓝月亮:用十二年为洁净艺术种下一棵“树”
10月23日,第十七届国际大学生暨青年艺术博览会(简称:大艺博)开幕。在武汉东部的中国光谷科技会展中心10000平方米的专业展馆内
2025-10-24 15:14:00
京东工业与南方电网供应链集团签署战略合作 以数智技术驱动供应链全面升级
10月20日,京东工业与南方电网供应链集团在广州正式签署战略合作协议,双方相关负责人出席签约仪式。此次合作标志着京东集团与南方电网在供应链领域的协作迈入全新阶段
2025-10-24 15:23:00
从OS到AI OS:荣耀MagicOS 10定义AI OS新时代
2025年10月23日,荣耀全球开发者大会暨AI终端生态大会在深圳坪山燕子湖国际会展中心隆重举行。本次大会系统阐释了MagicOS 10的品牌战略与发展路径
2025-10-24 15:32:00
最后窗口期!2025FHC上海环球食品展免费领票即将截止
2025FHC上海环球食品展已进入开幕倒计时!这场被誉为“全球食饮贸易超级接口”的盛会,已成为零售买家囤货、拓品的关键“战场”—20万㎡展出面积
2025-10-24 15:47:00
K90定价后引热议闪电降价,雷军:标准版12GB+512GB 版本首销月直降300元
2025年10月23日的红米K90发布会后,12GB+512GB版本原定价为3199元,但因用户反馈该版本与其他配置差价过大
2025-10-24 15:57:00
iPhone 17系列首批用户反应褪色? 苹果官方客服回应
近日,部分苹果 iPhone 17 Pro 及 iPhone 17 Pro Max 的首批用户在社交平台反映,其设备遭遇了机身褪色问题
2025-10-24 15:59:00
阿里夸克AI眼镜开启预售 体验者:轻若无物,稳如长在脸上“看一眼”就能支付
阿里巴巴首款自研AI眼镜——夸克AI眼镜24日0时在夸克智能设备天猫旗舰店开启预售。88VIP会员实际到手价为3699元
2025-10-24 16:35:00
河北新闻网讯(梁轩轩)“原以为开业办税很繁琐,没想到这么简单!”近日,石家庄市桥西区律吕五金产品商行法人柴浩在桥西区税务局办税大厅完成税务申报后
2025-10-24 16:59:00
近日,瑞众人寿河北分公司在保定举办了2025年嘉年华客服节系列活动之“养老规划线下体验日”活动,通过创新融合中医药文化
2025-10-24 17:06:00