编辑/翻译:宇亭
校对:王学姣、李浩
❝本文是由数据库界知名专家 Andy Pavlo教授写的2022年数据库回顾文章,这个系列从去年开始,非常经典,也比较系统的整理了一下数据库界的大事件(当然,主要还是以国外的居多),StoneDB团队对本文进行了翻译,小编在一些链接部分加了注释,方便大家理解相关内容,更好地了解全球的数据库动态,当然,由于篇幅所限,我们这篇只翻译前三大节的主要内容,想了解更多,推荐您阅读原文:https://ottertune.com/blog/2022-databases-retrospective/❞
又一年过去了,我还活着。既然如此,那么我们现在来对过去一年数据库领域的变化进行回顾和反思是再好不过了。随着 DBMS 厂商之间的基准测试之争逐渐平息,这一年的数据库领域可以称得上“安静”二字了。(小编注:这里来自 Andy 在去年的回顾文章里讲的数据库评测大战,分别是 Databricks vs. Snowflake、Rockset vs. Apache Druid vs. ClickHouse、ClickHouse vs. TimescaleDB,感兴趣可以阅读原文)前年(2021 年)的回顾文章我写得很开心,所以我很高兴能与你们分享 2022 年里发生的大事件以及我对它们的看法。
一、大额数据库融资已经放缓Big Database Funding Has Slowed Big Time
正如我去年讨论的那样,2021 年是数据库融资的丰年。随着投资者继续寻找下一个 Snowflake,大量资金被投入到建立新的数据库初创企业中。2022 一开始我们便目睹了多家公司完成大规模融资,似乎 2022 会是 2021 的翻版。这场投资盛宴始于今年 2 月份,Timescale 获得 1.1 亿美元的 C 轮融资,Voltron Data 获得 1.1 亿美元的种子轮+A轮融资,Dbt Labs 获得 2.22 亿美元的 D 轮融资。Starburst 在 3 月份宣布了 2.5 亿美元的 D 轮融资,以扩大其 Trino 产品的规模。5 月份,Imply 给他们的 Druid 商业版募集到了 1 亿美元的 D 轮融资。DataStax 在 6 月份的 IPO 中获得了 1.15 亿美元的融资。最后,SingleStore 在 7 月份公布获得了 1.16 亿美元的 F 轮融资,然后在 10 月份又将该轮融资规模扩大了 3000 万美元。还有几家较小的公司在 2022 上半年完成的 A 轮融资也同样令人印象深刻:包括 Neon 为他们的 Serverless PostgreSQL 筹集到了 3000 万美元;ReadySet 为他们的查询缓存层(Query Caching Layer)筹集了 2900 万美元;Convex 为他们在 PostgreSQL 上构建的应用程序框架筹集了 2600 万美元;QuestDB 为他们的时序数据库筹集了 1500 万美元。我们的 OtterTune 虽然没有构建新的 DBMS 或相关基础设施,但在 4 月份也筹集到了自己的 1200 万美元 A 轮融资。
但到了 2022 年下半年,数据库行业再无大规模融资发生。尽管有一些早期初创企业筹集到了较小规模的融资,但那些经验更丰富的公司的融资规模没有一个达到九位数(美元)。RisingWave 在 10 月份为他们的流处理引擎筹集了 3600 万美元的 A 轮融资。Keebo 为他们的 Snowflake 查询加速器筹集了 1050 万美元的 A 轮融资。在 11月,我们看到了 MotherDuck 宣布获得了 4500 万美元的种子+A 轮融资,用于将 DuckDB 的云版本商业化,EdgeDB 也在 11 月宣布了 1500 万美元的 A 轮融资。最后,由 Morgan Hitchcock 两兄弟成立的 SurrealDB 获得了 600 万美元的种子轮融资。我可能漏掉了其他一些融资信息,但我本来也并没有打算在这里做一个详尽的列表。小编注:你不做,我来做,哈哈哈哈
除此之外,数据库领域唯一值得注意的其他金融事件就是 MariaDB 在 12 月灾难性的公开发行(通过 SPAC),其股票价格在第一个交易日就下跌了 40%。
与 2021 年相比,造成 2022 年的大规模融资轮数减少的原因有二。最明显的原因是整个科技行业已经降温,部分原因是对通货膨胀、利率和加密经济崩溃的担忧。另一个原因是,在资金枯竭之前,所有有能力进行大规模融资的公司已经完成了资金的募集。例如,Starburst 在 2021 年筹集了 1 亿美元的 C 轮融资后,于 2022 年筹集了 D 轮融资。在过去两年里进行了巨额融资的数据库公司需要尽快筹集更多资金,以保持增长的势头。也有其他人对这些公司获得的惊人金额发表了评论。
坏消息是,除非科技行业有所改善,大型机构投资者开始再次将资金投入市场,否则这些公司将陷入困境。市场无法维持如此多的数据库独立软件供应商 (ISV)。这些估值 10 亿美元的公司继续发展下去的结局只会是两个极端:IPO 或是破产。对于大多数公司来说,收购它们的成本太高了(除非风投机构愿意大幅削减成本)。此外,进行大型并购的主要科技公司(如亚马逊、谷歌、微软)已经有了自己的云数据库产品。因此,目前还不清楚谁将收购这些数据库初创企业。举个例子,亚马逊每年可以从 Redshift 身上每年赚数十亿美元,它没有任何必要花 20 亿美元(ClickHouse 2021 年的估值)收购 ClickHouse。这个问题并非 OLAP 数据库公司独有的,OLTP 数据库公司很快也将面临同样的问题。
我并不是唯一一个对数据库初创企业的命运做出如此可怕预测的人。Gartner 分析师预测,到 2025 年,50% 的独立 DBMS 供应商将倒闭。我的观点肯定不是完全客观的,但我认为能够生存下来的公司将是那些致力于改进/增强现有 DBMS 而不是取代它们的公司(例如 dbt、ReadySet、Keebo 和 OtterTune)。我无法评价 SPAC 的“快速上市”模式是好是坏,就像 MariaDB 所做的那样。这类金融工具超出了我的专业领域(即数据库)知识范畴。
二、区块链数据库仍然是一个愚蠢的想法Blockchain Databases Are Still a Stupid Idea
市场上已经出现了各种各样的狂热观点,宣称 Web3 将如何彻底改变人们构建新应用的方式。我曾有一个学生冲出了我的课堂,就因为我教的是关系型数据库而不是 Web3。(小编注:众所周知,Andy 在 CMU 教授数据库,没错,就是最经典的 CMU 15-445 系列课程,这课每年都在上,就在 2022 Fall 的第一节课上,当 Andy 介绍数据库的 Data Model 种类时,一位同学站起来问怎么 PPT 上没有写区块链,区块链是未来,比其他的 Data Model 都要好,应该加上,Andy 说区块链不是一个 Data Model,应该算 implementation,再说我这课是教数据库的,也不是教区块链/Web3 的,两人激辩一番,最后那位同学说区块链是最 diao 的,你不加上我很遗憾,你搁这儿纯纯浪费了大家的时间,然后当场冲出了教室,场面一度非常尴尬,这个操作也是令人二丈和尚摸不着头脑,Web3 的狂热粉丝在此给 Andy 留下了深刻印象)Web3 运动的核心原则是将状态存储在区块链数据库中。区块链本质上是去中心化的日志结构数据库(即账本),它使用默克尔树(也称哈希树)的一些变体和 BFT 共识协议来维护增量校验和,以确定安装到数据库中的下一个更新。这些增量校验和是区块链确保数据库日志记录不可变的方式:客户端使用这些校验和来验证以前的数据库更新没有被篡改。
区块链是对以前一系列想法的巧妙融合。但是,认为每个人都应该使用去中心化的账本来构建他们的 OLTP 应用的想法是错误的。(小编注:这里 Andy 贴了个链接,内容是维基百科创始人 Jimmy Wales 在 Twitter 上的声明:一个加密货币的大 V 说让维基百科通过区块链技术(用于存储)和加密货币(用于激励)运作,Jimmy 表示强烈反对,他认为数据已经存在数据库里了,有数据库就够了,区块链技术很好,但可不是这样用的,至于加密货币用于激励——如果平台支持人们存款,就无法吸引那些真正对主题感兴趣而做出贡献的专家和爱好者,取而代之的是人们相互竞争以获取金钱利益为目的来创建和编辑内容,这严重违反了维基百科的平台愿景。当然了,Jimmy 个人其实也一直认为加密货币就是泡沫经济,他多次公开表示不会支持在维基百科平台上使用区块链技术和加密货币)从数据库的角度来看,除了加密货币之外,区块链技术在任何实际用例上都不能提供比现有 DBMS 技术更好的功能。此外,任何声称区块链在数据库中提供了比现有 DBMS 更好的安全性和可审计性的说法都是错误的。
因此,如果加密货币是区块链数据库的最佳案例,那么实际上当在 2022 年加密市场面临崩溃时,这个最佳案例也没提供什么帮助,反倒是进一步阻碍了区块链数据的未来。在这里,我将忽略 FTX 的崩溃,因为它看起来是赤裸裸的欺诈,与数据库没有任何关系。但是我要指出的是,与所有其他加密交易所一样,FTX 并没有在区块链数据库上运行业务,而是使用的 PostgreSQL。其他与加密货币无关的区块链数据库用例,如交易和游戏平台,由于它们的不实用性或欺诈而逐渐失败。
在评估一项技术时要遵循的一个规则是,一旦 IBM 为它做了电视广告,它就不再是“新”技术了。这意味着,如果在 IBM 开始宣传某样东西时,还没有令人信服的用例,那么就永远不会有。例如,IBM 在 2002 年的一个商业广告中吹捧 Linux 是一个热门的新事物,但那时已经有数以千计的公司将 Linux 作为他们的主要服务器操作系统(包括 Google)。因此,当 IBM 在 2018 年推出区块链商业广告时,我知道这项技术不会超越加密货币,因为不存在去中心化区块链可以解决而中心化 DBMS 无法解决的问题。IBM 今年宣布关闭与航运巨头马士基(Maersk)合作的供应链 IT 基础设施检修项目(小编注:这里引用的新闻标题是 Blockchain Fails to Gain Traction in the Enterprise)也就不足为奇了(这也是他们在商业广告中大肆宣传的事情)。
与由受信任的机构控制、只允许受信任的客户端直接连接、精心编写的事务性 DBMS 相比,区块链的效率低得可怕。除了加密货币(见上文)或诱捕之类的非法活动外,几乎所有现实世界的交互都是以这种方式工作的。我们需要信任他人才能拥有一个正常运转的社会。例如,我授权托管 OtterTune 网站的公司收取我们的信用卡费用,而他们信任云提供商托管他们的软件。这些交易不需要区块链数据库。
从工作量证明(Proof-of-Work, PoW)切换到能耗更低的权益证明(Proof-of-Stake, PoS)共识机制确实提高了区块链数据库的性能(小编注:这里 Andy 举了以太坊的例子:Ethereum switches to proof-of-stake consensus after completing The Merge)。但这只会影响数据库的吞吐量,区块链事务延迟仍然以数十秒为单位测量。如果解决长延迟的方法是使用参与者更少的 PoS 区块链,那么应用程序还不如只使用 PostgreSQL,再对这些参与者进行身份验证就好了。
大家可以看看 Tim Bray 写的这篇很棒的文章(小编注:Tim Bray 是前AWS副总裁兼资深工程师,是XML的发明者,不过20年因为不满亚马逊疫情期间对待员工的方式愤然辞职,现在回老东家谷歌了,这篇博客主要是讲 AWS 高层对区块链的态度),他与AWS高层就区块链是否有可行的落地用例进行了内部讨论。请注意,他说 AWS 在2016年就得出结论,区块链数据库是一个有问题的解决方案,比 IBM 推出他们的商业广告早了两年!尽管 AWS 最终在 2018 年发布了它的 QLDB 服务,但它与区块链不是一回事。QLDB 是一个中心化的可验证账本,不使用 BFT 共识。客户对 QLDB 的采用并不是很理想,特别是与亚马逊非常成功的 Aurora 系列产品相比。
附注1:我最近参加了 SFO 会议的一个小组讨论(小编注:这里是指 Andy 在22年10月参加了硅谷著名 VC 机构 Race Capital 组织的年度峰会,值得一提的是,Race曾投资了 FTX种子轮),SBF 也从巴哈马飞来出席( 小编注:给不混币圈的同学科普一下,SBF是人名缩写,即 Sam Bankman-Fried,是 FTX 创始人兼首席执行官,2017 年开始涉足加密货币行业,仅用了4年时间累积了上百亿美元的加密资产,并跻身福布斯全球富豪榜,不过,就在22年12月,SBF 被美国多个联邦机构起诉通过 FTX 诈骗)。我当时留下来看了他的演讲。当 SBF 上台时,观众们欣喜若狂。不过我当时 Slack 上的聊天记录显示,我对 SBF 对主持人问题的 “yep” 回答印象并不深刻。
附注2: 在FTX崩溃的三周前,有人向 Dana Van Aken 和我指出,OtterTune 拥有的全职工程师数量与FTX在巴哈马的团队相同。这个人告诉我们,既然我们有相同数量的工程师,OtterTune 应该像 FTX 一样更敏捷或者积极,现在应该已经有 10 亿美元的 ARR 了。呕吼~
三、值得关注的新数据库系统New Database Systems
今年有几个主要的新数据库被公布。
Google AlloyDB
今年的重磅消息是谷歌云在5月宣布了新的数据库服务 AlloyDB(小编注:没错,就是那个主打 HTAP 的云数据库)。与构建在 Spanner 之上不同,AlloyDB是PostgreSQL的一个修改版本,它分离了计算层和存储层,并直接在存储中支持 WAL 记录处理。
Snowflake Unistore
在6月,Snowflake 宣布了他们新的 Unistore 引擎(小编注:没错,就是那个支持 HTAP 的引擎),它具有“hybrid tables”,以支持低延迟事务的DML操作。当查询更新表时,更改会同步到 Snowflake 的列式存储中。SingleStore(前MemSQL) 的一些人有点生气(小编注:这里说的是 SingleStore 的总裁Domenic Ravita,可见国外数据库圈还是蛮喜欢互怼的),嘲讽 Snowflake 在 HTAP 领域只是有一些专利,但没有任何实际成果。
MySQL Heatwave
在甲骨文意识到亚马逊从MySQL上赚的钱比他们多之后,他们最终决定在2020年为MySQL建立自己的云服务。但是他们并没有做一个RDS的克隆,而是用一个叫 Heatwave 的内存向量化 OLAP 引擎扩展了 MySQL。(小编注:这个和StoneDB正在做的事儿一样~)去年,Oracle 宣布他们的 MySQL 服务也支持了自动数据库优化(小编注:这里是指MySQL HeatWave加入了ML的功能,实现了 Autopilot),但与 OtterTune 提供的不同。今年,Oracle 终于意识到他们不是领先的云供应商,开始选择在 AWS 上提供 MySQL Heatwave 的支持了。
Velox
2020年,Meta 开始为 PrestoDB 构建新的执行引擎 Velox。两年后,他们宣布了这个项目,并发表了一篇关于它的 VLDB 论文(小编注:论文为《Velox: Meta's Unified Execution Engine》)。Velox 不是一个完整的 DBMS:它没有SQL解析器、catalog、优化器或网络支持。相反,它是一个具有内存池(memory pool)和存储连接器(storage connectors)的 C++ 可扩展执行引擎。我们可以使用 Velox 来构建一个完整的数据库管理系统。
InfluxDB IOx
就像 Meta 研发 Velox 一样,在过去两年里,Influx 团队一直在开发他们的新 IOx 引擎。最终,他们在去年10月宣布这个新引擎正式发布 GA 版本。InfluxDB 基于 DataFusion 和 Apache Arrow 从头构建了 IOx。值得庆幸的是,在我 2017 年警告过 Influx 的 CTO 使用 MMAP 是一个坏主意之后,他们在新系统中抛弃了 MMAP。
数据库是我生命中第二重要的东西,所以我很高兴看到去年的所有发展。
我对 AlloyDB 的看法是,它是一个简洁的系统,包含了大量令人印象深刻的工程设计,但我觉得它并不新奇。AlloyDB 的架构类似于 Amazon Aurora 和 Neon,其中 DBMS 存储有一个额外的计算层,可以独立于计算节点处理 WAL 记录。尽管谷歌云已经有了一个可靠的数据库组合(例如 Spanner 和 BigQuery ),但它觉得仍有必要构建 AlloyDB 来追赶亚马逊和微软。
值得关注的长期趋势是 Velox、DataFusion 和 Polars 等框架的激增。再加上 Substrait 这样的项目,这些查询执行组件的商业化意味着所有OLAP数据库在未来五年内将旗鼓相当。与其完全从头开始构建一个新的数据库,或者对现有系统进行硬分叉(例如 Firebolt 如何对 Clickhouse 进行分叉),我觉得还不如直接使用像 Velox 这样的可扩展框架。这意味着每个数据库都将具有与十年前 Snowflake 所特有的相同的向量化执行能力。由于在云中,存储层对每个人都是相同的(例如,Amazon 控制着 EBS/S3), 数据库产品之间的关键区别将是难以量化的东西,如UI/UX和查询优化。
StoneDB 开源地址:https://github.com/stoneatom/stonedbStoneDB
社区官网:https://stonedb.io