为什么PostgreSQL越来越火?

PostgreSQL是一个开源的关系型数据库,在过去30年里,它的社区活跃度、忠诚度不断飙升,PostgreSQL变得越来越受欢迎。根据DB-Engines1月发布的年度数据库报告,PostgreSQL已经连续两年获得“全球增长最快数据库”称号。

PostgreSQL的特别之处在哪里?现在我们又该如何使用它?在3月的Postgres大会上,我们采访了众多PostgreSQL用户、开发者以及SQL和NoSQL数据库管理员等人员,找到了这些问题的答案。

通过本文您可以了解PostgreSQL公有云、私有云与混合云的相关信息,还可以看到当下最流行的云提供商、迁移趋势、PostgreSQL的数据库组合对象,以及为什么PostgreSQL比其他关系型数据库更受大家欢迎。

私有云、公有云与混合云

PostgreSQL用户是如何选择云数据库来支持其应用程序和集群的呢?59.6%的受访者将PostgreSQL托管在内部私有云中,只有34.8%的受访者使用公有云。该结果与Uptime Institute机构 2017年的一项调查非常相似,该调查发现,65%的企业仍将数据存放在私有云数据中心运行。

然而,令人惊讶的是,只有5.6%的受访者采用了混合云策略。混合云是第三方公有云和内部私有云的混合,以支持跨这两个计算环境的工作负载需求。云服务厂商RightScale 最近的一份报告发现,有69%的企业采用了将公有云和私有云结合起来的混合云策略。

私有云、公有云与混合云

最流行的云提供商

有近40%的PostgreSQL用户使用共有云或混合云策略,我们深入研究了这些企业使用了哪些最流行的云提供商来托管其数据集群。结果在意料之中,AWS占了大多数,在公有云环境中它占据所有PostgreSQL使用情况的55%。

在PostgreSQL公有云用户中,Microsoft Azure和Google Cloud Platform各占17.5%。DigitalOcean、IBM Cloud、Rackspace和阿里巴巴占据了剩余的10%。

最受欢迎的云提供商:AWS,Azure,GCP

许多PostgreSQL用户也通过利用这些云提供商或由其提供的数据库即服务(DBaaS)解决方案进行管理。

PostgreSQL用户单云与多云使用

通过上文,我们已经了解了PostgreSQL策略和最常用的云提供商情况,现在让我们来看看单云用户与多云用户的使用情况。

托管在公有云中的PostgreSQL用户平均使用1.3个不同的云提供商来支持他们的应用程序。单一云的使用占据了主要地位,占比78.1%,只有21.9%的PostgreSQL用户利用了多云策略。

单云与多云使用 

PostgreSQL使用和迁移趋势

然后,我们询问了受访者对PostgreSQL的使用情况、他们是否准备使用PostgreSQL以及PostgreSQL能否满足他们的应用程序需求。

结果并不让人感到意外,在PostgresConf网站上,74.4%的受访者已经使用PostgreSQL,四分之一没有使用的受访者中,有11.5%的人正在将数据迁移到PostgreSQL,剩下的14.1%正在考察数据库,以便将来能够进行迁移。

使用Postgres与迁移到Postgres与探索Postgres

2019年最受欢迎的数据库

了解了PostgreSQL的使用和迁移趋势,我们再来了解在Postgres中流行的其他数据库备选方案。

