百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

MySQL如此万能,为啥还需要商业数据库或PG?

ccwgpt 2025-03-01 13:09 49 浏览 0 评论


最近,小编在知乎上看到这样一个问题:


MySQL已经可以干大部分事情了,还有必要使用商业数据库或者PostgreSQL吗?


这个问题涉及到很多方面。MySQL的innodb引擎有事务了,而且也能进行很多比较复杂的查询,包括嵌套查询等。如果数据量比较大,参考大厂,也能做到很大的集群,把Oracle去掉。而且现在流行的hadoop很多时候都是和MySQL配合的。


这样看起来的话,其它数据库好像都能用MySQL来代替,并且MySQL是开源免费的。如果担心Oracle操控MySQL,还可以选择MariaDB。为何还有那么多企业买商业数据库?一般的商业数据库价格也不低。


还有就是有一种据说比MySQL更开放的PostgreSQL数据库,感觉它的用户没有MySQL的那么多。而且它能做的MySQL都能做,例如查询优化、子查询、索引、分区等等。


为什么不能在所有场景下都使用MySQL呢?


秉持着文明和平的学习态度,以及促进国产数据库生态繁荣发展的初衷(感受到小编满满的求生欲了吗),小编精选了几位知乎网友的精彩回答,分享给大家学习交流(勿上升、勿引战)


1号知乎网友:诗与星空


因为需要背锅侠。


对于商业软件来说,稳定远远比便宜更重要。


真实案例:某年某央企千万级用户百亿金额的上古系统,用的Sybase数据库,在一次常规归档的时候,意外遇到一块硬盘损坏,负责硬件的小哥没有和正在进行归档的团队充分交流,顺手联系厂家换了新硬盘。


做了Raid的磁盘,更换后,会有一段同步数据的时间,恰好这个时候数据库归档进入最为关键的时点。


于是,数据库挂了。


回退也是个问题,因为恢复时间过长,可能会引起社会影响……


之前已经向社会发布公告,原定24小时对外公布48的停机时间,一下子超时了。IT经理通宵加班的时候,顺便准备好了辞呈。


千钧一发的时刻,SAP公司(Sybase被SAP收购)来人了,安排了号称Sybase四大天王的三位,最强的支持团队,又连续奋战了1个通宵,终于在凌晨6点前强行修复成功。


2号知乎网友:温酒


至少有一个场景MySQL是无论如何不能做的,那就是想办法把钱花出去。


成年人的世界里有一条准则:你体现的价值基本取决于你付出什么。


做业务的时候,如果你pay nothing,那么你一定get nothing,哪怕是在技术端,也是一样的。


付钱,在能力允许的前提下,让最多的人赚最多的钱。


那么当你面对危机的时候,就会有无数的人想尽办法来救他们的财神爷了,MySQL这方面的能力几乎是零。


我随便举个例子,银行数据库,要是用MySQL,一旦出了问题,谁来背这个锅?


技术部门?码农最懂码农了,你觉得你背得起吗?背不起?那就老老实实用Oracle或者SQLServer啊,它们有办法背。反正锅甩出去了,不在技术部门员工身上。


其实,选什么数据库,这个问题跟技术一毛钱关系都没有。跟技术有关系的,往往是选完了数据库以后的事情。


3号知乎网友:木风


前某厂员工可以很负责的说一句,去IOE的事迹内部宣传很多次了,就是为了省钱,仅此而已。如果Oracle免费,你看互联网大厂会用MySQL还是Oracle?


不管是性能、架构、对SQL标准的支持度,还是代码质量,Oracle、PG都是甩MySQL好几条街的。


互联网的特点是业务逻辑简单,但是并发量大,那么养一个厉害的中间件团队做好横向扩容就行了,同时尽量不使用复杂和嵌套的sql。某种程度上讲,已经在NoSQL化了,比如为了提高读性能进行的各种denormalization。


至于PG能做而MySQL不能做的,有很多,随便说一个:条件索引。


再说一个,一条插入语句插入n行数据,并返回所有插入行的主键,用mysql自增主键生成器,怎么做?做不到的。


再加一条,将非主键索引建为 clustered index,MySQL压根都不支持。


我差不多在10几秒内就能想到这么多MySQL没法做的事情,怎么会叫MySQL都能支持呢?


4号知乎网友:dbalex


首先,反驳一下题主的问题。


关于你说的“Oracle很差不能满足需要”,这完全是无稽之谈。很多大厂最初就是用的MySQL,后来性能上不去,于是引入了当时互联网行业第一台AIX小型机,跑Oracle,哎哟喂!那个爽啊!可劲用啊!性能完全不是问题啊,DBA生活也很安逸。这种架构在现在被称为“传统架构”,支撑了无数企业各种规模的信息系统。


既然如此,为啥还要去IBM、Oracle、EMC(去IOE),说白了,就是要从钱窟窿里跳出来,随着数据的不断增长,那将是个天文数字啊!


