Andy教授解读数据库的2022:大规模数据库投资大幅放缓、区块链数据库仍然是一个愚蠢的想法
本文最初发布于 OTTERTUNE。
又一年过去了,我还活着。因此,现在是时候回顾下数据库领域去年发生的事情了。随着 DBMS 供应商之间的基准测试之争逐渐止息,数据库领域一片寂静。去年的回顾我写得很开心,所以我很高兴与你们分享 2022 年这个领域发生的一些引人注目的事情以及我的看法。
我去年讨论过,2021 年是数据库融资的丰收年。跟随投资者继续寻找下一个 Snowflake 的脚步,大量的资金投向了构建新 DBMS 的初创企业。年初看,2022 年将是前一年的重演,有许多大型融资轮公告发布。这场盛宴始于 2022 年 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 轮融资。今年 6 月,DataStax 在 IPO 路上获得了 1.15 亿美元的融资。最后,SingleStore 在 7 月份宣布完成了 1.16 亿美元 F 轮融资,然后在 10 月份又增加了 3000 万美元。在 2022 年上半年,还有其他几家规模较小的公司也进行了令人印象深刻的 A 轮融资,包括 Neon 为他们的无服务器 PostgreSQL 服务筹集了 3000 万美元的 A 轮融资,ReadySet 为他们的查询缓存层筹集了 2900 万美元的 A 轮融资,Convex 为他们基于 PostgreSQL 构建的应用程序框架筹集了 2600 万美元的 A 轮融资,QuestDB 为他们的时序 DBMS 筹集了 1500 万美元的 A 轮融资。虽然没有构建新的 DBMS 或相关的基础设施,但 OtterTune 在 4 月份也完成了自己 1200 万美元 A 轮融资。
但随后,2022 年下半年,大规模融资停止了。尽管还有一些针对早期初创企业的小规模融资,但对于经验更丰富的公司,融资规模没有达到 9 位数的了。10 月份,RisingWave 的流媒体处理引擎获得了 3600 万美元的 A 轮融资。Keebo 为 Snowflake 查询加速器筹集了 1050 万美元的 A 轮融资。11 月,MotherDuck 宣布为 DuckDB 云版本商业化筹集了 4500 万美元种子轮和 A 轮融资,EdgeDB 的 1500 万美元 A 轮融资也在 11 月完成。最后,SurrealDB 兄弟获得了 600 万美元的种子轮融资。有些我可能漏掉了,但我这里并不是要提供一个详尽的列表。
数据库领域唯一值得注意的金融事件是 MariaDB 2022 年 12 月灾难性的公开募股(通过 SPAC),其股价在首日交易中下跌了 40%。
与 2021 年相比,2022 年的大型融资轮减少有两个原因。最明显的原因是整个科技行业都在降温,还有部分原因是对通货膨胀、利率和加密经济崩溃的担忧。另一个原因是,在资金枯竭之前,所有有能力进行大规模融资的公司都已经完成了融资。例如,Starburst 在 2021 年筹集了 1 亿美元的 C 轮融资后,于 2022 年完成了 D 轮融资。在过去两年里进行了巨额融资的数据库公司很快将需要筹集更多资金,以保持增长列车的运行。还有人评论说,这些公司筹集的金额令人吃惊。
坏消息是,除非科技行业的境况有所改善,大型机构投资者又开始投钱,否则这些公司将陷入困境。市场无法维持这么多独立的数据库软件供应商(ISV)。对于这些估值高达数十亿美元的公司来说,前路只能是 IPO 或破产。对于大多数公司来说,收购它们的成本都太高(除非风投愿意大幅降价)。此外,进行大型并购的主要科技公司(如亚马逊、谷歌、微软)已经有了自己的云数据库产品。因此,目前还不清楚谁将收购这些数据库初创企业。对于亚马逊来说,以 2021 年 20 亿美元的估值收购 Clickhouse 是没有意义的,因为他们每年已经从 Redshift 上赚取了数十亿美元。这个问题不是 OLAP 数据库公司独有的;OLTP 数据库公司很快也将面临同样的问题。
我并不是唯一一个对数据库初创企业的命运做出如此可怕预测的人。Gartner 分析师预测,到 2025 年,50% 的独立 DBMS 供应商将倒闭。显然,我有偏见,但我认为,能够生存下来的公司将是那些围绕 DBMS 开展工作以改进 / 增强它们而不是取代它们的公司(例如 dbt、ReadySet、Keebo 和 OtterTune)。
对于像 MariaDB 那样通过 SPAC“快速上市”的方法是否是个好主意,我不做评论。这样的金融工具超出了我的专业领域(即数据库)。
已经有一些疯狂的言论,说 Web3 意味着人们构建新应用程序的方式的根本变化。我有一个学生为此愤然离开了我的课堂,因为我教的是关系型数据库而不是 Web3。Web3 运动的核心原则是将状态存储在区块链数据库中。本质上,区块链是去中心化的日志结构(log-structured)数据库(即分类帐),它使用 Merkle 树的一些变体和一种 BFT 共识协议来维护增量校验和,以确定要安装到数据库中的下一个更新。区块链就是靠这些增量校验和来确保数据库日志记录不可变:客户端使用这些校验和来验证以前的数据库更新没有被更改。
区块链是对先前想法的一个巧妙融合。但是,认为去中心化分类帐应该成为每个人构建 OLTP 应用程序的方式是错误的。从数据库的角度来看,除了加密货币之外,它们在任何实际用例中都无法提供比现有 DBMS 技术更好的东西。此外,任何声称区块链可以在数据库中提供比现有 DBMS 更好的安全性和可审计性的说法都是错误的。
因此,如果加密货币是区块链数据库的最佳用例,那也没什么帮助,因为加密市场 2022 年崩了,这只会进一步阻碍区块链数据库未来的发展。在本文的讨论中,我将忽略 FTX 的倒闭,因为那似乎直接就是欺诈,与数据库无关。然而,我要指出的是,与所有其他加密交易一样,FTX 并没有在区块链数据库上运行业务,而是使用了 PostgreSQL。但其他与加密货币无关的区块链数据库用例,如交易和游戏平台,由于不切实际或存在骗局而失败。
在评估一项技术时要遵循的一个规则是,一旦 IBM 为它做了电视广告,它就不再是“新”技术了。也就是说,如果在 IBM 开始宣传某个东西时,还没有令人信服的用例,那就永远不会有了。例如 2002 年,IBM 在一则广告中把 Linux 吹捧成一个热门的新事物,但彼时已经有数千家公司将它作为他们主要的服务器操作系统(包括谷歌)。所以,当 IBM 在 2018 年发布他们的区块链广告时,我就知道这项技术不会超出加密货币,因为没有一个去中心化区块链可以解决的问题是中心化 DBMS 不能解决的。2022 年,IBM 宣布停止与航运巨头 Maersk 合作的供应链 IT 基础设施检修项目(与他们在广告中大肆宣传的项目相同),也就不足为奇了。
编写良好的事务型 DBMS 由可信的权威机构控制,只允许可信的客户端直接连接,相比之下,区块链的效率非常低。除了加密货币(见上文)或诱骗等非法活动,几乎所有现实世界的互动都是这样进行的。我们要相信他人才能保证社会的正常运转。例如,我授权托管 OtterTune 网站的公司从我们的信用卡扣费,而他们信任托管他们软件的云提供商。对于这些交易,没人需要区块链数据库。
从工作证明(PoW)切换到能耗更低的权益证明(PoS)共识机制确实提高了区块链数据库的性能。但这只会影响数据库的吞吐量;区块链交易延迟仍然以数十秒为单位。如果解决长延迟的方法是使用参与者较少的 PoS 区块链,那么应用程序最好是只使用 PostgreSQL 并对参与者做身份验证。
Tim Bray 写过一篇很棒的文章,介绍了他与 AWS 高层就区块链是否有可行的用例所做的内部讨论。请注意,他说,AWS 在 2016 年就得出结论,区块链数据库是一个寻找问题的解决方案,比 IBM 推出他们的商业广告早了两年!虽然 AWS 最终在 2018 年发布了 QLDB 服务,但它和区块链不是一回事;它是一个中心化的可验证分类账,不使用 BFT 共识机制。客户对 QLDB 的采用情况并不是很理想,特别是与亚马逊的 Aurora 服务相比。
2022 年主要有以下几个关于新 DBMS 软件的公告:
Google AlloyDB
2022 年最大的重磅炸弹是谷歌云在 5 月份宣布其新的数据库服务。AlloyDB 不是以 Spanner 为基础构建,而是 PostgreSQL 的一个修改版本,它分离了计算层和存储层,并支持在存储中直接处理 WAL 记录。
Snowflake Unistore
6 月,Snowflake 宣布了支持“混合表”的新 Unistore 引擎,支持 DML 操作的低延迟事务。当查询更新表时,更改会传播到 Snowflake 的列式存储中。SingleStore 有人有点生气,他们在这个领域有一些专利,但没有获得任何回报。
MySQL Heatwave
在意识到亚马逊从 MySQL 上赚的钱比他们多之后,Oracle 公司最终决定在 2020 年构建自己的 MySQL 云服务。但是,他们不是做了一个 RDS 克隆,而是用一个名为 Heatwave 的内存向量化 OLAP 引擎扩展了 MySQL。2021 年,Oracle 宣布,他们的 MySQL 服务也支持自动数据库优化(但与 OtterTune 提供的不同)。2022 年,Oracle 终于意识到,他们不是领先的云供应商,并作出让步,在 AWS 上支持 MySQL Heatwave。
Velox
2020 年,Meta 开始为 PrestoDB 构建新的执行引擎 Velox。两年后,他们宣布了这个项目,并发表了一篇关于它的 VLDB 论文。Velox 不是一个完整的 DBMS:它没有 SQL 解析器、目录、优化器或网络支持。相反,它是一个有内存池和存储连接器的 C++ 可扩展执行引擎。人们可以使用 Velox 构建完备的 DBMS。
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 DBMS 在未来五年内将大致相当。与其完全从零开始构建一个全新的 DBMS,或者硬分叉现有的系统(例如,像 Firebolt 分叉 Clickhouse 那样),最好还是使用一个可扩展的框架,如 Velox。也就是说,每个 DBMS 都将拥有十年前 Snowflake 所独有的向量化执行能力。由于在云计算中,每个人的存储层都是相同的(例如,Amazon 管理的 EBS/S3), DBMS 产品之间的关键区别将是难以量化的东西,如 UI/UX 和查询优化。
令人悲伤的是,我们在 2022 年 7 月失去了 Martin Kersten。Martin 是 CWI 研究员,是多个有影响力的数据库项目的领导者,包括 20 世纪 90 年代第一个分布式内存 DBMS(PRISMA/DB)和 21 世纪第一个列式 OLAP DBMS(MonetDB)。2020 年,荷兰政府授予 Martin 皇家爵士头衔,以表彰他在数据库方面的工作。
MonetDB 的代码库是其他多个 OLAP 系统项目的跳板。在 2000 年代后期,Peter Boncz 和 Marcin Żukowski 将其分叉,创建了 MonetDB/X100,然后商业化为 Vectorwise(现在称为 Actian Vector)。后来,Marcin 和其他人一起创建了 Snowflake,使用了很多他在 MonetDB 原始代码上开发的技术。最近,Hannes Mühleisen 创建了一个嵌入式版本的 MonetDB,名为 MonetDBLite,然后他又在 DuckDB 中再次进行了重写。
Martin 对现代数据库系统的贡献不可低估。如果你使用任何现代的分析型 DBMS(如 Snowflake、Redshift、BigQuery、Clickhouse),那么你都已受益于 Martin 和他的学生在过去 30 年里所做的许多改进。
我承认,与像 Mike Stonebraker 这样的人相比,Martin 可能并不为数据库研究社区之外的人所熟知。我一直认为,Martin 是欧洲的 Stonebraker:他们都是高产的数据库研究员,他们俩都是又高又瘦,戴着眼镜,年龄也相仿。但 Martin 可不是像 Nintendo Smitch 那样的山寨货。
在研究之外,Martin 总是慷慨地投入时间,热心地与任何人讨论数据库架构。我最后一次见到他是在 2019 年的 VLDB 上,当时疫情还没有爆发。他和我争论了将近一个小时,说明为什么他觉得在 MonetDB 中使用 MMAP 是正确的选择;他说,因为 MonetDB 专注于只读 OLAP 工作负载,所以 MMAP 已经足够好了。对在 Youtube 上观看我的数据库课程的一名学生,Martin 还给他发了电子邮件,告诉他为什么 MonetDB 做出了我认为较差的设计选择,我为此感到惭愧。
建议你看下 Martin 在 2021 年为 CMU-DB 系列研讨会做的最后一次演讲。我向 Martin 保证过,我不会因为抱怨 MonetDB 使用了 MMAP 而破坏他的演讲。如果你看了前 60 秒,就会发现我雇了一个荷兰人给 Martin 录了一段假的皇家介绍。
我总是想以一个快乐的音符来结束我的年终回顾文章。数据库应该让人们对自己的生活感觉良好。它们使我们能够组织现代生活任何方面的数据,它们代表了科学和工程领域突破性进展的巅峰。有鉴于此,我的最后一个故事应该让大家都感觉良好。这是一个为正确的理由做正确的事的例子。
2022 年 5 月,《华盛顿邮报》报道,Oracle 公司创始人、帆船爱好者 Larry Ellison 参加了 2020 年 11 月与美国总统和其他保守派领导人就最近结束的选举举行的电话会议。会议重点讨论了为推翻总统选举的结果,总统的盟友和罢工者可以采用的不同策略。正如《华盛顿邮报》的文章所指出的那样,目前尚不清楚为什么政府会让 Larry 参加这次电话会议。有一种猜测是,Larry 有很强的技术背景,可能是需要他来评估使用意大利卫星操纵物理隔离(air-gapped)的投票机这项指控是否合理。
Larry 和我都厌倦了人们对他支持美国右翼事业的奇谈怪论。有些人甚至说,这个电话是 Larry 做过的最糟糕的事。这不是真的,我知道,在新闻和社交媒体上读到关于自己的这样的描述,Larry 会难过。这些记者说得好像 Larry 在做什么邪恶或不体面的事情,比如他有一次让怀孕的第三任妻子在婚礼前两小时签了一份婚前协议。我可以向你保证,Larry 只是想用他作为世界第七富豪的巨额财富来帮助他的国家。他参加这次电话会议是令人钦佩的,应该受到赞扬。自由公正的选举不是一件小事,就像赛艇比赛一样,有时只要你赢了,耍手腕就没问题。Larry 还用他的钱做了其他一些了不起的事情,但被忽视了,比如花费 3.7 亿美元进行抗衰老研究,这样他就可以长生不老,以及投资 10 亿美元帮助埃隆·马斯克拥有(?)Twitter。所以我支持 Larry 在这个例子中的行为。
就我个人而言,2022 年的变化很多:
OtterTune 在 4 月份进行了 A 轮融资。
我的 1 号博士生加入了密歇根大学,成为了一名新任数据库教授。
7 月,我被卡耐基梅隆大学授予终身教职(尽管我仍然受到该校针对终身教职的“道德败坏”条款的约束)。
9 月,我重新开始全职教学。
我对 OtterTune 明年的发展很是期待。我们计划在 2023 年上半年完全重写我们的数据库自动化服务。我已经发布了我们目前正在开发的新功能的预览。由于跨州运输水獭,我们的唱片公司也遇到了一些法律问题,不过已经解决,希望 2023 年可以发行新专辑。
附言:像往常一样,在假期期间,请不要忘记在数据库上运行 ANALYZE。或者,可以让 OtterTune 自动帮您完成。
原文链接:
https://ottertune.com/blog/2022-databases-retrospective
声明:本文为 InfoQ 翻译,未经许可禁止转载。
微信扫码关注该文公众号作者