编程

Andy Pavlo:回顾数据库的 2021

1430 2022-01-27 22:25:32

对数据库行业来说,这是疯狂的一年,新来者超越了守旧者,供应商为基准数字而 竞争,以及一轮又一轮、令人瞠目结舌的融资。我们也不得不跟一些数据库朋友告别,它们要么被收购,要么破产,要么撤资。

随着年底的临近,在我们即将进入 2022 年,这是一个需要反思和总结的时刻。以下是一些亮点,还有一些我对它们对数据库领域可能意味着什么的想法。

PostgreSQL 的优势

在开发者中,传统的想法已经改变。PostgreSQL 已经成为新应用程序的首选。它是可靠的,有许多特性,而且会越来越多。在 2010 年,PostgreSQL 开发团队转而采取更加积极的发行计划,每年推出一次新的主要发行版(H/T Tomas Vondra)。当然,PostgreSQL 也是开源的。

现在,PostgreSQL 的 兼容 性是很多系统的显著特性之一。这种兼容性是通过支持 PostgreSQL 的 SQL 方言(DuckDB)、有线协议(QuestDB、HyPer)或整个前端(Amazon Aurora、YugaByte、Yellowbrick)来实现。大公司纷纷加入。谷歌在 10 月宣布,他们 在 Cloud Spanner 中增加了 PostgreSQL 的兼容性。同年 10 月,亚马逊宣布了将 SQL Server 查询转换为 Aurora PostgreSQL 的 Babelfish 特性。

DB-Engine 排名 是衡量数据库流行的一项指标。这一排名并非十全十美,也有一定的主观性,但是,对于前十个系统来说,它是合理的近似值。根据这份排行榜,截至 2021 年 12 月,尽管 PostgreSQL 依然位居第四位(紧随 Oracle、MySQL 和 MSSQL),但是在过去一年中,PostgreSQL 已经缩小了与 MSSQL 的差距。

另一个需要考虑的趋势是 PostgreSQL 在网上社区被提及的频率。这给出了另一个信号,即人们在数据库中谈论的内容。我在 Reddit 的数据库版块 下载了 2021 条评论,并且计算了一下数据库名称出现的频率(当然是在 PostgreSQL 中)。我在 Database of Databases 网站上交叉参考了我所知道的每一个数据库的列表,并清理了一些缩写(例如,Postgres → PostgreSQL,Mongo → MongoDB,ES → Elasticsearch),然后在计算出被提及最多的 10 个 DBMS:

 

当然,这一排名并不是科学的,因为我没有对这些评论进行情感分析。但这一排名清楚地表明,在过去的一年中,人们提到 Postgres 的次数比其他系统要多。经常有开发者发帖询问他们的新应用应该使用哪种 DBMS,而社区的回复几乎都是 Postgres。

Andy 的观点:

首先,关系型数据库系统已经成为绿地应用(译注:即新建应用程序)的首选,这是一件好事。这表明了 Ted Codd(译注:关系数据库之父,1923 年 8 月 23 日 -2003 年 4 月 18 日)在 20 世纪 70 年代建立的关系模型的持久力。其次,PostgreSQL 是一个伟大的数据库系统。没错,它存在着已知的问题和阴暗的角落,每个 DBMS 都是如此。但是随着如此多的关注和精力集中在它身上,PostgreSQL 在这些年里只会变得越来越好。

基准之争

今年,不同的数据库供应商对基准测试结果并不感兴趣。供应商努力证明自己的系统要比他们的竞争对手更快,这一做法可以追溯到 20 世纪 80 年代末。这也是 TPC 设立的目的,目的在于提供一个无党派的论坛进行对比。然而,近十年来,TPC 的影响和受欢迎程度正在逐渐消退,我们现在正处于一场新的数据库基准之争中。

今年,有三次激烈的“巷战”围绕着基准结果展开。

Databricks vs Snowflake

Databricks 宣称其最新的 Photon SQL 引擎 在 100TB TPC-DS 中创造了新的世界纪录。Snowflake 回击称,其数据库 速度快了 2 倍,而且 Databricks 没有正确运行 Snowflake。Databricks 则反驳说,他们的 SQL 引擎的执行和性价比都优于 Snowflake。

Rockset vs Apache Druid vs ClickHouse