PostgreSQL在受访者中的使用率为85.9%(包括已经使用的和正在迁移的),其次是Oracle(占43.59%)和SQL Server(占32.05%),MySQL位列第四名(占比28.21%。MongoDB和DB2并列第五(占比14.10%),Redis占11.54%,Greenplum和SQLite并列第七(占5.13%)。Cassandra、Cockroach、Cosmos DB、Elasticsearch、Teradata和TimescaleDB并列第八,各占1.28%。

最受欢迎的数据库

虽然上述结果偏向于PostgreSQL,但我们确实发现,该数据库在DeveloperWeek进行的2019年数据库趋势研究中排在前三位。在该研究中,我们访问了所有数据库类型的用户,发现MySQL和MongoDB使用率排在前两位,占比分别为38.9%和24.6%。

2019年最受欢迎的数据库

最流行的PostgreSQL数据库组合

了解了哪个数据库在PostgreSQL社区和整体数据库中最受欢迎,现在让我们来看看最流行的PostgreSQL数据库组合。

在这之前我们先了解以下:在PostgreSQL用户中,有62.69%的用户除了PostgreSQL之外还使用至少一个其他数据库,剩下37.31%的用户使用PostgreSQL作为其应用程序的唯一数据库。

除PostgreSQL外,超过四分之一(27.3%)的PostgreSQL用户使用Oracle,其次是SQL Server( 20.9%)、 MySQL( 17.3%)、 MongoDB (10.0%)、 DB2 (9.1%) 、Redis (7.3%) 和SQLite (3.6%)。Cassandra、Cockroach、Cosmos DB、Elasticsearch和Teradata共占4.5%。

2019最受欢迎的数据库与Postgres的组合

PostgreSQL数据库组合:SQL与NoSQL

与PostgreSQL组合使用的数据库种类繁多,其中,有80%的PostgreSQL用户与SQL数据库结合使用,只有20%的用户与NoSQL数据库结合使用。

数据库组合:SQL与NoSQL

PostgreSQL用户使用的数据库类型数

PostgreSQL社区中用于支持其应用程序的数据库的平均数量研究中,我们发现PostgreSQL用户平均使用2.56种不同的数据库系统,包括PostgreSQL本身。

这比我们在2019年数据库趋势报告中得出的数据低17%。报告显示,所有类型的数据库用户平均组合使用3个数据库。由此得出,PostgreSQL一定填补了其他数据库在某些方面的空白。

如下图所示,超过一半的PostgreSQL用户使用两个或更多数据库,使用2个数据库的用户占9.0%,使用3个数据库的用户占14.1%,使用4个数据库的用户占17.9%,使用5个数据库的用户占11.5%,更令人震惊的是,还有3.8%的用户使用6个数据库!用户使用PostgreSQL单个数据库的占比最大,使用率为43.6%。

PostgreSQL用户使用的数据库数量

使用PostgreSQL的原因

得到了以上的数据,我们终于可以提出这样一个问题:是什么原因让您选择使用PostgreSQL而不是其他数据库呢?

PostgreSQL被用于其他数据库的主要原因

25.5%的受访者认为,成本是PostgreSQL优于其他数据库的首要原因。而由于商业供应商的许可成本的影响,其用户正在转向更自由的开源系统,因此这几乎直接导致了开源成为PostgreSQL优于其他数据库的第二大原因(21.8%)。DB-Engines进行的开源数据库与商业数据库流行研究显示,开源供应商从2013年开始就一直在抢占商业供应商的市场份额。虽然目前商业数据库仍然处于领先地位,但在未来12到18个月内开源将成为主流。

在成本和开源之后,社区以13.6%的占比排名第三。PostgreSQL有最活跃功能最强大的社区,从访谈对话中可以清楚地了解到,社区对用户的影响力更大。PostgreSQL几乎完全由社区驱动,并得到了全球开发人员的免费支持,他们在社区与其他用户分享专业知识。

性能排名第四,占比10.9%。其次是第三方工具(9.1%),它们经常被用来确保和维护PostgreSQL的高性能。同样的,开源社区为PostgreSQL提供了便利,因为有数百个第三方开源(和一些商业)工具可被用户利用。

由于其简单灵活的设计,易用性在PostgreSQL受访者的回答中排在第六位,占比7.3%。最后是高级功能,排名第七位(6.4%)。

在八家使用PostgreSQL的公司就职的受访者中,有5.5%的人曾经使用传统数据库,在了解了上述信息后,他们很快就爱上了PostgreSQL。

Image placeholder
raxlai
未设置
  53人点赞

没有讨论,发表一下自己的看法吧

推荐文章
为什么你应当选择 PostgreSQL 而不是 Oracle?

本文转自| PostgreSQL中文社区 作者简介 Jan Karremans,EnterpriseDB的高级销售工程师。 译者简介 KevinZhan,深圳联友科技SA,目前负责公司部分核心系统应用

十年软件通胀率:从 2009 到 2019 年,软件越来越昂贵

过去十年,软件定价逐渐上升。在我们调查的一百个商业应用程序中,价格平均上涨了62%,其中包括一些比较便宜的应用程序。如果用户现在花钱购买一款应用程序,那么它很可能比十多年前的价格贵98%以上。

从技术到生态构建,云计算棋局越来越大,如何成功落地

经过十多年的发展,云计算已经从概念阶段逐步走向了实践。一批互联网巨头企业迅速抢滩布局产业基础研究与核心技术领域,以BAT为代表,在云计算领域布局迅猛,外资云如AWS、甲骨文、微软、IBM,也都通过合作

PostgreSQL DBA(31) – Backup&Recovery#4(搭建流复制)

PostgreSQL通过流复制StreamingReplication可轻松实现高可用HA环境的搭建.本节简单介绍了搭建流复制环境的基本步骤.Step1主库:创建用户 创建复制用户replicator

GoWeb教程_05.4. 使用 PostgreSQL 数据库

PostgreSQL是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如MySQL和Firebird),和对专有系统比如

中兴陈河堆:PostgreSQL在5G网管中的应用

2019年是中国5G试商用元年,各大电信运营商正在进行紧张的5G实验局测试。5G网络基于SDN/NFV虚拟化技术进行构建,组网架构非常复杂,由无线接入网、承载网、核心网等部分组成,包含了大量的网元设备

从Oracle到PostgreSQL,某保险公司迁移实践

摘要:去O一直是金融保险行业永恒的话题,但去O的难度之大也只有真正经历过的人才知其中的艰辛。此次笔者结合实际去O工作,对去O过程中碰到的DBLINK、SEQUENCE最大值、空串、SQL语句中的别名等

最稳定可靠,PostgreSQL 12.1版本正式发布!

