Bootstrap

Oracle Database与Mysql Database数据库方案比较

今天在设计架构的时候,本来一套挺好的数据库架构设计,没想到冒出来了成本问题,原来打算购买Oracle10G R2 Enterprice,但是30W/U的价格把客户吓了一跳,客户的原话是“这样的话,购买DB Lience的费用要比开发费用还要高啊?”

是啊,客户没有说错啊(甲骨文真是会抢钱。。。),接下去我就整理了一份《Oracle Database与Mysql Database数据库方案比较》,但是写到最后真的发现MySQL从数据库解决方案方面来说的话,除了成本考虑,确实没有比Oracle有明显的胜出,下面是文章内容:

Oracle DatabaseMysql Database比较

 

一、        数据库高可用性的技术现状:

目前数据库集群系统应用得比较成功,应用范围比较广泛的是:Oracle公司的Oracle9Sun公司的MySQL,在技术构架、部署、分布式计算、成本方面,二者各有长短。

针对于应用,通常数据库需要支持如下2种状态:

OLTPOn-Line Transaction Processing):

数据量相对较小(100G以下),数据库访问频繁,请求密集,应用访问数据库的特点是:访问频繁,数据库每秒钟要接受几千次以上的查询,需要经常追加数据,同时对数据的响应速度要求比较高

OLAPOn-Line Analytical Processing):

用于科学计算、存储历史数据的应用,数据量往往达到几百G。这些应用访问数据库的特点是:多为查询操作,数据都是分批、定时、集中倒入数据库,数据库的记录非常多,积累了大量的数据,对数据库的响应速度没有太高要求

 

二、        OracleMySQL的比较:

1.     成本:

MySQL无疑是目前开源数据库的典范

Oracle属于商用数据库,一般按照客户端数量或CPU内核来收取licence(以Oracle10G R2企业版来计算 30W左右/CPU

2.     开发:

MySQL在存储过程中的表现不够理想,在5.0之后的版本才开始支持Procedure

Oracle在开发上是具有相当出色的表现的,包括存储过程、触发器、函数等,并且Oracle是采用PL/SQL机制,对子查询语句、自定义聚集都有很好的支持

3.     备份及恢复策略:

MySQL所提供的备份及恢复策略相对来说是比较简单的,对于备份及恢复策略也相对简单(采用mysqldump

ORACLE提供了非常健全的备份恢复策略(例如RMAN),尤其可以使用热备份,保证了系统可以恢复到任一时刻

4.     事务及会话管理:

MySQL是通过2中表类型(MyISAMInneDB)来区分事务表和非事物表的,对于当前的应用项目(尤其交易系统)对事务的要求是尤其重要的,MYSQL在这方面没有非常突出的表现,在4.1之后的版本开始支持

Oracle是通过SGAPGA进行管理的,在这块是非常完善的

5.     大数据量及并发:

MySQL在大数据量方面一直处于一个非常大的弱项,针对高并发虽然也有比较多的成功案例,但是基本上只能应对中小型项目(PV每日百万)

Oracle在大数据表方面可以使用分区表、索取表索引来提供性能和方便管理,在高并发方面也非常突出(Oracle的典型强项之一)

6.     高可用性构架:

MySQL必须借助第三方工具来达到一些高可用性(例如HAProxyHeartbeat等),它本身的Replication/Cluster也只能承受相对小的流量

Oracle有很多产品提供支持,例如DataGaurdStreamRAC

 

总结:

从上面的分析来看,MySQL除了成本方面确实没有比Oracle突出的地方,主要原因Oracle是商业关系型数据库,有版权公司对其进行支持,MySQL属于开源数据库,并没有商业支持

在数据库方案设计时,可以通过应用的解剖重组、第三方软件+MySQL Cluster/Repliaction同时使用进行方案解决

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/111631/viewspace-588846/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/111631/viewspace-588846/

;