ClickHouse 针锋相对地说,与 Druid 和 Rockset 相比,它的成本效益还是不错的。不过,这还不算太快:Imply 已经在 Druid 的升级版中进行了测试,并且宣称已经成功。Rockset 也参与了这场竞争,称其在实时分析上表现优于另外两家公司的产品。

ClickHouse vs. TimescaleDB

闻到了水里的血腥气,虎式 Timescale 也加入了战斗。他们公布了自己的基准测试结果,并借此机会揭露了 ClickHouse 技术的不足之处。在 Hacker News 网站上,有关第三方基准的争论越来越激烈。

Andy 的观点:

在过去的基准地盘之争中,数据库社区的鲜血已洒得太多 [1] [2] [3]。我坦白说,我也 曾参与这场战争。但我在街上失去了太多的朋友。我曾经和一位女友分手,原因是草率的基准测试结果。当我老了以后,我可以说那是不值得。由于云端 DBMS 拥有大量可活动的部件和可调节的选项,因此,对比这些系统变得更加困难,往往很难确定性能差异的真正原因。实际的应用并不只是一个接一个地运行同样的查询。在获取、转换和清理数据时,用户体验与原始性能数据同样重要。而且,就像我在 这篇有关 Databricks 的基准测试结果的文章 中对记者所说的,只有年长的人才会关心官方的 TPC 数据。

大数据,大手笔

自 2020 年下半年以来,价值至少 1 亿美元的风险投资轮数一直在稳步增长。在 2020 年,共有 327 笔这样的大宗交易(仅占风险投资交易总额的一半不到)。而截至 2021 年 1 月,有 100 多轮风险投资,价值高达 1 亿美元或更多。

2021 年,大量投资资金投向了数据库公司。在运营数据库方面,CockroachDB 在这一年的融资排行榜上遥遥领先,先是以 1.6 亿美元的融资 开始,并于 当年 12 月以 2.78 亿美元的融资 结束。Yugabyte 在 筹集 1.88 亿美元的 C 轮融资 时得到了回报。PlanetScale 获得了 2000 万美元的 B 轮融资,用于其托管版本 Vitess。相对较老的 NoSQL 中坚力量 DataStax 也为他们的 Cassandra 业务进行了一轮风投,募集了 3760 万美元。

虽然这一金额很可观,但是分析型数据库市场更加火爆。TileDB 在 2021 年 9 月筹集了一笔 未披露的金额。Vectorized.io 为其兼容 Kafka 的流媒体平台 筹集了 1500 万美元。StarTree 结束隐身状态,宣布将为 Apache Pinot 商业化 筹资 2400 万美元。Matviews-on-steroids DBMS Materialize 宣布其 C 轮融资金额为 6000 万美元。Imply 为基于 Apache Druid 的数据库服务 筹资了 7000 万美元。2021 年 9 月,SingleStore 筹集了 8000 万美元,这让他们离上市又近了一步。年初,Starburst Data 为其 Trino 系统(以前的 PrestoSQL)筹集了 1 亿美元。另外一家秘密启动的 DBMS 初创公司 Firebolt 宣布,他们已经为其基于 ClickHouse 分叉的新的云数据仓库 筹资了 1.27 亿美元。一家名为 ClickHouse, Inc. 的新公司 筹集了惊人的 2.5 亿美元, 围绕该系统建立了一家新公司(并从 Yandex 取得了 ClickHouse 名称的使用权)。

但在今年规模最大的一轮融资中,Databricks 显然是赢家,他们在 2021 年 8 月 筹集了高达 16 亿美元 的资金,这让其他公司大为吃惊。

Andy 的观点:

我们正处于数据库的黄金时代。今天有这么多优秀的选择。投资者正在寻找能够成为下一家像 Snowflake 一样上市的数据库初创企业。这些筹款金额超过了以前的数据库初创公司。举例来说,Snowflake 直到其 D 轮才有超过 1 亿美元的融资,这是该公司创立 5 年之后的事情。Starburst 在成立不到三年里就完成了 1 亿美元的融资。目前,融资需要考虑的因素很多(例如,Starburst 团队在分拆之前在 TeraData 从事 Presto 的工作多年),但我感觉这些天来有更多的钱被扔了出去。

悼 念

遗憾的是,在过去的一年里,我们告别了一些数据库朋友。

ServiceNow 收购 Swarm64