1.PG12.1Beta发布了!PostgreSQL全球开发组宣布,PostgreSQL12的第一个测试版(PG12.1Beta)现已开放下载。该版本中可预览的所有特性都将延续至PG12的最终版本中,

2019全球PostgreSQL生态报告出炉,PG为何从RDBMS中脱颖而出?

墨墨导读:本文是近期ScaleGrid发布的2019PG趋势报告,从不同的角度解读了PostgreSQL如何在众多优秀的RDBMS中脱颖而出,原文:https://scalegrid.io/blog/

PostgreSQL 12 正式发布:全面的性能提升

PostgreSQL12已经发布,该版本在各方面都得到了加强,包括显著地提升查询性能,特别是对大数据集,总的空间利用率方面。这个版本为应用程序开发人员提供了更多的功能,比如对SQL/JSON路径表达式

从 Oracle 到 PostgreSQL ,某保险公司迁移实践

作者 |章晨曦编辑 | 老鱼摘要:去O一直是金融保险行业永恒的话题,但去O的难度之大也只有真正经历过的人才知其中的艰辛。此次笔者结合实际去O工作,对去O过程中碰到的DBLINK、SEQUENCE最大值

为什么SQL正在击败NoSQL,这对未来的数据意味着什么

导读:经过多年的沉寂之后,今天的SQL正在复出。缘由如何?这对数据社区有什么影响?看看本文的分析。以下为译文。自从可以利用计算机做事以来,我们一直在收集的数据以指数级的速度在增长,因此对于数据存储、处

日均5亿查询量的京东订单中心,为什么舍MySQL用ES?

京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况。我们把订单数据存储在MySQL中,但显然只通过DB来支撑大量的查

GORM 中文文档_4.5. 原生 SQL 和 SQL 生成器

运行原生SQL 执行原生SQL时不能通过链式调用其他方法 db.Exec("DROPTABLEusers;") db.Exec("UPDATEordersSETshipped_at=?WHEREidI

【Golang+MySQL】记一次 MySQL 数据库迁移(一)

【Golang+mysql】记一次mysql数据库迁移(一)文章地址:https://github.com/stayfoo/stayfoo-hub一、准备目标: 腾讯云CVM自建mysql数据迁移到腾

MySQL 性能优化:8 种常见 SQL 错误用法!

1、LIMIT语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般DBA想到的办法是在type,name,create_time字段上加组合索引。这样条件排序都

Oracle/云MySQL/MsSQL“大迁移”真相及最优方案

最近一段时间碰到一些数据迁移的项目,如:Oracle迁移到MySQL,MsSQL迁移到MySQL,云MySQL迁移到本地MySQL。对于这方面做了系统的整理。包括:迁移方案的选择、如何跳出迁移遇到的坑

一条SQL语句在MySQL中如何执行的

前两天发了一条SQL慢的原因有哪些,在那篇文章我没有说到优化器之类的,我觉得如果配合一条SQL是如何执行的,会更好,所以特地找了一篇。来源:JavaGuide  |作者:木木匠本篇文章会分析一个sql

SQL 已死,但 SQL 将永存!

在SQL被引入的47年中,它经历了许多数据库的诞生和消亡,也经历了许多数据处理方式的诞生和消亡。以下为译文:四十七年前,两位年轻的IBM研究人员在数据库上提出了一种新的语言,这是一种关系型语言,它奉行

SQL Server 2014的数据库引擎新增功能(参考sqlserver官方文档)

SQLServer2014数据库引擎引入了一些新功能和增强功能,这些功能可以提高设计、开发和维护数据存储系统的架构师、开发人员和管理员的能力和工作效率。  以下是 数据库引擎已增强的方面。数据库引擎功

mysql 进行update时,要更新的字段中有单引号或者双引号导致不能批量生成sql的问题

前言将数据从一张表迁移到另外一张表的过程中,通过mysql的concat方法批量生成sql时遇到了一个问题,即进行UPDATE更新操作时如果原表中的字段中包含单引号'或者双引号",那么就会生成不正确的

为什么不建议在 MySQL 中使用 UTF-8?

最近我遇到了一个bug,我试着通过Rails在以“utf8”编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误:Incorrect string value: ‘😃 

为什么mysql索引要使用B+树,而不是B树,红黑树

我们在MySQL中的数据一般是放在磁盘中的,读取数据的时候肯定会有访问磁盘的操作,磁盘中有两个机械运动的部分,分别是盘片旋转和磁臂移动。盘片旋转就是我们市面上所提到的多少转每分钟,而磁盘移动则是在盘片

Testin用iTestin开启下一代测试,测试行业为什么要“重新来过”?

测试,其实并不是一个新话题。从有软件开发开始,就有测试,最早的测试就是找Bug。后来,自动化测试、云测试、众包测试的模式开始成为流行趋势,今天又迎来以智能化为核心的下一代测试。但是,“测试”从简单的软

request爬虫post 请求

json意义:JSON,全称是JavaScriptObjectNotation。它是基于baiJavaScript编程语言ECMA-2623rdEdition-December1999标准的一种轻量级