2021 年数据库报告:PostgreSQL 成开发者首选 | Benchmark 测试陷“混战”

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 2021 年数据库报告:PostgreSQL 成开发者首选 | Benchmark 测试陷“混战”

刚刚过去的 2021 年底,不少技术领域都对过去一年取得的成果和下一年发展趋势做了回顾。作为数据库领域备受关注的开源项目,OtterTune 也在年底出炉了一份 “2021 年数据库”回顾报告。

image.png

据该报告显示,随着开发者的习惯发生转变,PostgreSQL 已凭借高可靠性及功能丰富等优势成了广大开发者们的新应用首选。过去的一年里,数据库社区依旧热衷“Benchmark 性能测试争夺战”,也引发了关于一场数据库公司的投资募资大赛,一些老牌公司被收购或破产......总之,一系列令人瞠目结舌的变化,可谓非常“精彩”了。

下面是关于本次报告的主要部分,一起来看看吧!

PostgreSQL 主导地位“凸显”

过去的一年里,开发人员的传统观念发生了转变:PostgreSQL 已成为他们首选的新应用程序。

据悉,早在 2010 年,PostgreSQL 开发团队就转向了更积极的发布计划,每年发布一个新的主要版本(H/T Tomas Vondra)(当然,PostgreSQL 是开源的)。

兼容性是 PostgreSQL 相比现在许多系统的一个显著特点。这种兼容性是通过支持 PostgreSQL 的 SQL 方言(DuckDB)、wire 协议(QuestDB、HyPer)或整个前端(Amazon Aurora、YugaByte、Yellowbrick)实现的。该优势也吸引了不少大公司纷纷加入 —— 去年 10 月份,谷歌宣布在 Cloud Paner 中增加了PostgreSQL 兼容性;同样在 10 月,亚马逊宣布了将 SQL Server 查询转换为 Aurora PostgreSQL 的 Babelfish 功能。

衡量数据库受欢迎程度的一个指标,就是“DB-Engine rankings”数据库引擎排行榜。尽管该排名并不完美,分数也有点主观,但它仍然是前 10 名系统的合理近似值。

据 “DB-Engine rankings”数据库引擎榜单显示,截至 2021 年 12 月,PostgreSQL 排在最受开发者欢迎的数据库(Oracle、MySQL 和 MSSQL 之后)第四名,在过去的一年中 PostgreSQL 进一步减少了与 MSSQL 的差距。

另一个要考虑的趋势,就是 PostgreSQL 在线上社区中被提及的频次(这为人们在数据库中谈论的内容提供了另一个信号)。

据 PostgreSQL 创始人 Andy Pavlo 统计,(通过下载数据库中的 2021 个注释,并对 PostgreSQL 数据库名称的频率进行统计,交叉引用了从数据库数据库中了解到的每个数据库的列表,并对缩写进行整理,如Postgres → PostgreSQL,Mongo→ MongoDB,ES→ Elasticsearch),然后计算出最受关注的 10 个 DBMS:

image.png

尽管这个排名并不科学(因为没有对评论进行情绪分析),但它也清楚地表明,相较于其他数据库,PostgreSQL 被人们提及的频次要更多。经常有开发者发帖询问新应用程序该使用什么 DBMS ,社区成员对此的回答几乎都是 PostgreSQL。

对此趋势,Andy Pavlo 也发表了自己的观点:

首先,关系型数据库系统已经成为“初创网站”应用程序的首选,这是一件好事。这显示了 Ted Codd (关系型数据库之父)从 20 世纪 70 年代开始的关系型模型的持久力。其次,PostgreSQL 是一个很棒的数据库系统。尽管它也有已知的问题和黑暗的角落,就像每个 DBMS 一样。但是,有了如此多的关注和活力,PostgreSQL 会在未来几年变得更好。

Benchmark 性能测试“大混战”

报告显示,2021 年里不同的数据库供应商之间对“Benchmark”测试结果没有什么好感。

想要证明自己的系统比竞争对手快的供应商可以追溯到 20 世纪 80 年代末。这就是为什么 TPC 的成立是为了提供一个“无党派”论坛来主持。但随着 TPC 的影响和流行在过去十年中逐渐减弱,人们现在发现自己陷入了新一轮的数据库“Benchmark”大混战。

今年,围绕 Benchmark 测试方面,主要有三场愈演愈烈的“街头混战”。

