当前位置 > 主页 > 万和大讲堂 >


Oracle,MySQL还是NoSQL?_南京OCP认证培训

2016-01-19 10:47

  Oracle技术嘉年华又将与大家见面了!感谢行业内朋友们的支持与厚爱,从2011年第一届嘉年华开始,我们一路并肩走来,有太多的感动和激励督促我们为大家提供更多精彩的主题和分享,并为大家提供更多与业内顶级专家面对面交流的机会。今年11月17-18日,北京国宾酒店,第三届Oracle技术嘉年华,这个面向全球数据库爱好者的技术盛宴将再度拉开序幕。南京OCP认证培训

 

  大会荣幸的邀请到Jonathan Lewis,Tim Gorman等Oracle数据库领域国际级专家,特别为中国的数据库爱好者带来他们多年的总结与经验分享。另外,我们还将邀请来自Linkedin、Salesforce、京东、1号店、百度、360、淘宝、阿里巴巴、支付宝、移动、联通等公司的核心数据库专家/架构师为各位朋友带来国内最新的数据库领域应用及最佳实践分享。

 

  在大会第二天的主题演讲中,平安金融科技系统维护部资深总监、ACOUG核心会员简朝阳老师发表了主题为《Oracle,MySQL还是NoSQL?》的演讲,其主要从功能、性能、扩展能力、人才储备、商业支持以及价格等因素上面,对比了Oracle,MySQL以及NoSQL。南京OCP认证培训

 

  简朝阳老师表示,不管是Oracle,MySQL以及NoSQL,企业在选择的时候,一定要考虑多方面的因素,比如应用场景、如何做取舍(更需要功能,还是要降低成本?需要更好的维护,还是可扩展性?),当然,最重要的是,要清楚自己的问题所在。下面,我们看一下简朝阳老师对这三者的对比结果(这也是其PPT的主要内容):

 

  Oracle,MySQL还是NoSQL?

 

  功能

 

  Oracle全才,无论OLAP还是OLTP,无论是锁定机制还是事物支持,无论是内置函数还是外部可扩展功能,都比较全面。

 

  MySQL OLTP型选手,但由于缺少 Hash Join,以及分析函数相对较少,所以OLAP方面功能相对欠缺,但对事务的支持以及锁定机制都比较齐全。

 

  NoSQL K/V 型选手,主要提供高效的简单查询,虽然部分NoSQL产品也支持相对复杂一点的检索,但在事务以及Join方面都未支持,功能最弱。

 

  性能(写入)

 

  Oracle需要记录 Redo Log 且保证每次事务都fsync到物理磁盘以保证事务安全,连续写;数据的写入大多是在内存中完成,后台进程进行内存到磁盘的定期批量刷新,随机写为主。

 

  MySQL InnoDB引擎 与Oracle类似;MyISAM 引擎无事务所以没有事务日志到磁盘的fsync问题,但由于其表锁的原因,并发稍若。从总体使用经验来看和 Oracle 相差不大。

 

  NoSQL 在数据存储及日志记录方面的架构及实现优化,使之在写入性能方面较传统数据库有较大优势。

 

  性能(简单查询)

 

  Oracle在高并发场景下,由于其在事务控制实现方面的优势,以及多进程的机制,显示出了相对明显的优势。

 

  MySQL在并发数不是太高的前提下,如8,16,32个并发场景下,相对于 Oracle 没有显示出弱势,甚至部分存储引擎下还有一些优势,但是随着并发数的增加,就逐步体现出了与 Oracle 的差距,这与其基于线程的机制也有一定关系。

 

  NoSQL至少在我过往的多种测试下,大部分时候的简单查询性能都不如前二者。

 

  性能(复杂查询)

 

  Oracle统计信息涉及的方面非常多,优化器相对于 MySQL 来说也先进很多,再加上对 Join 方式的全面支持,无论是从功能还是性能角度来说,多表 Join 都是 Oracle的优势所在。

 

  MySQL其查询优化器所能参考的统计信息相对较少,优化器深度也比 Oracle 少很多,所以在多表 Join 的时候出现执行计划异常并不少见。此外,不支持 Hash Join 的天生缺陷也让其 Join 能力大打折扣。

 

  NoSQL不支持Join,不具可比性,无疑是最弱的。

 

  扩展能力

 

  Oracle Oracle由于其极高的一致性要求,造成架构上的不少限制。导致其扩展成本相对高很多。

 

  MySQL原生分布式架构的优势在于并发支持,但延时问题一直被广为诟病。所以大部分场景下是人肉进行分布式拆分,但其Replication特性加上对一致性的约束相较Oracle弱,使其架构灵活性很高。南京OCP培训

 

  NoSQL大多都原生支持分布式部署架构,具有极好的Scale Out能力。

 

  可维护性

 

  Oracle 这一点上 Oracle 具有非常大的优势,无论是性能跟踪还是常规维护方面,Oracle都提供了非常丰富的工具和系统。

 

  MySQL原生工具相对简单,但由于其开源的特性,有一些第三方开发的工具支持,比如Percona提供的一套工具(原mktools),但总提仍然比 Oracle 少了很多。南京OCP认证培训

 

  NoSQL无论是从性能跟踪还是常规维护角度来说,都远不如前二者。

 

  商业支持

 

  Oracle商业软件,全套的商业服务支持。 上百本文档手册支持,几乎涵盖所有的内容。南京OCP培训

 

  MySQL有商业服务支持,但文档相对简单,包含的内容也比较少。

 

  NoSQL少有商业支持,文档非常简单,网络资料也相对少很多。

 

  人才环境

 

  Oracle发展几十年,具有充足的人才储备,活跃的社区环境。

 

  MySQL开源数据库的王者,社区活跃,虽然人才总量常常供不应求,但总体还是处于良性状态。

 

  NoSQL新技术,产品众多,社区活跃度远不如前面二者,处于人才极度匮乏状态。南京Oracle认证培训

 

  软件成本

 

  Oracle商业软件,价格昂贵。

 

  MySQL有开源也有商业版本,但价格较便宜。

 

  NoSQL开源软件。 南京OCP培训

最近开班 more>
  • 开发课程基础班第一期
  • Web前端开发
  • 软件测试
  • 软件测试预科班
  • AI大模型+全栈开发开班
  • 云原生精英班
  • 云网预科班
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第五期
  • CISP
  • HCIP-cloud
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCP 19C
  • RHCA
  • 6月16日
  • 6月9日
  • 6月16日
  • 6月9日
  • 7月18日
  • 6月30日
  • 6月23日
  • 6月30日
  • 6月23日
  • 7月14日
  • 随时开课
  • 随时开课
  • 6月17日
  • 6月10日
  • 6月3日
  • 6月7日
  • 7月5日
  • 6月7日
  • 随时开课
  • 随时开课
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入