PG是一款开源的关系型数据库,在过去30年中,其流行度从其活跃、忠诚且持续成长的社区中迅速飙升。根据DB-Engines的专家们给出的《DBMS of the Year》报告,PG已经连续两年蝉联世界“成长”最快数据库的名号。那么,是什么让PG如此出众,当今它又是如何被应用于实际生产?!我们在3月举行的Postgres Conference会议中找到了答案,在那里,我们采访了许多PG的用户、贡献者以及SQL/NOSQL数据库管理员。
所以在这份公开的PG趋势报告中,我们将从如下几个方面向大家揭示PG为何在众多优秀的RDBMS中脱颖而出:
公有云vs私有云vs混合用
最受欢迎的云供应商
迁移趋势
与PG结合使用的数据库
私有云 VS 公有云 VS 混合云
那么,PG的用户们该进行何种选择来托付支持应用的集群呢?我们的调研对象中59.6%的人更愿意在内部私有云(on-premise private cloud)上管理PG,而只有34.8%的人选择使用公有云(public cloud)。这些结果与正常运行时间研究所(Uptime Institute) 在2017年的调查结果相呼应,该调查发现,65%的企业的工作负载仍运行于这些企业自有和运营的数据中心上。
但无论如何,让我们吃惊的是,仅有5.6%的调研对象采用了混合云(hybrid cloud)策略。混合云是第三方公共云和内部私有云的混合,以支持跨这两个计算环境的工作负载需求。然而RightScale最近的一份报告发现,69%的企业已经通过将公共云和私有云进行结合的方式,采用了混合云策略。
最受PG用户欢迎的云供应商
由于有近40%的PG用户使用公共云或混合云,于是我们进一步研究了这些组织最喜欢使用哪家云供应商来管理自己的集群。在一项调查中,不出所料,我们发现Amazon Web Services (AWS)占有了55%的使用共有云的PG用户。
微软的Azure和Google云平台在PG公有云用户中的使用率不分伯仲,均为17.5%。剩余的10%包括DigitalOcean、IBM Cloud、Rackspace和阿里巴巴。
也有许多PG布署采用Database-as-a-Service (DBaaS)的解决方案进行管理,该解决方案利用云原理或者直接由这些云供应商提供。想要了解它们各自的优劣,可以访问该链接:https://scalegrid.io/postgresql/hosting-comparison.html
单云和多云的使用
现在我们已经了解了PG管理和最受欢迎的云提供商的分类,接下来,我们来进一步了解下单云(Single Cloud)和多云(Multi-Cloud)的使用。
使用公有云的PG用户平均使用1.3个不同的云提供商提供的云平台来支持他们的应用程序。从反馈来看,单云的使用率达78.1%,约为3/4,占有绝对主导地位,反观PG布署对多云的利用率,仅有21.9%。
使用PG及迁移至PG的趋势
接下来,我们询问了受访者关于他们关于PG的应用,进而了解PG用户群体,比如在迁移过程中或是探索应用中,PG是否适合他们的应用需求。
在PostgresConf上,不出意料,我们发现大多数受访者(高达74.4%的比例)已经在使用PG。虽然有超过1/4的受访者仍未在生产中布署应用PG,但是我们发现,11.5%的受访者已经在开始着手向PG的迁移,剩余14.1%已经将此列于未来可能的计划之中。
想要更进一步了解是PG的什么优势使PG用户下次决心,可以前往最后一小节:PG从RDBMS中脱颖而出的主要原因。
2019年最受欢迎的数据库
尽管我们已经了解了PG的应用及迁移趋势,但在这次调查中,我们还是想要同时了解其他可选的数据库软件的受欢迎程度。
PostgreSQL of course came in first with 85.9% use between respondents (either using in production or currently migrating to), followed by Oracle at 43.59%, SQL Server at 32.05%, and MySQL at 28.21%. MongoDB and DB2 tied for fifth at 14.10%, Redis at 11.54%, and Greenplum and SQLite tied for seventh at 5.13% each. Cassandra, Cockroach, Cosmos DB, Elasticsearch, Teradata and TimescaleDB tied at eighth with 1.28% use each.
在本次受访者中,PG当然是以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,但我们确实发现PG在我们三月初发布的《2019 Database Trends – SQL vs. NoSQL, Top Databases, Single vs. Multiple Database Use 》报告中位列前三。这项调查是在DeveloperWeek上进行的,当时我们采访了所有类型数据库的用户,结果发现MySQL以38.9%的使用率遥遥领先,MongoDB则以24.6%的使用率紧随其后。
最流行的与PG结合使用的数据库
现在我们知道了哪个DBMS才是最流行的(在PG社区中),那么我们再来看一看,最常与PG结合使用的数据库又是哪个。
首先我要分享一个数据,有62.69%的PG用户至少会额外再选择一款数据库与PG结合使用,而仅有37.31%PG用户在生产环境中只使用PG。
超过四分之一(27.3%)的PG用户除使用PG外,还使用Oracle,其次是SQL Server 20.9%, MySQL 17.3%, MongoDB 10.0%, DB2 9.1%, Redis 7.3%, SQLite 3.6%。最后4.5%占比的与PG结合使用的数据库包括Cassandra、Cockroach、Cosmos DB、Elasticsearch和Teradata
PG数据库组合:SQL vs NoSQL
考虑到与PG结合使用的数据库种类繁多,我们将与PG结合使用的数据库的使用趋势分为俩类:SQL和NoSQL。SQL类的数据库被大多数PG用户选择组合使用,其比例甚至达到80%,而只有20%的用户选择使用NoSQL类数据库与PG组合使用。
www.jeesell.com