首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Google悄悄开源了Mangle语言,要革SQL的命?程序员炸锅了

Google悄悄开源了Mangle语言,要革SQL的命?程序员炸锅了

作者头像
前端达人
发布2025-10-09 12:56:45
发布2025-10-09 12:56:45
960
举报
文章被收录于专栏:前端达人前端达人

如果你曾经被软件依赖关系搞得焦头烂额,被安全扫描的复杂结果弄得头大,或者仅仅是维护一个稍微复杂的数据管道就让你想骂娘——

那你绝对不是一个人。

图谱乱成一团麻,数据散落各处。你需要遵守的规则分散在三个wiki、四个Slack讨论串,以及一个只有运维老Bob才记得的部落知识库里。

听起来熟悉吗?

这时候,Google悄悄开源了一门新语言:Mangle

注意,不是"芒果(Mango)",是"Mangle"——专门用来理清你那些混乱数据的语言。

说实话,这可不是又一个会在你GitHub收藏夹里吃灰的花架子工具。

它是真的有用。

为什么Mangle值得你关注(以及为什么它可能颠覆你的认知)

我们大多数人每天都在和SQL、JSON、API、日志、SBOM等数百种数据源打交道。

把这些东西拼接起来,感觉就像在用胶带修补漏水的船。

传统数据库在结构化查询方面表现不错,但在处理递归关系时简直糟透了,比如:

  • "我的项目是否间接使用了存在已知CVE的库?"
  • "有哪些服务间接依赖于这个即将弃用的API?"
  • "如果Alice管理Bob,Bob管理Carol,那么Carol实际上向Alice汇报吗?"

SQL可以暴力解决,Python可以硬编码实现。 但两者都会让你写出没人愿意维护的意大利面条代码。

这就是演绎数据库大放异彩的地方。你向它们提供事实规则,它们推断出其余部分。

把它想象成打了类固醇的逻辑推理。

Mangle采用了经典的Datalog思想,并用开发者真正需要的功能对其进行了增强:递归、聚合、外部函数调用,甚至可选的类型检查。

Mangle实战:一个让SQL开发者沉默的例子

假设你有一个项目的依赖关系,想检查是否容易受到恶意库的攻击。

来看看这个(简化的)Mangle代码片段:

代码语言:javascript
复制
# 事实:dependencies(项目, 库)
dependencies("app", "libA").
dependencies("libA", "libB").  
dependencies("libB", "libC").

# 事实:vulnerable(库)
vulnerable("libC").

# 规则:如果项目依赖(直接或间接)易受攻击的库,则项目易受攻击
vuln_project(P) :- dependencies(P, L), vulnerable(L).
vuln_project(P) :- dependencies(P, L), vuln_project(L).

运行这段代码,Mangle会告诉你: 没错,你的app完蛋了,因为它间接引入了libC

试试用SQL优雅地实现这个功能,不中途放弃算我输。

Mangle的三大杀手级应用场景

🛡️ 安全与合规:终结盲点扫描

你不只是想看到依赖关系;你想要推理它们。

Mangle让表达类似_"标记任何间接包含弃用依赖的项目"_这样的规则变得轻而易举。

这对漏洞管理来说简直是黄金工具。

📦 供应链分析:驯服SBOM怪兽

SBOM很酷,直到你被JSON文件淹没。Mangle让你统一这些混乱并进行逻辑查询。

🕸️ 知识图谱和组织规则:解开关系迷宫

谁管理谁? 谁依赖什么? 那个没人承认的不稳定服务到底归谁管?

Mangle将这些复杂的关系网络转变为可查询的东西。

冷静分析:Mangle的真实现状

Mangle完美吗?当然不是。

它是新的。它是实验性的。 它不是"Google官方支持的产品"。

翻译一下:现在还不要把公司的合规程序完全押在它身上。

但重点是: 它很轻量(一个Go库),可嵌入,而且足够简单,你可以在不投入大量时间的情况下试用。

与很多"研究型"语言不同,Mangle感觉像是由真正理解开发者痛点的人设计的。

争议焦点:这真的是未来吗?

支持者说: Mangle填补了SQL和NoSQL之间的关键空白,让复杂推理变得简单。

怀疑者说: 又一个Google实验品,学习成本高,生态系统薄弱。

现实主义者说: 工具很好,但需要时间证明自己不会成为下一个被Google砍掉的项目。

行动指南(别只是看看就忘了)

  1. 访问GitHub仓库 (google/mangle)。找个例子,运行一下。最多五分钟。
  2. 想想工作中最痛苦的数据关系。可能是依赖扩散,可能是组织架构。试着用Mangle建模。
  3. 与团队分享。这种工具需要更多视角才能变得更好。

我的判断

说实话,当我第一次读到_"演绎数据库编程"_时,我并没有抱太大期望。

听起来很学术,很枯燥,像是穿花呢外套的教授会滔滔不绝讲的东西。

但Mangle?它很锐利,很实用。

它解决了一个非常现实的痛点: 在不失去理智的情况下理解混乱、相互关联的数据。

这不是炒作——这是解脱。

最后的思考:SQL的终结者还是昙花一现?

Mangle会成为开发者和安全团队的下一个必备工具,还是只是Google的又一个闪亮实验?

时间会给出答案。但有一点是确定的: 在数据关系越来越复杂的今天,我们需要更好的工具。

而Mangle,至少在这个方向上迈出了有趣的一步。

你怎么看? 在评论区告诉我,这是下一个改变游戏规则的工具,还是又一个会被遗忘的Google项目?

如果你现在太忙? 先收藏这篇文章。相信我,你以后会需要的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端达人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么Mangle值得你关注(以及为什么它可能颠覆你的认知)
  • Mangle实战:一个让SQL开发者沉默的例子
  • Mangle的三大杀手级应用场景
    • 🛡️ 安全与合规:终结盲点扫描
    • 📦 供应链分析:驯服SBOM怪兽
    • 🕸️ 知识图谱和组织规则:解开关系迷宫
  • 冷静分析:Mangle的真实现状
    • 争议焦点:这真的是未来吗?
  • 行动指南(别只是看看就忘了)
  • 我的判断
  • 最后的思考:SQL的终结者还是昙花一现?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档