写点什么

2019 年开源数据库报告:热门数据库、云基础设施分析与混合持久化趋势

  • 2019-07-10
  • 本文字数:3830 字

    阅读完需:约 13 分钟

2019年开源数据库报告:热门数据库、云基础设施分析与混合持久化趋势


准备好从商业数据库过渡到开源数据库了吗?想知道 2019 年哪些数据库最受欢迎吗?想知道内部云、公有云和混合云基础设施是否最适合你的数据库策略吗?或者,考虑在应用程序中添加一个新数据库,并想看看哪些组合最流行?我们在上个月的 Percona Live 活动中找到了所有你需要的答案,并将获得的见解分解为以下几个免费的趋势报告:


  • 使用最多的数据库:开源 vs. 商业

  • 云基础设施分析:公共云 vs. 内部云 vs. 混合云

  • 混合持久化趋势:使用的数据库数量 &顶级组合

2019 年的顶级数据库

那么,2019 年哪些数据库最受欢迎?我们将数据库分为开源数据库和商业数据库。


开源数据库


开源数据库是免费的社区数据库,其源代码可供公众使用,可以在其原始设计中修改或使用。MySQL、PostgreSQL 和 MongoDB 等是流行开源数据库的代表。


商业数据库


商业数据库是由商业企业开发和维护的,可以通过授权订阅使用,并且不能修改。Oracle、SQL Server 和 DB2 等是流行商业数据库的代表。

顶级开源数据库

MySQL仍然是排名第一的免费开源数据库,占开源数据库使用量的 30%以上。这并不奇怪,因为根据DB-Engines,MySQL 多年来一直保持在这个位置。



PostgreSQL以 13.4%的开源数据库用户比例位居第二,紧随其后的是MongoDB,占 12.2%,位列第三。根据 DB-Engines 的流行趋势排名,这也是可以预料到的,但是就在三个月前,我们看到,MongoDB 在“2019 年数据库趋势——SQL vs. NoSQL、顶级数据库、单数据库与多数据库使用报告”中排名第二,占 24.6%。


虽然开源数据库的前 3 名用户占比超过 50%,但我们也看到了 #4 Redis、#5 MariaDB、#6 Elasticsearch、#7 Cassandra和 #8 SQLite的良好表现。数据库ClickhouseGaleraMemcachedHbase等占了最后的 2%。

顶级商业数据库

在下面这幅图中,我们将看到一个独特的报告,它同时表示了混合持久化和迁移趋势:与开源数据库一起使用的顶级商业数据库。


我们已经看到了利用多种数据库类型来满足应用程序需求的增长趋势,并希望比较下组织如何在单个应用程序中同时使用商业和开源数据库。该报告还显示了正在迁移到开源数据库的商业数据库用户。例如,PostgreSQL连续两年是人气增长最快的数据库,其用户群中有 11.5%是目前正在迁移PostgreSQL的组织。


现在,我们已经解释了这个报告所代表的内容,让我们来看看与开源数据库一起使用的顶级商业数据库。



Oracle是世界上排名第一的数据库,它代表了超过 2/3 的商业和开源数据库组合。在这份报告中,令人震惊的是 Oracle 和第二名的Microsoft SQL Server之间的巨大差距,因为根据 DB-Engines,它们之间的差距要小得多。IBM DB2名列第三,占商业数据库与开源数据库组合的 11.1%。

按数据库划分云基础设施

现在,让我们看看按数据库管理系统划分的云基础设施设置。

公有云 vs. 内部云 vs. 混合云

我们询问我们的开源数据库用户,他们如何托管他们的数据库部署,以确定当前在内部云、公有云和混合云上部署的趋势。


令人惊讶的是,49.5%的开源数据库部署是在本地运行的,排在第 1 位。虽然我们预料到了这个结果,但我们对本地部署的百分比感到惊讶。在我们最近的2019 PostgreSQL趋势报告中,本地私有云部署占 59.6%,比该报告高出 10%以上。


公有云以 36.7%的开源数据库部署位居第二,与 PostgreSQL 报告中 34.8%的部署一致。然而,从这份报告看,混合云有了显著的增长,开源数据库的比例为 13.8%,而 PostgreSQL 部署的比例为 5.6%。



那么,哪种云基础设施适合你呢?下面是一个公有云、内部云与混合云的快速比较。


公有云


公有云是一种云计算模型,其中的 IT 服务通过互联网交付,通常通过订阅使用模型购买。公有云非常容易设置,不需要大量的前期投资,并且可以随着应用程序需求的变化快速扩展。


内部云


内部或私有云部署是专用于在其自己的数据中心(外部第三方供应商)运行的单个组织的云解决方案。在这种情况下,你有更多的机会定制你的基础设施,但是需要在硬件和软件计算资源上进行大量的前期投资,并且需要承担起持续的维护职责。这些部署类型最适合具有高级安全需求的组织、受监管的行业或大型组织。