我们来看一下这个架构是怎么烧钱的。要承受不断增长的业务压力,一般来说,无非两种手段,一种是提高主机性能,加CPU加内存;一种是加机器。要知道Oracle license是怎么算的呀,那可是按照CPU个数算的呀!你加多少CPU加多少机器最终都是要加钱的呀!


好,现在来比较一下MySQL跟商业数据库的区别。先来打个比方:如果Oracle比作全聚德,那MySQL就是咸鸭蛋了。都挺好吃的对吧,但你不觉得区别还是挺大的么。那么,比起MySQL,Oracle牛在哪里呢?


1、数据库的心脏在于优化器,Oracle基于成本的优化器跟MySQL的优化器水平可不是差了一点点。


2、Oracle是多进程体系,MySQL是单进程多线程体系。说白了,Oracle可以充分的利用主机的CPU进行并行处理,MySQL则不能充分利用多核CPU。


3、数据安全性,商业数据库对数据提供完善的保护机制,保证关系数据库四原则ACID中D(Durability),并提供完善的售后技术支持服务,而开源的MySQL数据库没有人能给出以上承诺。


这三条是最关键的区别,还有几十条就不在此赘述了。1和2决定了MySQL的性能被Oracle甩出N条街,特别是在OLAP领域,偷偷告诉你,官方版MySQL现在还不支持hash join,Oracle分分钟干完的事,MySQL可能要忙活一晚上;3决定了在一些关键领域,如金融、电信、保险(大行要是每隔几天丢几笔存款,那它估计活不了几天就该关门了)等,MySQL是没有任何立足之地的,除非在一些非关键业务上。


那么,MySQL既然跟Oracle比起来差距这么大,为什么却如此流行呢?


MySQL作为一个开源的数据库,发展速度还是很快的。题主说的关于查询优化、分区等等,确实是借助开源力量的产物,而且InnoDB支持MVCC也是部分商业数据库没有做到的(如IBM DB2),所以MySQL承担一些业务逻辑简单的互联网应用非常合适.


另一方面,MySQL作为免费的开源数据库,扩展的成本是很低的,结合廉价的PC,扩展到几千台甚至上万台的规模用不了多少预算,这就是屌丝流!当然,淘宝那一大堆神仙级的技术牛人可不仅仅是把这几万台机器装上MySQL就算完了,关于他们的神仙事迹,我就不在此多说了,想了解的话就看你自己的执行力了,书籍、博客已经提供了很多你想学到的知识。


如有纰漏,欢迎指正。


5号知乎网友:萝魏紫


让有实际经验的来给你讲讲,百度得到的都没什么用。MSDBA认证,Oracle终生拥护者萝魏紫给你解释下这个问题。


三大关系型数据库:MySQL、MSSQL、Oracle,为什么Oracle卖4倍贵?还有很多公司不用MySQL?为什么MSSQL比MySQL企业版贵3倍,还有很多公司不用MySQL,为什么MySQL有开源版还有很多公司要用企业版?


第一,服务。


我有一个项目,用的Oracle的RAC。我怀疑数据库有问题,一个电话过去,Oracle派一个团队过来——4个人,驻场一个月,调试、测试、出报告,给我把哪些配置配错了?哪些配置可以优化?哪些工具可以用来继续监测?讲得清清楚楚。连不是Oracle的问题,都顺手提出来了。


我还有一个项目,用的MSSQL SEVER AG。我怀疑数据库有问题,电话是不接的。要上网填ticket,然后客服打给你,这种客服你懂的,P用都没有。然后一路升级,到一半,发现你的Window没有打全patch,直接postpone,直到你打全patch再说,我只好请Boss调了自己公司其他部门的Wintel 服务团队过来帮忙看,解决了。


MySQL我没用过企业版,我帮几个朋友调试过他们自己的库。除了满大街查google,还能做啥?要是你一查百度,完了,漫天中文ctrl+c ctrl+v 的blog,前言不搭后语。


第二,健壮性。


Oracle你以为他只是数据库?他卖exadata,整体数据库跑在上面。就算他单独卖的数据库,他的HA集群是自己做的。我十多年用过几百台OracleHA,就没见过所有节点挂掉的。RAC的切换非常快,毫秒级别。而MSSQL的集群,我真实看到过AG内切换所有节点下线几秒钟。而MySQL集群?你能像阿里那样开发大量持久化中间件?不能的话,我有一个解决方案:定期带服务器去庙里烧烧香。


第三,功能性。


Oracle三大工具:AWR、ADDM、ASH report,谁用谁知道,用了都说好。MSSQL 的trace file你要看?对不起,先装个MSSQL客户端。装了你也看不懂,完美符合MS系所有的习惯。要不是找到一个微软内部用的自动分析工具,我是绝对不看trace file的。MySQL 听说有个enterprise monitor,不过没用过。开源版大概只能看看服务器日志,或者装zabbix……


大家对于"MySQL已经可以干大部分事情了,还有必要使用商业数据库或者PostgreSQL吗?"这一问题,有怎样的思考和想法呢?欢迎在留言区交流~



