
“淌若不细则该选什么攀枝花塑料管材设备,先用 PostgreSQL 准没错。”
PostgreSQL 源于 1986 年加州大学伯克利分校的 POSTGRES 名堂,历经近四十年的迭代,因其致的可靠、数据完好、强扩张以及对 SQL 尺度的度规而享誉业界,被誉为“寰宇上的开源关系型数据库”。
时间来到2026年,AI 编程智商越来越强,个经管过 PB 数据的 PostgreSQL 集群的数据库Michael Malis,产生了个斗胆的思法:
PostgreSQL 一经发展了几十年,历史拖累越来越重。为什么不借助大模子,把它再行运筹帷幄遍?
这件事情破裂易,只醒目数据库不成,于是他找了个有 AI 配景的一又友 Jason Seibel, 两东谈主作,准备大干场。
历程 3 个月的折腾、4 次大版块迭代、掉 10 万好意思元的 API 用度后,他们终于出了 pgrust :个用Rust 重写的 PostgreSQL。
pgrust 发布的收获单号称神迹:
兼容:基于 PostgreSQL 18.3,以至不错班师挂载现存的 Postgres 18.3 数据目次启动!
满分通关: 通过了 PostgreSQL 官追念测试套件(46,000+ 个测试),连难科罚的事务隔断测试也全过!
能狂飙:在 OLTP 事务型负载下比原版快 50;在 OLAP 分析型查询下,能班师飙升 300 倍!
这些数据看起来太蛮横了,是以旦发布,坐窝就在HackerNews上掀翻了猛烈商议。
AI 真实这样强了吗? 皆能写“着实”的数据库了吗?
很快,位数据库域的大神动手了。
Andreas Seltenreich 是 SQLsmith 的作家。
SQLsmith 是 PostgreSQL 社区相称的 SQL 腌臜测试器用攀枝花塑料管材设备。
它不像凡俗测试那样扩充固定 SQL,而是像个狂的机器东谈主:抵制就地生成多样复杂、诡异、东谈主类险些不会手写的 SQL,然后丢给数据库扩充。
指标唯有个:拷数据库,尽量把它搞崩溃。
就在 pyrust 发布后不久,Andreas 运转测试它,仅用条SQL,就把pyrust回了原形:
SELECT numrange_subdiff(1,1);
在 PostgreSQL 中平淡复返 0
然则pyrust 班师复返:Segmentation fault !程度造访了作恶内存,被操作系统强制休止。
这件事情有点儿调侃,因为 Rust 大的点之,即是内存安全。
效果个“以 Rust 内存安全为中枢点”的数据库,在处理 C 版块 PostgreSQL 不错平淡处理的 SQL 时,却发生了内存崩溃。
虽然,这不是Rust的问题,这是重写的问题。
0 1
四次“盖新址”
咱们来望望 pyrust 是何如创造出来的, Michael Malis 和 Jason Seibel 的 10 万好意思元是何如花掉的。
1.次尝试:拿着诠释书盖新址
法:把PostGreSQL按永别,让 AI 为每个子系统进行运筹帷幄、设备。
刚运转推崇相称惊东谈主,很快达到 96 的 追念测试率。
关系词,Rust版块综合出的数据模子与原版 PostgreSQL C 话语的模子不致,当进到复杂的 Query Planner(查询经营器,约 5 万行中枢逻辑) 时,这种隐矛盾爆发。
拿着个诠释书盖新址,外不雅皆样,但里面墙体管线和老宅不兼容,装不下老宅的中央供暖主机(Planner),墙重建资本过,撤消。
破耗:~1600$攀枝花塑料管材设备
二次尝试:全量机械翻译
法:用c2rust这个器用,把PostgreSQL C源码班师转为Rust。
效果相称荡漾,两天生成了530 万行 Rust,测试 通过,以至PostgreSQL 扩张也能兼容!
然则代码不可顾惜,转译出来的 530 万行代码中,通盘变量和函数参数基本皆是 *mut 或 *const 裸指针,隔热条PA66生产设备况兼须包裹在 unsafe 块中。
把 C 话语里的潜在风险,换了种式搬到了 Rust。
杰出于把老宅全体搬过来,试图原位把木头根根换成钢筋。效果动其中根流弊木头(裸指针),整座屋子就因为承重依赖全塌了。
破耗:资本可忽略
三次尝试:再行运筹帷幄
法:建设个全新的干净代码库,仅把 c2rust 转译出的代码和 C 源码算作 AI 的“参考底本”。
把 Postgres 拆成 ~1000 个 Rust Crate,让 AI 一一 Crate 再行用隧谈的 Safe Rust 从编写。
构建了AI 手段与动态使命流,让 AI 组团(数十/上百个 Agent 并发)去单干编写、审计和诞生各个 Crate。
然则不同的 AI Agent 在立重构不同 Crate 时,对同个 C 数据类型的翻译发散了!
杰出于看着老宅图纸,在傍边块砖块砖盖全新的钢筋混凝土新址。
用度:~50000 $
四次尝试:加入严格审计
法:采取了“缝点先”战略(把致命隐患褪色在萌芽状况),把前三次尝试产生的通盘代码、架构劝诫,以及本戒备的技巧债日记沿途喂给 AI。
与此同期,大幅升了自动化审计限定,门让 Agent 巡检“缝点类型是否发散”、“代码是否符 Rust idiomatic 法度”。
依然是让上百个施工队(Dynamic Workflows)同期盖全新的钢筋混凝土大楼,但此次傍边配备了度严苛且精密的施工监理(Audit Skill)。
用度:~50000 $
0 2
AI为什么不成?
这四次尝试,终实现了著作起原描绘的果,听起来相称蛮横,相称荡漾。
东谈主类花了30年才搞成的事情,AI 用10万好意思元,3个月就科罚了。
然则,“通过 的官追念测试”与“具备工业数据库的可靠”之间,隔着条难以跳跃的鸿沟。
Andreas 的测试偶合诠释了这点,除了阿谁Segmentation Fault以外,Andreas还发现了好几个其他问题,举例MERGE 语句里面虚假、 查询化器里面状况特地、二进制数据输入莫得完好考据等
这些问题诠释:把 PostgreSQL 翻译成 Rust,并不等于再行取得 PostgreSQL 30年的可靠。
数据库太复杂了,况兼运行在其复杂的硬件、内存和并发环境下,那 46,000 个测试,能保证主流旅途能跑通,但根底法穷尽复杂的死角。
夙昔30年的bug诞生、测试劝诫、社区响应、规模案例等珍爱的学问并莫得包括在其中。
可能有东谈主说,淌若追念测试相称完善,包含了各个犄角旮旯的东西,而pyrsut通过了这些通盘的测试,是不是就不错和postgresql忘形了?
我合计很难,面是数据库太多,很难穷尽;
另面有好多东西追念测试难以隐蔽,比如能、内存占用、长时间踏实、升兼容等。
写这篇著作的时候,我思起之前写过的篇著作:《》,里面商议的是 Linux 内核顾惜者靠近的问题。
两个故事其实很像,Linux 内核也好,PostgreSQL 也好,它们着实珍稀的东西,并不单是是代码。
几十年时间里,数 Bug 诞生、失败劝诫、线上事故、工程采取、学问千里淀...... 这些东西荫藏在代码背后。
AI 不错快速阅读代码,不错生成代码,以至不错完成令东谈主记挂的大规模重构。
然则,它还法生成几十年的工程劝诫。
文安县建仓机械厂相关词条:玻璃棉 塑料挤出机厂家 钢绞线 管道保温 PVC管道管件粘结胶
1.本网站以及本平台支持关于《新广告法》实施的“极限词“用语属“违词”的规定,并在网站的各个栏目、产品主图、详情页等描述中规避“违禁词”。
2.本店欢迎所有用户指出有“违禁词”“广告法”出现的地方,并积极配合修改。
3.凡用户访问本网页,均表示默认详情页的描述,不支持任何以极限化“违禁词”“广告法”为借口理由投诉违反《新广告法》,以此来变相勒索商家索要赔偿的违法恶意行为。

