写点什么

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:0010106
用户头像

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

关注

评论 1 条评论

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

写作的“收益”超乎想象

王中阳Go

深度思考 学习方法 写作 写作技巧 写作感悟

Java中Get和Post的使用

Geek_7ubdnf

Java

Dubbo3 在同程旅行的实践

阿里巴巴中间件

阿里云 云原生 dubbo

SpringBoot实例

Geek_7ubdnf

Java springboot

大银行数字化升级之后,火山引擎VeDI这次要把能力带给中小金融机构

字节跳动数据平台

大数据 金融 数字化 金融行业

从数据到价值,DataOps精益数据运营概述

阿里技术

数字化 DataOps

盘点16款跨平台应用程序开发框架

FN0

跨端框架 跨端运行 跨端发展

Kratos微服务框架实现权鉴 - OPA

golang 微服务 鉴权 OPA Kratos

当你输入网址,小手一点,然后发生了什么

华为云开发者联盟

前端 HTTP 华为云 企业号 1 月 PK 榜

ModuleNotFoundError No module named 'PIL'问题解决

Geek_7ubdnf

Python

Linux下OpenCV出现错误:ASSERT false in file qasciikey.cpp, line 501

Geek_7ubdnf

Linux OpenCV

软件测试/测试开发 | Jenkins 如何参数化job ?

测试人

软件测试 持续集成 jenkins 测试开发 测试开发自动化测试

华为云发布CodeArts Check代码检查服务 守护软件质量和安全

科技热闻

10分钟在 Rainbond 上部署 mall 电商项目

北京好雨科技有限公司

MegCC 新版本来啦!新增 Benchmark 等工具,性能大幅提升!有奖征文活动同步启动

MegEngineBot

深度学习 benchmark MegEngine MegCC 模型编译器

Kratos微服务框架实现IoT功能:设备实时地图

golang 微服务 物联网 IoT Kratos

Java基本语法

Geek_7ubdnf

Java

pip安装报错:Command python setup.py egg_info failed with error code 1

Geek_7ubdnf

Python

软件测试/测试开发 | Jenkins 节点该如何管理?

测试人

软件测试 持续集成 jenkins 自动化测试 测试开发

小令观点 | 去中心化可没那么难,古代令牌就已经做到了

令牌云数字身份

身份 Web3.0

WXSS 如何进行编译?

FN0

小程序 微信

Kratos微服务框架实现权鉴 - Casbin

golang 微服务 鉴权 rbac Kratos

服务网格|如何使用 Amesh 配置插件

API7.ai 技术团队

Service Mesh 服务网格 APISIX 网关 Kubernetes Serverless

使用 DataEase 制作动态轮播仪表板

搞大屏的小北

pip安装后仍有ImportError No module named XX问题解决

Geek_7ubdnf

Python

备份谷歌或其他浏览器插件

Geek_7ubdnf

浏览器 Google

透视华为云云原生数据库的演进,能给行业带来哪些启发?

华为云开发者联盟

数据库 云原生 后端 华为云 企业号 1 月 PK 榜

一文搞懂Spring,堪称Spring源码终结者

小小怪下士

Java spring spring源码

我理解的金融级数据库

宫博

分布式数据库 金融行业 oceanbase 金融信创 金融科技创新

测试开发 | 跨平台设备管理方案 Selenium Grid

霍格沃兹测试开发学社

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