一文告诉你全世界最顶级的开发者都在使用什么数据库
作为一名IT行业从业者,其实从去年已经隐隐约约感觉到数据库的有变化,只是没有想到变得这么快。今年的一些事情实实在在地给了某些数据库重击,如果以前去某数据库还是喊喊,然后该用还用,今年从传统领域刮起的去某数据库的风,已经开始了,并且后面的乌云密布也看得见。
最近看一篇国外的开源产品提供厂商的一篇文字,主要是在询问了他的几百位客户后得出了下图中的2019年数据库的使用趋势。
从图中可以看出,MySQL以38.9%的使用率高居榜首,其次是MongoDB(24.6%)、PostgreSQL(17.4%)、Redis(8.4%)和Cassandra(3.0%)。在这些数据库中,Oracle仅占1.8%,而CouchDB、Berkeley DB、Microsoft SQL Server、Redshift、Firebase、Elasticsearch 整合后的影响力和用户的总和仅为2.4%。
但该调查报告却与DB-engine排名趋势流行度报告大相径庭,Oracle数据库在此报告中排名第一,不过笔者认为,任何文字都是可能是偏颇或有倾向性的,每个人看完后都可能有自己的想法,或认同或反对,就如同最近最热的一句话“人心中的成见是一座大山,任你怎么努力休想搬动”。
MySQL 仍然是排名第一的免费开源数据库,占开源数据库使用量的 30% 以上。这并不奇怪,根据 DB-Engines,MySQL 多年来一直保持在这个位置。根据笔者多年来的从业经验,我认为MySQL数据库确实配得上这个排名,原因如下。
1.完全开源
MySQL最强大的优势之一在于他的数据库管理系统(DBMS,Database Management System)是一个开源系统。当然,开源并不意味着免费,它还是有许多付费功能。但是开源的特点给予用户可以根据自己需要修改DBMS的自由。 MySQL采用了GPL(General Public License),这意味着授权给用户可以阅读,修改和优化源代码,这样即使是免费版的MySQL的功能也足够强大。这也是MySQL如此受欢迎的原因之 一。
2.快速更新和用户友好
在其他数据库(例如Orcale、MSSQL Sever)更新缓慢的时候,MySQL很少让他的用户等待。每当新的版本出来之后,MySQL都会成为大多数服务器的主要数据库。Linux web服务器已经成为现在web服务器的主流,MySQL在linux服务器上面也得到了广泛的应用。
3.WebsitePanel,phpMyAdmin 和MySQl的黄金组合
对于初学者来说,通过虚拟主机商提供的websitepanel控制面板学习MySQL是一个很不错的方法。用户不仅可以观看很多视频教程来学习使用 MySQL,还可以使用PhpMyAdmin通过web方式管理数据库。
PostgreSQL 以 13.4% 的开源数据库用户比例位居第二,紧随其后的是 MongoDB,占 12.2%,位列第三。
如果你经常光顾某些网站,或者大型公众号,你应该知道今年最热的事情有两个,postgresql和大数据,今年算是postgresql在中国的开始发展的元年,知道的人和使用的人也越来越多。
根据DB-engine数据库流行榜发布的数据显示,Oracle与MySQL与去年相比都产生了一定的退步,唯独postgresql呈现上升趋势,比去年同月份提高了85.18%,这进一步说明数据库领域正在涌现出更多的新生力量,与之前将所有鸡蛋都放在一个篮子里的传统策略相比,IT行业的工作者正在使用多种数据库来支持他们的产品,多数据库类型的使用在过去10年出现了爆炸式增长。
在我们的调查中,几乎有一半实际上使用不止一种类型的数据库来支持他们的应用程序,而不是单个数据库,使用多个数据库的比例为44.3%,使用一个数据库的比例为55.7%,他们喜欢的数据库组合如下。
现在,让我们仔细研究一下在单个应用程序中最常用的数据库类型。
在下面的图表中,左边列中的数据库表示该数据库类型的样本量,上面列出的数据库表示与该数据库类型组合的百分比。蓝色显示的单元格表示 100% 的部署组合,而黄色表示 0% 的组合。
因此,如下面的数据库组合热图所示,MySQL 是我们与其他数据库类型结合最频繁的数据库。但是,虽然其他数据库类型经常与 MySQL 一起使用,但这并不意味着 MySQL 部署总是使用另一种数据库类型。这可以在 MySQL 的第一行看到,其颜色为浅蓝到黄色,相比之下,MySQL 第一列的颜色要和表示 100% 组合的蓝色的匹配度高许多。
用黑色边框突出显示的单元格表示仅利用这一种数据库类型的部署,其中仅使用 MySQL 的单元格占部署总数的 23%。
其实,这些数据也比较精准的反映了国内的情况,从2005年开始,IT企业在数据库的发展方向上就已经有了一些变化。
2007年开始阿里巴巴的IT开销史无前例,一度成为IBM、Oracle中国的标杆客户,淘宝、阿里巴巴B2B和支付宝等公司,98%以上的软件系统和业务都是采用Oracle数据库提供数据服务。2009年淘宝更是上了全球排名前几位的大RAC集群,据说当年有16个节点。每天早上CPU还是跑到98%。换句话来说,三年几千万买Oracle产品+服务也没办法支撑阿里成长的速度,只能开启自研模式,于是就有了Oracle全面转向MySQL的进程。
拆分Oracle数据库+Hadoop其实也可以撑一撑,但是这样的话,还要向Oracle购买更多的License(再花几千万,不是没钱,是即便花钱也不能彻底解决问题)。因此,阿里巴巴B2B将中文站压力和数据容量最大的Offer数据库,成功从Oracle数据库+IBM小型机+EMC2存储设备,迁移到MySQL数据库+PC Server的模式,所以淘宝2013年下线了最后一个Oracle,2014年支付宝交易替换了Oracle,2016年支付宝总账全面用OceanBase替换Oracle。
发展趋势:
1.“去Oracle化”。一方面是Oracle采用scale up而不是scale out的方案;另外一个重要原因是价格。网易和阿里巴巴都曾经以Oracle作为主要的数据库解决方案,投资几千万来采购License。阿里巴巴曾经还自称是互联网企业中Oracle的最大用户。Oracle最大的优势是运维简单,应用开发方便,但是和昂贵的价格相比,这一点不再具备吸引力。
2.优化MySQL数据库。这些互联网企业采用了大量的MySQL服务器集群,最大集群在150台服务器左右。承载了包括博客、电子商务等应用。采用的优化包括:
传统的SQL优化,如减少某个查询涉及到的列,控制索引数量等
闪存介质(SSD或者Flash卡)。这是几乎所有互联网企业都采用的方法,由于测试场景各不相同,因此没法比较谁家的方案更好。大体上分成直接使用闪存介质作为存储系统;优化闪存介质访问方式进一步优化
设计MySQL存储引擎
3.NoSQL数据库。NoSQL对应用养发提出了较高的要求,在项目中不是那么容易推广,一致性要求被放松,但是“原子性”支持需要被保证。一般是为了满足高并发需要才引入。如盛大采用MongoDB,淘宝自研了Tair数据库(已经开源)
4.分布式数据库。众所周知,使用不同的SQL优化与执行方式,数据库的访问性能可能会存在上千上万倍的差距。计算存储分离的核心思想便是在数据存储层面进行一体化存储,而计算层面则有效利用每种执行引擎的特点,针对不同的业务场景进行选择和优化。
所以,如果具有超强的研发团队和运维团队,在云时代还是有机会替代Oracle的,我们也看到伴随着人口红利,在软件开发领域的我国实力已今非昔比,大部分企业的 “去IOE”的进程更多的是自发的因系统架构优化而进行,同时各种数据库技术与产品也蓬勃发展,所以,在技术上看Oracle并非不能取代,更多的是出于综合成本(改造与建设成本、分享)的考量,需要的是时间和意志。
一千个人眼里就有一千个哈姆雷特,在每个开发者和企业的眼中,只有适合自己的数据库才是最好的。
出处:https://www.toutiao.com/a6725284528513876494/(复制到浏览器中打开)
DBASK,DBA的即时问答平台
往期精选
为什么SQL正在击败NoSQL,这对未来的数据意味着什么
缓存世界中的三大问题及解决方案
甲骨文因超过90亿美元的NetSuite交易起诉Larry Ellison和CEO Safra Catz
MySQL入门全套
Oracle 12c因bug导致ORA-04031问题处理过程 | 云和恩墨技术通讯精选
详述由ENQ:TX – ROW LOCK CONTENTION引起的全局死锁处理过程
不会SQL注入,连漫画都看不懂了
史上最全近百条Oracle DBA日常维护SQL脚本指令
数据泄露后,美国Web托管服务商Hostinger重置1400万用户密钥
史上最全数据库中间件详解
数据和云
ID:OraNews
如有收获,请划至底部,点击“在看”,谢谢!
资源下载
关注公众号:数据和云(OraNews)回复关键字获取
help,30万+下载的完整菜单栏
2019DTCC,数据库大会PPT
2018DTCC , 数据库大会PPT
2018DTC,2018 DTC 大会 PPT
ENMOBK,《Oracle性能优化与诊断案例》
DBALIFE,“DBA 的一天”海报
DBA04,DBA 手记4 电子书
122ARCH,Oracle 12.2体系结构图
2018OOW,Oracle OpenWorld 资料
产品推荐
云和恩墨Bethune Pro2 企业版,集监控、巡检、安全于一身,你的专属数据库实时监控和智能巡检平台,漂亮的不像实力派,你值得拥有!
云和恩墨zData一体机现已发布超融合版本和精简版,支持各种简化场景部署,零数据丢失备份一体机ZDBM也已发布,欢迎关注。
云和恩墨大讲堂 | 一个分享交流的地方
长按,识别二维码,加入万人交流社群
请备注:云和恩墨大讲堂
一文告诉你全世界最顶级的开发者都在使用什么数据库相关推荐
- 全世界最顶级的开发者都在使用什么数据库
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 来源:22j.co/cCMD 作为一名IT行业从业者,其实从去年已经隐隐约 ...
- 一文告诉你如何导出 Git 变更文件
转载自 一文告诉你如何导出 Git 变更文件 有时候我们想导出某次版本提交时有哪些变更的文件,在 svn 中有一个 export 功能,很方便,如下图所示. 在 Git 中我也找到了以下两种方法. ...
- 一文告诉你 Java RMI 和 RPC 的区别
转载自 一文告诉你 Java RMI 和 RPC 的区别 RPC 远程过程调用 RPC(Remote Procedure Call Protocol)远程过程调用协议,通过网络从远程计算机上请求调用 ...
- equals 和 hashCode 到底有什么联系?一文告诉你
转载自 equals 和 hashCode 到底有什么联系?一文告诉你 写在前面 Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方 ...
- c语言程序和plc程序的区别,一文告诉你PLC与计算机的本质区别在哪里!小白都能看懂!...
原标题:一文告诉你PLC与计算机的本质区别在哪里!小白都能看懂! 你真的了解PLC吗?你知道PLC与计算机的本质区别吗?我来简单解释一下吧. 1.PLC可以工作在极其恶劣的电磁环境中 如果我们把计算机 ...
- 一文告诉你,为什么要做质检报告
一文告诉你,为什么要做质检报告 一.什么是质检报告? 质检报告就是根据目前所有产品在你出售之前都需要通过质量检查的,并需要对公司产品合格数的统计,主要是鉴定产品质量达标书面证明.他是经过对产品和设备的 ...
- go每日新闻(2022-06-14)——一文告诉你Go 1.19都有哪些新特性
每日一谚:Test to know you are correct. go中文网每日资讯--2022-06-14 一.Go语言中文网 Gopher 应该记住这 10 个命令 golang刷leetco ...
- C语言试题三十一之判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。
1. 题目 请编写函数function,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no.回文是指顺读和倒读都是一样的字符串. 2 .温馨提示 ...
- wsdl文档中的soap:address的生成规则_BAT大牛都在使用的数据库文档生成插件,不来看一下?...
一.概述 在企业级开发中.我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有.要么有.但都是手写.后期运维开发,需要手动进行维护到文档中,很是繁琐. ...
最新文章
- 悟道 · 文溯详解:蛋白质序列的大规模预训练
- 2021年辽宁省大学生数学建模竞赛题目A题_智慧停车的运营、管理规划
- python 函数中所有print保存csv_python for循环print怎样才能输出csv呢
- LVM的创建扩展缩减与删除
- AJAX方式进行验证码的判断(JS方式)
- Endianness
- Mysql复习(基础概念+基础操作)
- openssl校验SSL证书public key是否配对
- Nginx 的 5 大应用场景,太实用了!
- Solr中的q与fq参数的区别
- redis详解_java 从零开始手写 redis(14)redis渐进式rehash详解
- 订单明细升级版、淘宝erp、淘宝打单发货接口
- 数学建模与数学实验P49第四题解答
- pdf格式的PPT如何保留动画效果?
- D3基础 | 条形图
- dns能帮助网站快速打开吗?怎么样提升网站打开速度?
- 2020PAKDD 阿里巴巴智能运维算法大赛TOP20 ——磁盘故障预测问题比赛思路、难点与问题总结
- 基于opencv-python的车道线检测(高级)
- Multisim 非门
- 笔记本html到电视,笔记本怎么连接液晶电视 笔记本连接液晶电视方法【详解】...