Andy Pavlo 发表于 2025 年 1 月 1 日,译评:冯若航 就像突然有人一记“脑瓜冲天炮”般直击(这里有视频佐证[1]),我又来了!为大家奉上我每年的数据库大乱斗总结。没错,以前我是在 OtterTune[2] 的博客上写这么多东西,然而公司已 Game Over(愿它安息)。现在我就跑回自己的教授个人博客来搞事。
过去这一年里发生了不少事,从 10 位数的收购案、厂商到处撒野乱改许可证、再到某位超级有钱的数据库界八旬老汉为了追求新女神、砸钱拉拢大学橄榄球明星等传奇故事,好不热闹。
我答应过我第一任老婆,今年要写得更专业点。而且听说有些大学把我每年的总结当作数据库课的必读材料。所以今年我得好好斟酌。但话说回来,想想我之前两年的文风,也就那样吧。反正咱先试试,看能不能稳住。
我们身处数据库的黄金时代。各种优秀的(关系型[6])数据库数不胜数,适用于各种应用场景。很多软件都开源了,而背后则是拿了风投的公司在运营。
可风投老爷们可不做慈善,他们要回本,还要装满自己的“钱袋子”。于是这些数据库公司纷纷推出云上托管服务。但云的存在让开放源码数据库的商业模式变得相当棘手:系统一旦火了,类似 Amazon 这种云大厂就会把你的软件打包成他们自家的云服务,赚得比你这家真正开发软件的公司还多。为避免这种事儿发生,很多数据库公司开始换更严格的许可证,目的是防止云厂商抄作业。MongoDB 在 2018 年[7]就已经带了个头,改用了 SSPL(Server Side Public License)[8]。
过去这一年,许可证的变动就像海上的风暴,翻滚得厉害。而其中最受关注的两大事件,非 Redis™ 和 Elasticsearch 莫属。
这次 Redis 改许可证引发了迅速的反弹[15]。同一周就冒出了两个基于 BSD-3 旧代码的分支[16]: Valkey[17] 和 Redict[18]。Valkey 出自 Amazon,但 Google 和 Oracle 的工程师随后也加入了进来。Valkey 项目仅用一周就被 Linux 基金会[19]纳入麾下,一大厂转而支持它。与此同时,Redis Ltd. 又在商标上玩花活儿,还把某些开源 Redis 拓展项目的控制权收走[20],弄得大家都觉得公司黑乎乎的。
老冯评论:《》,虽然 Redis LTD 此公司本身整的烂活也不怎么样,但更应该批判的是过时的 OSI 理念与贪婪白嫖开源的公有云厂商。Elasticsearch
老冯评论:《》其实原因也很简单,ES 要是再不改许可证,生态位就会被 Tantivy 换皮和 Grafana 彻底占领了。Andy 的看法:
看起来只是个许可证的变动,但背后是数据库圈的巨额利益纠纷,而且上面还只是两个系统的故事!我都还没提到 Greenplum,他们 默默关停[32] 自己维护了 9 年的开源仓库,转为闭源,但没人注意到,因为估计也没几个人现在还真用 Greenplum。另一家在开源转闭源上翻车的,还有 Altibase[33],那是在 2023 年干的事。
说实话,我不怎么喜欢 Redis。它跑得不够快,所谓事务[34]也比是个冒牌货,查询语法像个怪胎。我们在 CMU 做的实验发现 Dragonfly[35] 的性能数据更优秀(即使只用单核 CPU)。我在数据库课程里常拿 Redis 的查询语言来做负面典型教学(“该怎么写才不会这么难看”[36])。不过,我也理解 Redis Ltd. 被 Amazon“骑脸”的尴尬。但我觉得 Redis Ltd. 高估了“重写一个 Redis”这件事的难度——Redis 是个简单的系统,要做替代品没啥难度(不像实现完整功能的 Postgres 那样离谱),所以他们这个姿态会不会让社区觉得受不了?
Elasticsearch 的情况大同小异:公司宣布改许可证,外面就冒出一个开源分支,公司又只好灰溜溜改回开源,但当时的热闹劲儿也已经过去。
奇怪的是,Redis 和 Elasticsearch 改证引发的反弹似乎比其他改证的数据库大多了。像 MongoDB、Neo4j[37]、Kafka[38]、CockroachDB[39] 等等,它们改证时,社区好像没有马上都要分支“”。就算 CockroachDB 2024 年又改了一次[40]要大企业付钱,也没见大规模分叉。那为啥 Redis 跟 Elasticsearch 就炸了锅?装机量大肯定是一方面,可当初 MongoDB 和 Kafka 的用户基数也不小啊。我猜 Redis 的问题是:大家认为 Redis Ltd. 这种“拿别人东西来赚钱”的感觉很不爽,因为创始人早就离开了,而公司这一连串操作,让大家认为他们对社区的贡献并不匹配他们获得的收益。另外,从 Redis 代码库提交记录[41]看,互联网大厂(比如腾讯、阿里)也有不少贡献,所以现在公司突然一刀切,也难怪大家炸毛。这跟 2023 年 HashiCorp[42] 改 Terraform 许可证被疯狂吐槽一样,都是 “占了社群红利,却要反过来控盘”的嫌疑。
归根到底,云时代,开源数据库公司(ISV)能不能活得下去确实很难。云厂商有钱又有资源,只要他们想,把你的开源数据库拿去当个插件就行,比如 AWS 把 InfluxDB v2 协议[43]给移植到他们自己的 Timestream 上,分分钟抢用户。再者,他们还可以像 Bushwick Bill 前女友一样,对着你的眼睛就是一枪[44],像 AWS 现在直接推出兼容 Valkey 的服务,而且号称比兼容 Redis 的服务便宜 30%[45],这波釜底抽薪简直太狠。
老冯评论:在《》专栏中,我已多次聊过这件事了:公有云 PaaS 云软件白嫖开源软件(数据库)的行径是,必将招致反噬 —— 而这将成为这个时代的行业核心议题。比如:Databricks vs. Snowflake 的街头帮派混战还在继续
Databricks 和 Snowflake 之间的互怼依然火力全开。这俩大厂的恩怨情仇,绝对是一场“经典数据库之战”,已经从性能打到了生态、从台面斗到了台下。
2024 年 3 月,Databricks 先开了一枪,宣布花了 1000 万美元训练了一个自家开源大模型 DBRX[46],拥有 1320 亿参数。开发团队就是他们在 2023 年花 13 亿美元收购的 Mosaic[47] 团队。结果一个月后,Snowflake 也搞了个 Arctic 开源大模型[48],有 4800 亿参数,号称只花了 200 万美元就把它训练得能吊打 DBRX,尤其在“企业场景”诸如自动生成 SQL 方面更强。你能看出 Snowflake 故意把自己跟 DBRX 对比,一副“我就是要怼你 Databricks”的气势;他们甚至承认有其他模型(比如 Llama3)跑得比自己还猛,但就是硬要对比 DBRX。某位 AI 研究员说为什么Snowflake 天天盯着 DBRX 不放[49],而不跟别的大模型比?他大概不知道这俩数据库厂都流了多少血了。
这场数据库大战已经不只是比谁跑得快那么简单。它不像 90 年代 Oracle 和 Informix 的对轰,那会儿拼的就是 SQL 查询速度。确实,Informix 当年除了做基准测试还搞了官司[63]告 Oracle,说 Oracle 挖他们高管,结果最后自己撤诉了[64]。更惨的是 Informix CEO 后来还被爆出做财务造假,虚报营收指标来显得比 Oracle 牛,最后 被判刑[65]坐了两个月牢。
然而 Snowflake 和 Databricks 这一仗,已经扩展到数据库周边生态:从怎么把数据灌进数据库,到接下来如何正确地处理数据,再到大模型和 AI 路线。这年头,列式引擎跑分析已经算是大路货[66]了,Databricks 和一众 OLAP 厂商都在追着 Snowflake 的 2013 年设计思路走——当时就是基于 Snowflake 创始人之一的 博士论文[67]。如今更重要的是使用者真实的体验(难以量化和收费)、与其他工具的兼容,以及 AI / LLM 的点睛之笔。
不过这种竞争对用户来说是好事。狼多肉少,才能逼着技术进步、价格往下走。就像 Snowflake 现在把 Polaris 也捐给了 Apache[68],这不就是多一分开源、多一些平价选择嘛。可别整成过去 Oracle 和 SalesForce 那种“两个土豪 CEO 互相喷口水”,大把烧钱然后用户也没啥实际好处。
就像做在线业务时,首选数据库是PostgreSQL一样,如今做分析时的 “默认之王” 就是 DuckDB。以前大家可能还会说用 Pandas,但现在几乎一开口就是“DuckDB 走起”。这货特别轻便,所以很多人想把它塞进那些本身对 OLAP 支持不是特别好的数据库。今年,我们就看到四款把 DuckDB 集成到 Postgres 的扩展相继亮相。
老冯评论:我帮助 ParadeDB 打好了所有 Linux 上的二进制包,他们的创始人 Noel 曾经问我 PostgreSQL 分析引擎该如何做,我说:赶紧去缝 DuckDB 吧。他们是仅次于 duckdb_fdw 后第二个入阵的玩家。
老冯评论:国内开发者李红艳还有一个 DuckDB FDW 是另一个 Andy Pavlo 未提及的 DuckDB 缝合玩家。起了个大早,占领了一个相当独特的生态位。(同样在 Pigsty 中可用,可惜与 pg_duckdb 不能同时安装)Andy 的看法:
DuckDB 的便携和轻量,让它在 Postgres 社区倍受欢迎。虽说 ClickHouse[85] 从 2016 年就有了,但以前想部署 ClickHouse 并没 DuckDB 那么简单(参考他们官方回顾部署难度的文章[86])。而且通过把 DuckDB 嵌到 Postgres 里,还能同时接驳 Iceberg、S3 等等,不用额外装其他插件。这让很多组织轻松获得高性能分析能力,而不用上昂贵的数据仓库。
至于 Postgres 的扩展机制,那真是强大。“可扩展”一直是 80 年代 Postgres 设计目标[87]之一,人家就是要支持新存储引擎、新数据类型等等。2006 年以后又引入了各种“钩子”API。我们在 CMU 的研究[88] 里发现,Postgres 拥有数据库里最繁荣、最百花齐放的扩展生态。当然,也有副作用:扩展之间可能互相冲突,导致奇奇怪怪的错误[89]。
之前那些给 Postgres 加列式存储的方案(比如 Citus、Timescale),只是解决了“存储格式”这一部分问题。可如果引擎本身还坚持行式处理[90],那终究还是不够。DuckDB 把列式存储和向量化执行流程都带到了用户面前。
话说回来,本来我想做个 “turducken(火鸡、鸭子、鸡三合一)”的梗,再配合 Postgres 的象征“大象”,可想想我还得保住饭碗,免得学校 找我麻烦[91],还是算了。
老冯评论: PG 生态的 DuckDB 缝合大赛,算是一件干脆就是我放火点燃的赛事。年初的一篇《》 传遍整个 PG 社区,成功的将 OLAP DuckDB 缝合推动成为了一场如火如荼的竞争。关于 DuckDB 缝合大赛的评论,请看拙作:《》。 我认为 PG OLAP 扩展生态很快会出现类似 PGVECTOR 的爆款扩展,就在以上几个选手中诞生。(目前我比较看好 pg_duckdb 与 pg_analytics)不管怎么样,这些扩展目前 全部 都在我的 中收录。 小广告:我制作了所有主流 Linux 发行版下的 RPM/DEB ,开箱即用!即使你不用 Pigsty,也可以使用
2024 年里,还有不少数据库领域的“奇闻异事”可能你没留意。我在这儿给大家快速打个包:
Amazon Aurora DSQL目前公开信息不多,只知道它是个 “Spanner-like” 数据库,AWS 自己的Mark Brooker[92] 也只说了点架构八卦:用分布式日志服务(据说是基于已经下线的 QLDB),加上 Time Sync[93] 实现类似“时间戳排序”。感觉 AWS 也知道 “Aurora” 这牌子非常响,所以给这全新数据库也挂了 Aurora 的名号,其实跟原先的 Aurora Postgres 似乎没啥关系。
老冯评论:Amazon Aurora DSQL 号称自己 PostgreSQL 兼容,但是从他们文档中不支持的 PostgreSQL 特性列表来看,我认为他们应该使用更务实的说法 —— PostgreSQL 线缆协议(WireProtocol)兼容。 总的来说这也从另一个角度反映出 MySQL 确实过气了,因为很久以前 AWS 这种新品都是 MySQL 先上,这次连影子都没有了。Andy 的看法:
CedarDB Umbra[94] 绝对是目前最前沿的数据库系统之一,而且据说背后那位大神正是“世界上最牛的数据库研究员”[95]Thomas Neumann[96]。但人家 Thomas 似乎只想安安心心待在大学,把 Umbra 堆到 Clickbench[97] 榜首,不想给任何“烦人顾客”打工。所以他的一些博士生就把 Umbra fork 出来商业化,给它取名 CedarDB。
Google Bigtable 最有意思的是,这货在 2024 年支持了 SQL……想当年 NoSQL 运动的先锋,如今又加回 SQL 了,也是略有讽刺。
Microsoft Garnet这是 MS 出的键值库,号称是 FASTER[102] 的继任者,兼容 Redis,支持多线程并行、支持大于内存的数据集,还有真·事务。Redis 在 2024 年还真别当啥首选了。
MySQL v9距离 MySQL v8 GA 已经过了六年,终于出了 v9。结果大家发现当数据表超过 8000 张[103]就会崩……我对这个新版功能列表(官方链接[104])真的提不起劲。Oracle 自家把更多资源放到闭源的 MySQL Heatwave[105] 服务上。MySQL 的使用量依然很大,但讨论热情明显不如从前,大家基本都转投 PostgreSQL 的怀抱了。
老冯评论:关于 MySQL 的糊弄,躺平摆烂,缺陷与过气,我已经说过不少了,合订本请看这里。老实说,我已经懒得再写这些已经算是 “共识” 的东西了:
Prometheusv3 距离上个大版本已经七年。这期间出现了一大堆兼容 Prometheus 的替代品(参考这里[106]),所以也不一定非得用原版 Prometheus。
老冯评论:VictoriaMetrics 现在已经占领了高性能 Promethues 的生态位,成为高性能 APM 时序数据库的事实标准。收购案:
•Amazon QLDB连 Amazon 都搞不下去一个区块链数据库(好吧它其实也不算真正的去中心化区块链),那就说明这个方向真不行了。•OtterTune这个是我、Dana[120] 和 Bohan[121] 花了快十年精力搞的科研和创业项目。结果现在还得说再见。对某家在最后阶段“对我们不厚道”的公司,我只想说:你们永远被禁止从 CMU-DB 招人。你们清楚自己干了啥。
特别要给 Andres Freund[122] 点赞,他在 2024 年发现了 xz backdoor[123] 这个安全漏洞。这个后门是潜伏了两年[124]的蓄意攻击,目标是一个普遍的使用的压缩库(xz),主要想搞 SSH,但是却被 PostgreSQL 提交者发现了 —— 这提醒我们——数据库工程师真的是身怀绝技的顶级工程师。
Databricks 今年再一次把数据库圈的融资总额甩在身后,狂砸100 亿美元 J 轮[125],之前 2023 年的 5 亿美元 I 轮[126] 和 2021 年的 16 亿美元 H 轮[127]都已经够惊人了。这次不太一样的是,据说这轮钱是拿来给老员工变现的(“证券交易市场收员工的股”[128])。好几位 CMU-DB 校友都在 Databricks,包括我曾经的头号博士生[129],他们中的很多人正等着 Databricks 上市好套现,看下一步人生去哪儿。
明年很可能是很多数据库初创公司力量的试金石。没人想沦为下一个 MariaDB Corporation[130]……所以很多公司都想等 Databricks 上市时带动整个数据库板块的热度再 IPO。若明年利率线],可能又会释放一波资金,砸向那些两三年前就融过大钱但一直没上市的公司(如 CockroachDB、Starburst、Imply、DataStax、SingleStore、Firebolt 等)。其中一个例外是 dbtLabs,传闻他们现在依然挺爽的。
你可知道谁在今年迎来 80 大寿?正是我们传奇的 Larry Ellison!是的,这位拒绝认命、拒绝给自己设限的狠角色,又在这一年创下了一系列壮举。今年他富到自己都快挤进 世界富豪榜前三[133]。2024 年 3 月,Oracle 股价疯涨,他一天就赚了 150 亿美元[134]。拿到钱后,7 月他又花 60 亿[135]把派拉蒙影业买给他儿子(第三任老婆所生)。接着他又以 2.77 亿美元[136]在棕榈滩买了个度假村,只当小玩意儿收着。别忘了,这些都只是他 2024 年的花钱小插曲,背后都是靠数据库发家致富啊。
但线 月发生的一件事——Larry 资助了密歇根大学橄榄球队招揽一个超级牛的大学四分卫[137]。这名球员原先在路易斯安那州立大学,后来转学去了密歇根。那份校方的官方声明还特别感谢了“一位名叫 Larry 和他妻子 Jolin 的捐助人”。结果媒体挖出[138]这个 Larry 就是甲骨文老板 Larry Ellison!他豪捐了 1200 万美元给校友会,用于请到最牛的四分卫来密歇根打球。
之后大家都好奇的是这位 “Jolin” 到底是谁。有人翻出过去 Larry 在网球场观战时跟一个戴密歇根帽子的女士[139]合影的照片。两周后,某家大媒体凌晨 5:30 放出猛料(把我从梦里吵醒),证实[140]那位女士叫 Jolin (Keren) Zhu,而且她就是 Larry 的新任老婆。
我对 Larry 的最新成就真是打心底里佩服。他本身连大学都没毕业,跟密歇根大学本来一点关系都没有,却因为他现任太太十年前在密歇根读过书,就愿意掏上千万美金去帮忙挖来橄榄球明星,也就占他净资产的 0.0055%……我跟他说,这事对我来说也很意义非凡,因为我以前的头号博士生[141]现在是密歇根大学计算机系的教授,而且那儿的数据库小组[142]也很牛。
更让人激动的是,Larry 再一次在爱情里找到了感觉!现如今,约会软件五花八门,却也都难找到真爱。很多人线下活动也尴尬,甚至有人想在操场守株待兔结果被当做“怪蜀黍”。就算好不容易遇上对方,可能又因一些小毛病(比如不爱洗袜子,或者喜欢往麦片里加辣酱)而。所以当初人人都说 Larry 第四任婚姻(2010 年离[143])之后不会再结婚;然后他在2020 年跟第五任[144]也分了,大家更坚定他不会再进婚姻殿堂。可谁知道,他还是找到了真爱,这次是第六任——Keren Zhu!
原本我想开篇吹嘘一下,说这是我三年来第一次跨年没生病。结果我亲闺女把 COVID 传给了我,我只好抱着处方药躺平。好在之前 9 月打过加强针,医生又给开了 Paxlovid,应该不会有大碍。
OtterTune 的死让我很唏嘘,但也是一段珍贵经历。我很荣幸曾跟很多聪明人一起共事,也很感谢 Intel Capital[145] 和 Race Capital[146] 一直支持我们到最后。我接下来可能会再搞个新创业项目(提示:还是跟数据库有关)。
目前我又回到卡内基梅隆大学全职当教授了,和 Jignesh Patel[147] 有几个“大杀器”研究项目准备出炉。这个学期我还要开一门查询优化[148]的新课,希望能打造出高质量的“数据教程”。得想办法提升我的学术影响力,因为 2024 年 9 月那帮人还把我条目给删了[149],说我引用数不够……真有点郁闷。
最后提醒各位,我们还在支持 DJ Mooshoo[150] 兄弟,他现在在库克郡蹲着呢,希望 2025 年能把他捞出来。
PS:还想给 ByteBase 点个赞,他们写了篇《2024 年数据库工具回顾》[151]。往年他们都会先发邮件问我,能不能把我那篇年度回顾翻译成中文放在他们博客。今年他们等不及了,直接用了同样的标题和套路自己先写了一篇,不过也挺有意思哈哈。
新闻推荐
【2025-05-09】
【2025-05-09】
【2025-05-08】
【2025-05-06】
【2025-05-05】
【2025-05-05】
【2025-05-05】
【2025-05-05】
【2025-05-05】
【2025-05-04】
【2025-05-04】
【2025-05-01】