该公司最初的产品是个 FPGA 加速器,它可以在 PostgreSQL 上进行分析。后来他们使用扩展转而成为 PostgreSQL 的纯软件加速器。但是,他们并没有获得吸引力,特别是和其他拥有大量资金的云数据仓库相比。在完成收购 ServiceNow 之后,仍然没有任何消息表明 Swarm64 产品是否会继续。

Splice Machine 破产

Splice 正在推动一种混合(HTAP)的 DBMS,它使用 HBase 来处理工作负载,而 Spark SQL 则用来进行分析。他们随后推动为运营 / 实时机器学习应用提供一个平台。然而,由于 OLTP 和 OLAP 的垄断,使得一体化混合系统无法在数据库市场中得到进一步的发展。

私募股权公司收购 Cloudera

自从上个十年的后半期,世界逐渐远离 MapReduce 和 Hadoop 技术以来,Cloudera 在云数据仓库市场就没有获得同样的吸引力。Impala 和 Kudu 的大部分原始工程团队已经离开了公司,尽管这些项目仍在开发并发布新版本。从 2018 年以来,它的股价已经低于发行价。它的新投资者能否让公司扭亏为盈还有待观察。

Andy 的观点:

看着另一家数据库项目或公司倒闭,总是让人难过,但是这正是数据库行业的残酷本性。开源可以让 DBMS 的寿命超过创建它的公司,但并非总是这样。因为它的复杂性,数据库需要专职的员工来修复 Bug 并添加新的特性。将一个已经停用的 DBMS 源码的所有权和控制权交给 Apache 基金会 或者 CNCF 这样的开源软件基金会,这并不能说明这个项目将会奇迹般复苏。比如,当 公司倒闭 之后,RethinkDB 就捐给了 Linux 基金会,但是根据 GitHub 的种种迹象,它们已经死在了水里(提交的数量很少,PR 也没有被合并)。这种情况的另一个例子包括 DeepDB:这家公司已经失败,并为其源码创立了 自己的非营利基金会,但是没有人在那里工作。我预期,在接下来的一年里,将会有更多的数据库公司破产,因为他们不可能与大型云计算供应商以及上述那些拥有大量资金的初创公司相抗衡。

坚持不懈的证明

对许多人来说,这场新冠肺炎大瘟疫是一段艰难的时期。新闻中报道了这么多骇人听闻的事情,如果有一则振奋人心的消息,那就太好了。大家都知道,甲骨文公司(Oracle)的联合创始人 Larry Ellison ,在过去几年里运气一直不好。早在 2015 年,Larry 因为是 全球第五富有的人,所以他觉得一切都很好。但时过境迁,Larry 在 2018 年的亿万富翁排名中跌至 第 10 位。

但这种情况在 2021 年 12 月发生了变化,Larry Ellison 的排名超过了谷歌联合创始人 Larry Page 和 Sergey Brin,重新跻身世界第五大富豪。2021 年 12 月,Larry Ellison 的单日收益达到了 160 亿美元,这是由于宣布企业盈利好于预期,甲骨文公司的股票在过去 20 年中单日涨幅第二高。新闻媒体将其归结为投资者对甲骨文向云计算转型的信心增加。

Andy 的观点:

Larry 和我是 老相识 了,这对数据库界和全人类而言,这无疑是一则感人的故事。身为全球第十富有的人,在他倒霉的时候也许会有些沮丧。但是我很开心看到他能够走出困境,重新回到他所属的名单上。

数据库是我生命中最重要的东西,
仅次于我的家庭

我们期待着迎来光明的新一年。数据库是一个充满弹性和创新的行业,我们很高兴能成为其中的一部分。

祝愿你和你的 宠物 有一个健康和快乐的 2022 年!

作者介绍:

Andy Pavlo,卡内基梅隆大学计算机科学系数据库专业副教授,自动数据库调优服务初创公司 OtterTune(@OtterTuneAI)共同创始人,在 CMU,他是数据库组和并行数据实验室的成员。Andy 还与 Joy Arulraj (佐治亚理工学院计算机科学副教授) 联合著有图书《Non-Volatile Memory Database Management Systems》(暂无中译本,2019 年出版)。这两位教授是研究非易失性内存数据库的知名学者。Andy Pavlo 的推特账号是 @andy_pavlo。