整理丨dbaplus社群

来源丨网址:https://www.zhihu.com/question/21793412

*仅为提供参考和学习交流,不代表dbaplus社群立场!本文为dbaplus社群整理校对,如需转载请标明出处。dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn

相关推荐

详解DNFSB2毒王的各种改动以及大概的加点框架

首先附上改动部分,然后逐项分析第一个,毒攻掌握技能意思是力量智力差距超过15%的话差距会被强行缩小到15%,差距不到15%则无效。举例:2000力量,1650智力,2000*0.85=1700,则智力...

通篇干货!纵观 PolarDB-X 并行计算框架

作者:玄弟七锋PolarDB-X面向HTAP的混合执行器一文详细说明了PolarDB-X执行器设计的初衷,其初衷一直是致力于为PolarDB-X注入并行计算的能力,兼顾TP和AP场景,逐渐...

字节新推理模型逆袭DeepSeek,200B参数战胜671B,豆包史诗级加强

梦晨发自凹非寺量子位|公众号QbitAI字节最新深度思考模型,在数学、代码等多项推理任务中超过DeepSeek-R1了?而且参数规模更小。同样是MoE架构,字节新模型Seed-Thinkin...

阿里智能化研发起飞!RTP-LLM 实现 Cursor AI 1000 token/s 推理技术揭秘

作者|赵骁勇阿里巴巴智能引擎事业部审校|刘侃,KittyRTP-LLM是阿里巴巴大模型预测团队开发的高性能LLM推理加速引擎。它在阿里巴巴集团内广泛应用,支撑着淘宝、天猫、高德、饿...

多功能高校校园小程序/校园生活娱乐社交管理小程序/校园系统源码

校园系统通常是为学校、学生和教职工提供便捷的数字化管理工具。综合性社交大学校园小程序源码:同城校园小程序-大学校园圈子创业分享,校园趣事,同校跑腿交友综合性论坛。小程序系统基于TP6+Uni-app...

婚恋交友系统nuiAPP前端解决上传视频模糊的问题

婚恋交友系统-打造您的专属婚恋交友平台系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包...

已节省数百万GPU小时!字节再砍MoE训练成本,核心代码全开源

COMET团队投稿量子位|公众号QbitAI字节对MoE模型训练成本再砍一刀,成本可节省40%!刚刚,豆包大模型团队在GitHub上开源了叫做COMET的MoE优化技术。COMET已应用于字节...

通用电气完成XA102发动机详细设计审查 将为第六代战斗机提供动力

2025年2月19日,美国通用电气航空航天公司(隶属于通用电气公司)宣布,已经完成了“下一代自适应推进系统”(NGAP)计划下提供的XA102自适应变循环发动机的详细设计审查阶段。XA102是通用电气...

tpxm-19双相钢材质(双相钢f60材质)

TPXM-19双相钢是一种特殊的钢材,其独特的化学成分、机械性能以及广泛的应用场景使其在各行业中占有独特的地位。以下是对TPXM-19双相钢的详细介绍。**化学成分**TPXM-19双相钢的主要化学成...

thinkphp6里怎么给layui数据表格输送数据接口

layui官网已经下架了,但是产品还是可以使用。今天一个朋友问我怎么给layui数据表格发送数据接口,当然他是学前端的,后端不怎么懂,自学了tp框架问我怎么调用。其实官方文档上就有相应的数据格式,js...

完美可用的全媒体广告精准营销服务平台PHP源码

今天测试了一套php开发的企业网站展示平台,还是非常不错的,下面来给大家说一下这套系统。1、系统架构这是一套基于ThinkPHP框架开发的HTML5响应式全媒体广告精准营销服务平台PHP源码。现在基于...

一对一源码开发,九大方面完善基础架构

以往的直播大多数都是一对多进行直播社交,弊端在于不能满足到每个用户的需求,会降低软件的体验感。伴随着用户需求量的增加,一对一直播源码开始出现。一个完整的一对一直播流程即主播发起直播→观看进入房间观看→...

Int J Biol Macromol .|交联酶聚集体在分级共价有机骨架上的固定化:用于卤代醇不对称合成的高稳定酶纳米反应器

大家好,今天推送的文章发表在InternationalJournalofBiologicalMacromolecules上的“Immobilizationofcross-linkeden...

【推荐】一款开源免费的 ChatGPT 聊天管理系统,支持PC、H5等多端

如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!项目介绍GPTCMS是一款开源且免费(基于GPL-3.0协议开源)的ChatGPT聊天管理系统,它基于先进的GPT...

高性能计算(HPC)分布式训练:训练框架、混合精度、计算图优化

在深度学习模型愈发庞大的今天,分布式训练、高效计算和资源优化已成为AI开发者的必修课。本文将从数据并行vs模型并行、主流训练框架(如PyTorchDDP、DeepSpeed)、混合精度训练(...

取消回复欢迎 发表评论: