Matt Yonkovit,Matt是Percona的CEO。自1990年代中期以来,他一直作为DBA和系统管理员来研究关系数据库。在加入Percona之前,Matt在MySQL和Sun Microsystems担任解决方案架构师,帮助为《财富》 500强公司和Alexa评级最高的公司构建架构。
本文翻译、整理自 Matt Yonkovit 撰写的博客文章,原文共分为四部分:
Baseline Data and the Size of the Market
Migrating from Proprietary Software to Open Source
The Most Popular Open Source Databases 2020
When is Open Source Not Really Open
以下是前3篇的主要内容。
首先看下Gartner去年的数据:
全球数据库管理系统收入约为460亿美元
总体同比增长约18%
云数据库占了这一增长的68%
这里的 “云数据库” 定义可能有些争议:有些人用 “云数据库” 来指代在云服务上运行的任何数据库,有些仅指在云提供商的数据库即服务(DBaaS)中运行的数据库。但无论哪种方式,这种增长与趋势都说明:数据库行业的游戏规则已经变了。
在未来五年甚至十年内,即使用最激进的方式估算,全部业务都运行在云上是不现实的。实际上如果以行业增长为模型,即使未来5年内20%的内部数据库是自建部署的,而80%的数据都在云中(已经是一个很激进的数字),这仍是一个250亿美元的市场。
很多公司并未采用单一的云厂商,他们的大多数业务都运行在混合环境和多云环境中。调查数据显示,有61%的企业已经拥有混合环境。
很多公司的业务部署,都采用了可移植性的战略,以确保它们可以在不同的环境中运行。Run Anywhere/Run Everywhere 已成为未来应用程序设计的必要条件。
数据库是一个很大的市场,并且会越来越大。云和开源数据库的增长速度甚至超出了行业平均水平,由于公开信息很少,目前很难得到具体的相关数字。Gartner对整个市场发表了一些报告,却并未具体讨论规模和成长。像Oracle这样的公司也并未透露其与开源数据库有关的特定收入。
通过不同的公司、云提供商、分析师等提供的可用市场数据来估计,这一细分市场的年收入在7-8亿美元之间。这包括从云提供商处购买开源软件数据库。
开源数据库的增长率远高于行业平均水平,总体看来约为45-50%。一些供应商增长更迅速,MongoDB报告在第三季度,他们的Atlas DBaaS占其总收入的40%(去年同期为21%)。Atlas在最近一个季度的收入增长了185%以上。
开源数据库增长的两个重要因素:
新应用程序的开发
来自传统商用数据库的迁移
目前很多公司的大型复杂业务仍运行在传统商用数据库上,考虑到导致迁移风险与成本,商用与开源共存的现象很普遍。
比如:SQL Server+MySQL或Oracle+MySQL。
值得注意的是,并非所有的迁移都是简单的后端数据库替换,更多的是关于整个技术堆栈的替换,并且涉及从上到下的重做。
例如,从Oracle迁移到MongoDB 可能需要使用完全重新设计的云原生应用来替换整个原有架构,这里可以看到对复杂应用程序所做了更大的调整。
一句话答案:开发人员。
过去,DBA或基础架构团队通常会努力整合,并降低所使用技术的复杂性。这使许多公司过于依赖单一的商用数据库产品(比如 Oracle 或者 SQL Server全家桶)但现在这种情况已经成为历史,更多优秀专业的数据库产品被设计出来。开发人员和架构师越来越多的倾向于选择这些新技术,多数据库的趋势日益明显。
在当前的数据库环境中,开发人员有着比以往更多的选择。我们已经在很多大型公司中看到了相同的模式。
各个开发团队选择了不同的技术。而DBA、SRE、SA等角色将接管并长期支持这些技术。当然这会使公司内部形成极其复杂的技术矩阵。
随着使用的熟练和效率的提升,基础架构团队逐渐成为“产品开发团队”,构建自动化的工具和架构,以支持变化迅速的技术堆栈。复杂的环境可能导致许多问题,而且难以整合到单个数据库技术中,但这是未来一个重要趋势。
下表对比了3个来源的数据:Percona调查问卷、DB-Engines排名、Stack-Overflow调查问卷。
尽管存在一些差异,但在不同的调查和来源中,最受欢迎的开源数据库排名大致相似。
DB-engines显示,开源与商业数据库的差距正在缩小:
根据DB-engines的数据,以下是根据总体受欢迎程度的排名。截至2020年3月,MySQL的流行度仍是PostgreSQL和MongoDB的2倍。
Stack-Overflow 每年都会进行大型开发人员调查(2019年有90,000名受访者)。以下是开源数据库 2018-2019年之间的使用率差异。
MySQL可以用一字概括,稳:
具有最大的安装基础,DB-Engines排名比下一名高出2倍以上,如果算上所有分支版甚至可以超过oracle,无愧为最流行的开源数据库。
尽管占有率很大,但许多公司都在运行各种不同的MySQL。
Oracle本身有数量可观的MySQL Enterprise(与Community社区版相比有一些功能差异,并且是付费的)。
Percona也具有适用于MySQL自己的版本,该版本100%的开源,并且包含增强功能和企业功能。
也有许多公司运行自己的定制版本。
MySQL的优点:
庞大的安装基础
易于上手
长期的追溯与完善
第三方服务的全面覆盖
替代方案丰富
良好的社区贡献
适用的场景:
大量用于后端的第三方应用程序
Web应用程序
电子商务:零售客户群通过MySQL支撑了爆发式增长的业务
新应用程序开发一直是MySQL的最佳选择
MySQL社区:
自从MySQL被收购Oracle之后,在稳定性和功能上都大大增强
Percona之类的公司已经在性能、可扩展性和功能方面为MySQL带来了全新的改进
Facebook、阿里巴巴、腾讯和其他公司为社区贡献了许多代码和功能
生态系统中的新公司也在积极参与贡献力量。例如,PlanetScale等公司提供的Vitess横向扩展方案。
对MySQL未来的看法:
会持续对现有功能进行完善与改进,但不会有大规模的创新、飞跃。
MySQL社区将致力于使其对开发人员更具吸引力,包括增加新功能、对开发人员更友好。
注意事项:
对于大型的老旧应用,MySQL并不是很好的迁移目标
MySQL和MariaDB之间仍然存在差异(它们是不同的)
人才紧缺,真正的专家总是不容易找到
一直在稳定而渐进的创新,但没有全面的增强
PostgreSQL已有23年的历史了,在过去的几年中,PG出现了大规模的普及和增长。DB-Engines显示其受欢迎度在过去四年中翻了一番。无论是云厂商的数据,还是分析师的经验都证明了这一爆炸性增长。
PostgreSQL的大部分增长来自老旧业务的迁移。PG良好的开放性也促进了其使用率的增长,可以在第三方程序、硬件和系统中进行嵌入、修改和加强。
PostgreSQL的优点:
PostgreSQL是完全开放的,其背后没有任何公司实体,这使其成为一个真正的开放项目。
开放的许可使它易于根据需要进行部署、嵌入和修改。
具有完善的功能和完整的存储过程语言。
对于大多数传统数据库开发人员和DBA而言,学习和提升更容易。
有很多企业扩展和功能选项可用。
在服务支持和DBaaS上有很多选择空间
适用的场景:
旧版数据库迁移,PG在整合企业功能和过存储过程语言方面做得非常出色,这使其成为非常流行的迁移目标。
PostgreSQL的丰富功能集和强大特性,是业务构建新的OLTP应用的好选择。
GIS应用程序:PostgreSQL中的地理空间支持非常强大。
边缘和嵌入式系统:许可证的开放性使其成为嵌入第三方项目、产品和系统的绝佳选择。(比如很多国产数据库)
PostgreSQL社区:
PostgreSQL社区是强大而热情的。
主流云厂商、第三方提供商(如Percona,EnterpriseDB,CrunchyData,2ndQuadrant,Pivotal)和大型企业都对PostgreSQL有所贡献。
提供支持和服务的公司很多,其中很多公司在标准PG数据库上提供增强功能。
对PostgreSQL未来的看法:
目前PostgreSQL受重视程度很高,前途光明,预计会持续增长。
PostgreSQL的开放许可能导致更多“兼容”产品,用户有被锁定风险。
注意,并非所有的PostgreSQL产品都是真正的开放,有些只是“开放源代码兼容(open source compatible)”。
注意事项:
并非所有PG服务提供者都是开放的,DB选型前要注意,以确保可移植性。
一些第三方扩展和附加组件的使用需要额外的工作量
组件的支持程度很依赖其作者
很多功能对于精通传统关系概念的人来说更容易学习,但对新入门者却不易掌握。
在2020财年第三季度的财务业绩中,MongoDB宣布总收入为1.094亿美元,同比增长52%。其中MongoDB Atlas收入占第三季度总收入的40%,同比增长超过185%。Atlas拥有庞大的用户体量,截至2019年10月31日,已有超过15,900名客户使用。
MongoDB收入增长的因素有很多:功能扩展、价格上涨和产品变更。但仅凭收入很难衡量MongoDB的总体使用率。DB-engines可以看到一些增长,但并没有上面公开的收入和客户数量显示的那么多;Stack-Overflow 调查显示MongoDB使用率较为平坦;Percona与MongoDB相关主题的Web流量同比增长了20%以上。
MongoDB的优点:
灵活的模式,NoSQL将模式控制权交给开发人员
将文档数据无缝转换为JS/Go/Python/Java本地对象,而不是SQL数据结构。
MongoDB的高可用性设计一开始就围绕副本集构建,轻松实现了无停机维护和自动故障转移。
内置水平扩展支持最多数百个分片,是通用数据库中最好的大数据解决方案。
适用的场景:
Web(尤其移动端) 能够同时实现“big”和“fast” ,将模式控制权交给开发人员,减少迁移迭代时间。
游戏(尤其移动端) 存储灵活、强扩展能力以及更易用的分片
MongoDB灵活的文档存储非常适合快速发展变化的业务要求,使其成为许多SaaS业务的流行后端DB。
MongoDB社区:
IPO前:很多黑客与贡献者支持,更多的开放性。
IPO后:官方的MongoDB认证,极客精神缺失。
与其他数据库相比,MongoDB社区的控制更严格。
MongoDB未来的看法:
MongoDB开发的精力正在远离核心数据库服务。
MongoDB Inc的前身是10gen,旨在成为在线服务的完整平台。目前的MongoDB在Atlas服务中添加了文本搜索,云自动化,移动集成等功能,但这些都是封闭源。
由于主要功能都投入在Atlas中首发,使用MongoDB的企业是否会转移业务到其云平台么?
注意事项:
SSPL不是公认的开源许可证,并非所有人都认可MongoDB真正开源。
SSPL允许和禁止的内容存在不确定性,可能阻碍社区和第三方的使用。
专注于Atlas作为其平台,存在被Atlas绑定的风险。
MongoDB是一个生态系统受到严格控制、限制性很大的开源项目。这意味着社区贡献以及第三方服务支持会逐渐落后。
DB-Engines显示MariaDB在过去几年中取得了显著增长,但它的普及率不到MySQL的1/10。MariaDB在很多Linux发行版中是默认的,这有助于其在社区中的发展,但目前尚未取得重大的商业成功。
使用MySQL和MariaDB混合环境的公司的数量有所增加,但这通常不是战略决策导致,而是更多的偶然情况。MariaDB在云中的增长速度较慢,人们往往倾向于使用MySQL。
尽管MariaDB的增长正在全球范围内进行,但我们发现在北美以外地区(尤其是在欧洲和亚洲)增长的速度要快得多。
MariaDB的优点:
MariaDB趋向于创新突破,提供了很多有趣的新功能来尝试解决各种问题。
一直保持与MySQL的兼容性,MySQL用户更容易迁移并开始使用它。
MariaDB基金会非常乐于助人,专注于社区。
列数据库允许混合使用,推动“智能交易(Smart Transactions)”。
适用的场景:
快速开发,开发人员都喜欢MariaDB的简单易用和一些功能。
与其前身一样,MariaDB在运行Web应用中享有很高的声誉。
Oracle的替代品:MariaDB试图将自己定位为Oracle的替代品,但在这个领域仍然落后于PostgreSQL。
MariaDB社区:
MariaDB分为MariaDB基金会和MariaDB公司。基金会负责基本代码,并通过赞助和其他方式提供资金。这两个实体并存,很难将它们分开。
MariaDB有大量用户,他们已经部署并热衷于使用MariaDB来处理各种工作,公司的知名度和数量也没有MySQL/PostgreSQL的那种规模,提供一些企业可以选择赞助的付费功能。
看好MariaDB前景并为之投资的公司很多,如Booking.com,Microsoft,阿里巴巴,腾讯和IBM。
对MariaDB未来的看法:
MariaDB确实在为企业领域的竞争做准备,特别针对金融等行业。
他们一直在试图避免成为MySQL的衍生产品。
MariaDB正在努力推出自己的GA版DBaaS。
随着MariaDB进入企业领域,他们正在删除一些更具实验性的功能,从而专注于提供更精简,稳定的企业服务。
注意:通常很难将MariaDB基金会与MariaDB Corp.分开。
注意事项:
MariaDB不再完全与MySQL完全兼容,一旦迁移过来,就很难后退。
但核心RDBMS与MySQL的重叠仍然很大,因此两个数据库之间的选择更取决于个人偏好。
过去增加的新功能可能导致一些异常和问题。目前精简了很多,以实现更多企业应用。
原文地址
https://www.percona.com/blog/2020/04/07/the-state-of-the-open-source-database-industry-in-2020-part-one/
https://www.percona.com/blog/2020/04/14/the-state-of-the-open-source-database-industry-in-2020-part-two/
https://www.percona.com/blog/2020/04/22/the-state-of-the-open-source-database-industry-in-2020-part-three/
https://www.percona.com/blog/2020/04/30/the-state-of-the-open-source-database-industry-in-2020-part-four/
《All in Cloud 时代,下一代云原生数据库技术与趋势》阿里巴巴集团副总裁/达摩院首席数据库科学家 李飞飞(飞刀)
《AI和云原生时代的数据库进化之路》腾讯数据库产品中心总经理 林晓斌(丁奇)
《ICBC的MySQL探索之路》工商银行软件开发中心 魏亚东
《民生银行在SQL审核方面的探索和实践》民生银行资深数据库专家 李宁宁
《OceanBase分布式数据库在西安银行的落地和实践》蚂蚁金服P9资深专家/OceanBase核心负责人 蒋志勇
《金融行业MySQL高可用实践》爱可生技术总监 明溪源
如果字段的最大可能长度超过255字节,那么长度值可能…
只能说作者太用心了,优秀
感谢详解
一般干个7-8年(即30岁左右),能做到年入40w-50w;有…
230721