Mysql与 Oracle数据库的优缺点
当数据量太大、并发太高时,有两种解决方案:
仍然使用集中式方案,提升单台主机的能力。
使用分布式方案。
两种方式都可以解决问题,就看高层如何选择了。阿里选择了分布式。
一旦选择了分布式,比如将一个大表分到多个数据库中。如果是Oracle,数据库太多license费用随之上升。如果是MySQL,数据库再多也不用担心License问题。所以,MySQL胜出。
如果选择了集中式,照样有方法解决,就看硬件、和人的投入了。
阿里只所以没有选择集中式,主要是license是授权,如果用于商用而没买授权,会收到oracle公司律师函。费用根据你主机的情况以及节点个数而定,维护费每个公司的定价不同具体询问相关Oracle商务人员。
分表、分库后,面临两个问题:
1、要有强大的中间层。阿里在这一块的投入是巨大的。
2、分表、分库后,跨库事务投入是巨大的。
优缺点:
Mysql是开源的就好比Java的jdk是开源的,可以随便去编译.而Oracle现在是越来越封闭,在不使用调试技术的情况下,研究Oracle日渐艰难许多性能资料、等待事件的本意无从知晓,问题的定位比较困难。开源的MySQL不存在这样的问题。
了解源码的目的是为了更深的了解MySQL的优、缺点,更好的使用MySQL.
国内互联网巨头多在开发基于MySQL网络协议的代理层。简单点说你连接MySQL,其实是连接了代理层,由代理层把你的SQL发到某个MySQL库中执行,如果是OLAP(联机分析处理)型SQL,由代理层用协调器,将SQL分布到多个MySQL库中执行,再由代理层合并结果。
如果下层是Oracle,这样的代理层开发极为困难,因为要全面了解网络协议,如果是MySQL则不同了。
(1) Mysql性能卓越,服务稳定,很少出现宕机。
(2) 开放源代码,自主性,使用成本低
(3) 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助。
(4ÿ