Databricks vs.Snowflake

此前,Databricks 宣布,该公司的新 Photon SQL 引擎在 100TB TPC-DS 方面创造了新的世界纪录。Snowflake 立刻回击,称他们的数据库比这个快了 2 倍,且 Databricks 错误地运行了 Snowflake。Databricks 则反驳称,他们的 SQL 引擎提供了优于 Snowflake 的执行和性价比。

Rockset vs.Apache Druid vs.ClickHouse

ClickHouse 之前也发布消息称,与 Druid 和 Rockse 相比,他们的成本效率非常高。先别急:作为回应,Imply 对 Druid 的新版本进行了一系列测试,并宣告了胜利。随后,Rockset 也加入了进来,称其实时分析性能优于其他两款。

ClickHouse vs.TimescaleDB

与此同时,Timescale 嗅到“血腥”,也立即“参战”。他们给出了自己的 Benchmark 测试结果,并借此机会指出了 ClickHouse 技术的弱点。此后,关于第三方 Benchmark 测试的讨论成了 Hacker News 的热点话题。

对此现象,Andy Pavlo 评论称:在之前的 Benchmark 地盘争夺战中,数据库社区“流了太多的血”。作为一个曾经也参与过这个游戏的一员,自己因此上去了很多,所以现在可以肯定的说 —— 这不值得!由于云数据库管理系统有太多的活动部件和可调选项,因此通常很难确定性能差异的真正原因。真正的应用程序不仅仅是一个接一个地运行相同的查询,接收、转换和清理数据时的用户体验与原始性能数据一样重要。正如此前自己发表的相关评论 “只有老年人关心 TPC 的官方数据”。

Big data:大数据,大投资

据相关数据显示,自 2020 年下半年以来,价值至少 1 亿美元的风险投资轮数量一直在稳步增长。光 2020 年,这些大型交易就有 327 宗(仅不到风投交易总量的一半)。截至 2021 年 1 月,有超过 100 家风险投资投资轮价值超过了 1 亿美元。

2021 年里,许多投资资金被投向了数据库公司。在事务型数据库领域,CockroachDB 以 160 万美元领跑募资大赛,截止 2021 年 12 月该公司募资金额已高达 2.78 亿美元。与此同时,Yugabyte 也完成了 1.88 亿美元的 C 轮融资。作为 Vitess 的托管版本,PlanetScale 开启了 2000 万美元的 B 轮融资,而 DataStax 也在一轮风投中为其 Cassandra 业务募集到了 3760 万美元。

尽管上面这些数量已经足够让人大开眼界了,但分析型数据库市场比这更加火热。2021 年 9 月,TileDB 完成了一轮未透露具体金额的融资引发业界关注,而Vectorized.io 也为其兼容 Kafka 的流式平台募集到了 1500 万美元。StarTree 更是直接宣布完成了一轮 2400 万美元的商业化 Apache Pinot 项目融资。随后,matviews-on-steroids DBMS Materialize 宣布他们在 C 轮融资中募集到了 6000 万美元,Imply 公司也为其基于 Apache Druid 的数据库服务筹集到了 7000 万美元,还有 SingleStore 公司在 2021 年募集到了 8000 万美元,这让他们离 IPO 更近了一步。

2021 年年初,Starburst Data 公司为其 Trino 系统(前身为 PrestoSQL)筹集了 1 亿美元。另一家秘密成立的 DBMS 初创公司 —— Firebolt 则宣布他们为其基于 ClickHouse 分支的新型云数据筹集了 1.27 亿美元。新公司 ClickHouse.Inc.也筹集了惊人的 2.5 亿美元......

尽管如此,但以上募资都不及 Databricks ,其最大的资金来源是 2021 年 8 月筹集了 1.6 亿美元,这也让其他所有人惊掉了下巴。

对此,Andy 评论称:我们正处在数据库的黄金时代,有很多很好的选择。投资者们正在寻找能够成为“下一次雪花”般 IPO 的数据库初创公司,而这些筹款金额比以前的数据库初创公司要多(如 Snowflake 在推出 D 系列产品前,其售价还未超过 1 亿美元。Starburst 在成立不到三年的时间内完成了一轮价值 1 亿美元的融资......)现在有很多因素与资金有关,但如今有更多的资金投入。

In Memoriam:纪念 or “缅怀”