混合云


混合云是将公有云和私有云解决方案混合,集成到一个基础设施环境中。这允许组织在公有云和私有云之间共享资源,以提高它们的效率、安全性和性能。这最适合需要内部基础设施的高级安全性以及公有云的灵活性的部署。


现在,让我们按开源数据库类型看看哪种云基础设施最流行。

开源数据库部署:内部云

在这副图以及下面的公有云和混合云图中,我们按照利用这种云基础设施的部署百分比来分类每个单独的开源数据库。


那么,哪些开源数据库是最经常部署内部云上呢?PostgreSQL 以 55.8%的内部云部署率排名第一,紧随其后的是 MongoDB(52.2%)、Cassandra(51.9%)和 MySQL(50%)。



根据报告,内部云部署不到一半的开源数据库包括 MariaDB(47.2%)、SQLite(43.8%)和 Redis(42.9%)。最不经常部署在内部云上的数据库是 Elasticsearch,只有 34.5%。

开源数据库部署:公有云

现在,让我们看看在公有云上部署的开源数据库的划分。


SQLite 是公有云基础设施中部署最频繁的开源数据库,部署占比的 43.8%,紧随其后的是 Redis,占 42.9%。MariaDB 的公有云部署为 38.9%,MySQL 为 36.7%,Elasticsearch 为 34.5%。



有三个数据库的公有云部署不到三分之一,其中 MongoDB 占 30.4%,PostgreSQL 占 27.9%,而 Cassandra 的公有云部署最少,仅占 25.9%。

开源数据库部署:混合云

既然我们已经知道了开源数据库是在内部云和公有云之间的划分,那么让我们来看看利用这两种计算环境的部署。


排名第一的利用混合云的开源数据库是 Elasticsearch,占 31%。与之最接近的混合云数据库是 Cassandra,只有 22.2%。



MongoDB 在混合云中的部署比例排名第三,为 17.4%,然后是 PostgreSQL 的 16.3%、Redis 的 14.3%、MariaDB 的 13.9%、MySQL 的 13.3%,最后是 SQLite 的 12.5%。

开源数据库部署:多云

平均而言,20%的公有云和混合云部署使用了多云策略。多云是使用两个或多个云计算服务。我们还查看了使用的云的数量,发现一些部署在一个组织中使用了多达 5 个不同的云提供商:


最受欢迎的开源数据库托管云提供商

在我们上次分析云基础设施划分时,我们分析了哪些云提供商最受开源数据库托管欢迎:



AWS 是开源数据库托管的头号云提供商,占本次调查中所有云部署的 56.9%。谷歌云平台(GCP)排名第二,为 26.2%,出人意料地领先于 Azure,后者为 10.8%。然后是 Rackspace,占部署总量的 3.1%,DigitalOcean 和 Softlayer 紧随其后,占云计算中开源部署总量的 3%。

混合持久化趋势

混合持久化(Polyglot persistence)的概念是单个软件应用程序中针对不同的需求使用不同但最适合的数据库来实现最终目标。这是一个很好的解决方案,可以确保应用程序正确地处理数据,而不是试图用一个数据库类型满足所有需求。一个明显的例子是擅长处理结构化数据的 SQL 与最适合非结构化数据的 NoSQL。


让我们来看几个混合持久化的分析。

数据库类型的平均使用数量

平均而言,我们发现,在单个组织中,公司在应用程序中使用 3.1 个数据库类型。略多于四分之一的组织使用单一的数据库类型,有些则使用了多达 9 种不同的数据库类型:


按基础设施划分的数据库类型的平均使用数量

那么,这个数值在不同的基础设施类型之间是如何划分的呢?我们发现,混合云部署最有可能利用多种数据库类型,平均每次使用 4.33 种数据库类型。


内部云部署通常使用 3.26 种不同的数据库类型,而公有云在其组织中使用的数据库类型最少,平均为 3.05 种。


最常一起使用的数据库类型

现在,让我们仔细研究一下在单个应用程序中最常用的数据库类型。


在下面的图表中,左边列中的数据库表示该数据库类型的样本量,上面列出的数据库表示与该数据库类型组合的百分比。蓝色显示的单元格表示 100%的部署组合,而黄色表示 0%的组合。


因此,如下面的数据库组合热图所示,MySQL 是我们与其他数据库类型结合最频繁的数据库。但是,虽然其他数据库类型经常与 MySQL 一起使用,但这并不意味着 MySQL 部署总是使用另一种数据库类型。这可以在 MySQL 的第一行看到,其颜色为浅蓝到黄色,相比之下,MySQL 第一列的颜色要和表示 100%组合的蓝色的匹配度高许多。


用黑色边框突出显示的单元格表示仅利用这一种数据库类型的部署,其中仅使用 MySQL 的单元格占部署总数的 23%。



对于 DB2,我们也看到了类似的趋势,最后一行 DB2 表明它经常与 MySQL、PostgreSQL、Cassandra、Oracle 和 SQL Server 一起部署,但是,除了 SQL Server 在其部署中有 50%使用了 DB2 之外,其他数据库部署利用 DB2 的比例很低。

SQL 和 NoSQL 开源数据库流行度比较

最后但同样重要的是,我们在开源数据库报告中比较 SQL 和 NoSQL。在开源数据库中,SQL 数据库的使用率超过 3/5,为 60.6%,相比之下,NoSQL 为 39.4%。



我们希望这些数据库趋势是富有洞察力的,并引发一些新的想法或验证你当前的数据库策略。请在下面的评论中告诉我们你的想法,让我们知道,你是否有一项特定的数据库分析想在我们的下一份趋势报告中看到!查看我们的其他报告,了解更多关于数据库领域趋势的信息:



英文原文


2019 Open Source Database Report: Top Databases, Public Cloud Vs. On-Premise, Polyglot Persistence


2019-07-10 08:0010114
用户头像

发布了 780 篇内容, 共 534.4 次阅读, 收获喜欢 1578 次。

关注

评论 1 条评论

发布
用户头像
数据库的技术走向和分类呢
2019-07-10 12:59
回复
没有更多了
发现更多内容

Prometeus 2.31.0 新特性

耳东@Erdong

release Prometheus 11月日更

腾讯开源全景图再刷新:社区贡献领跑国内企业,获超过38万开发者关注

腾源会

开源 腾讯

腾讯发布 K8s 多集群管理开源项目 Clusternet

腾源会

开源 K8s 多集群管理 Clusternet

面试官:讲讲雪花算法,越详细越好

秦怀杂货店

分布式 雪花算法

flutter小部件知多少?

坚果

flutter 11月日更

博文推荐|Pulsar 客户端编码最佳实践

Apache Pulsar

云原生 中间件 干货 Apache Pulsar 消息系统 客户端编码

dart系列之:dart类中的泛型

程序那些事

flutter dart 程序那些事 11月日更

架构训练营 模块三 作业

dog_brother

「架构实战营」

SuperEdge 和 FabEdge 联合在边缘 K8s 集群支持原生 Service 云边互访和 PodIP 直通

腾源会

开源 边缘计算 superedge

[ CloudWeGo 微服务实践 - 08 ] Nacos 服务发现扩展 (2)

baiyutang

golang 微服务 11月日更

【Flutter 专题】07 图解【登录】页面小优化

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

如何评价一个开源项目(一)--活跃度

腾源会

开源

Serverless 架构模式及演进

阿里巴巴云原生

阿里云 Serverless 云原生 架构模式

【高并发】通过源码深度解析ThreadPoolExecutor类是如何保证线程池正确运行的

冰河

Java 并发编程 多线程 高并发 异步编程

赞!一篇博客讲解清楚 Python queue模块,作为Python爬虫预备知识,用它解决采集队列问题

梦想橡皮擦

11月日更

模块八作业:设计消息队列存储消息数据的 MySQL 表格

apple

三大重磅报告,莅临GOPS全球运维大会#324龙智展位即可获取!

龙智—DevSecOps解决方案

运维 gops

消息队列表设计

Rabbit

腾讯自研分布式远程Shuffle服务Firestorm正式开源

腾源会

大数据 开源 腾讯

npm必知必会点

废材壶

大前端 npm Node

Github webhooks 自动部署博客文章,使用总结【含视频】

小傅哥

GitHub 小傅哥 WEBHOOKS 自动部署 通知回调

【浪潮云说】直播间第十一期将于今晚19:30准时开播

云计算,

来看看深度学习如何在文娱行业“落地”

博文视点Broadview

腾讯云原生开源生态专场召开,洞察开源云原生技术发展趋势和商业化路径

腾源会

腾讯云 开源 云原生

【LeetCode】反转链表Java题解

Albert

算法 LeetCode 11月日更

9个问题,带你掌握流程控制语句中的java原理

华为云开发者联盟

Java 变量 finally 流程控制 语句

干货分享:细说双 11 直播背后的压测保障技术

阿里巴巴云原生

阿里云 云原生 性能测试 PTS

Vue进阶(幺玖零):表单验证 trigger:‘blur‘ OR trigger:‘change‘ 区别

No Silver Bullet

Vue 表单校验 11月日更

springboot从数据库中获取application配置

小鲍侃java

11月日更

怎么清空.NET数据库连接池

喵叔

11月日更

我在 IBM 从事开源工作的十一年

腾源会

开源

2019年开源数据库报告:热门数据库、云基础设施分析与混合持久化趋势_开源_High Scalability_InfoQ精选文章