过去的一年里,也有一些令人遗憾的事情,比如去年我们也“告别”了一些数据库领域的朋友。

ServiceNow 收购 Swarm64

Swarm64 公司最初是一家 FPGA 加速器,用于在 PostgreSQL 上运行分析工作负载。随后,该公司转而成为使用扩展的 PostgreSQL 的纯软件加速器。但它们未能获得后续发展动力,尤其是与其他资金充足的云数据仓库相比。在被 ServiceNow 收购之后,Swarm64 仍未有任何关于 Swarm64 产品的后续消息。

Splice Machine 破产

Splice 正在推出一种混合(HTAP)DBMS,它结合了针对事务型任务的 HBase 和针对分析的 Spark SQL。然后,他们推动为操作/实时 ML 应用程序提供一个平台。但由于专用 OLTP 和 OLAP 系统的主导地位,一体式混合系统未能在数据库市场取得进展。

私募股权公司收购 Cloudera

过去的几年里,MapReduce 和 Hadoop 技术逐渐更不上潮流,Cloudera 在云数据仓库市场上也就没有了同样的吸引力。Impala 和 Kudu 的大多数原始工程团队已经离开了公司,尽管这些项目仍在开发中,但并发布新版本。自 2018 年以来,该股已跌至低于其 IPO 价格。该公司的新投资者能否扭转公司的颓势还有待观察。

“看到数据库项目或公司倒闭,总是令人难过的事情,但这就是数据库行业的本质”。Andy 表示,开源或有助于 DBMS 比创建它的公司更长寿,但并不总是如此。由于其复杂性,数据库需要全职工作人员来修复缺陷并添加新功能。移动源代码权限和即将失效的 DBMS 控制到开源软件基金会(如 Apache 基金会或 CNCF)并不意味着该项目将奇迹般地复苏。预计明年会有更多的数据库公司破产,这将会让很多公司无法与主要的云供应商和上述资金充足的初创公司竞争。

挑战与机遇

后疫情时代对许多人来说,都会是一个比较艰难的时期,但有挑战就会有机遇。

早在 2015 年,甲骨文联合创始人 Larry Ellison 还是全球第五首富。但世事难料,2018 年这位亿万富翁就从排行榜上跌至第 10 位。

好在事情发生了转机,在 2021 年 12 月,因为甲骨文的股票在过去的 20 年里迎来了第二次大涨,公司业绩比预期要好, Larry Ellison 一天就赚了 160 亿美元,这让他直接超越了谷歌 Larry Page 和 Sergey Brin,重回全球第五首富。

这个的故事,相信对于数据库社区及所有人来说,无疑都是振奋人心且感人的。对于同样将数据库视为自己生命里除家庭外最重要部分的 Andy 来说更是如此。

总之,数据库是一个具有非凡韧性和创新能力的行业,我们共同期待 2022 年定会是个光明的一年。

查看完整报告:https://ottertune.com/blog/20...

数据库postgresql

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
1月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
2月前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
9天前
|
关系型数据库 分布式数据库 数据库
PostgreSQL+Citus分布式数据库
PostgreSQL+Citus分布式数据库
40 15
|
2月前
|
SQL 关系型数据库 数据库
PostgreSQL数据库报错 ERROR: multiple default values specified for column "" of table "" 如何解决?
PostgreSQL数据库报错 ERROR: multiple default values specified for column "" of table "" 如何解决?
309 59
|
18天前
|
SQL 关系型数据库 数据库
PostgreSQL性能飙升的秘密:这几个调优技巧让你的数据库查询速度翻倍!
【10月更文挑战第25天】本文介绍了几种有效提升 PostgreSQL 数据库查询效率的方法,包括索引优化、查询优化、配置优化和硬件优化。通过合理设计索引、编写高效 SQL 查询、调整配置参数和选择合适硬件,可以显著提高数据库性能。
111 1
|
21天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
83 4
|
1月前
|
SQL 关系型数据库 数据库
使用 PostgreSQL 和 Python 实现数据库操作
【10月更文挑战第2天】使用 PostgreSQL 和 Python 实现数据库操作
|
2月前
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
386 2
|
2月前
|
关系型数据库 MySQL 数据库
6-2|测试连接数据库的命令
6-2|测试连接数据库的命令
|
2月前
|
缓存 关系型数据库 数据库
如何优化 PostgreSQL 数据库性能?
如何优化 PostgreSQL 数据库性能?
105 2