MySql 与其余数据库简单比较

在事务支持方面,虽然MySQL本身的存储引擎并无提供,可是已经经过第三方插件式存储引擎Innodb实现了SQL92标准所定义的四个事务隔离级别的所有 
好比,你们所熟知的大名鼎鼎的Oracle数据库就仅仅实现了其中的两种(Serializable和ReadCommited),而PostGreSQL,一样支持四种隔离级别。
而PostGreSQL,一样支持四种隔离级别。

不过在可编程支持方面,MySQL和其余数据库相比还有必定的差距,虽然最新版的MySQL已经开始提供一些简单的可编程支持,如开始支持Procedure,Function,Trigger等,
可是所支持的功能还比较有限,和其余几大商用数据库管理系统相比,还存在较大的不足。

易用性比较

从安装方面来讲,MySQL安装包大小仅仅只有100MB左右,这几大商业数据库彻底不在一个数量级。
安装难易程度也要比Oracle等商业数据库简单不少,不管是经过已经编译好的二进制分发包仍是源码编译安装,都很是简单。

再从数据库建立来比较,MySQL仅仅只须要一个简单的CREATEDATABASE命令,便可在瞬间完成建库的动做,
而Oracle数据库与之相比,建立一个数据库简直就是一个很是庞大的工程。固然,两者数据库的概念存在必定差异也不能否认。

性能比较
性能方面,一直是MySQL引觉得自豪的一个特色。
在权威的第三方评测机构屡次测试较量各类数据库TPCC值的过程当中,MySQL一直都有很是优异的表现,并且在其余全部商用的通用数据库管理系统中,仅仅只有Oracle数据库可以与其一较高下。
MySQL但愿本身是一个在知足客户99%的功能需求的前提下,花掉剩下的大部分精力来性能努力,

可靠性 

关于可靠性的比较,并无太多详细的评测比较数据,可是从目前业界的交流中能够了解到,几大商业厂商的数据库的可靠性确定是没有太多值得怀疑的。
可是作为开源数据库管理系统的表明,MySQL也有很是优异的表现,而并非像有些人心中所怀疑的那样,由于不是商业厂商所提供,就会不够稳定不够健壮。
从当前最火的Facebook这样大型的网站都是使用MySQL数据库,就能够看出,MySQL在稳定可靠性方面,并不会比咱们的商业厂商的产品有太多逊色。
并且排在全球前10位的大型网站里面,大部分都有部分业务是运行在MySQL数据库环境上,如Yahoo,Google等。 
总的来讲,MySQL数据库在发展过程当中一直有本身的三个原则:简单、高效、可靠。从上面的简单比较中,咱们也能够看出,在MySQL本身的全部三个原则上面,没有哪一项是作得很差的。
并且,虽然功能并非MySQL自身所追求的三个原则之一,可是考虑到当前用户量的急剧增加,用户需求愈来愈越多样化,MySQL也不得不在功能方面作出大量的努力,来
不断知足客户的新需求。好比最近版本中出现的EentScheduler(相似于Oracle的Job功能),Partition功能,自主研发的Maria存储引擎在功能方面的扩展,
Falcon存储引擎对事务的支持等等,都证实了MySQL在功能方面也开始了不懈的努力。 任何一种产品,都不多是完美的,也不可能适用于全部用户。
咱们只有衡量了每一种产品的各类特性以后,从中选择出一种最适合于自身的产品。


MySQL 的主要适用场景 
那么MySQL到底在什么场景下适用什么场景下不适用呢? 
一、Web网站系统 Web站点,是MySQL最大的客户群,也是MySQL发展史上最为重要的支撑力量,这一点在最开始的MySQLServer简介部分就已经说明过。 MySQL之因此能成为Web站点开发者们最青睐的数据库管理系统,是由于MySQL数据库的安装配置都很是简单,
使用过程当中的维护也不像不少大型商业数据库管理系统那么复杂,
并且性能出色。还有一个很是重要的缘由就是MySQL是开放源代码的,彻底能够无偿使用。

二、日志记录系统 MySQL数据库的插入和查询性能都很是的高效,若是设计地较好在使用MyISAM存储引擎的时候,二者能够作到互不锁定,达到很高的并发性能。因此,对须要大量的插入和查询日志记录的系统来讲,MySQL是很是不错的选择。好比处理用户的登陆日志,操做日志等,都是很是适合的应用场景。

 三、数据仓库系统 随着如今数据仓库数据量的飞速增加,咱们须要的存储空间愈来愈大。数据量的不断增加,使数据的统计分析变得愈来愈低效,也愈来愈困难。怎么办?
 这里有几个主要的解决思路,一个是采用昂贵的高性能主机以提升计算性能,用高端存储设备提升I/O性能,效果理想,可是成本很是高;
 第二个就是经过将数据复制到多台使用大容量硬盘的廉价pcserver上,以提升总体计算性能和I/O能力,效果尚可,存储空间有必定限制,成本低廉;
 第三个,经过将数据水平拆分,使用多台廉价的pcserver和本地磁盘来存放数据,每台机器上面都只有全部数据的一部分,解决了数据量的问题,全部pcserver一块儿并行计算,也解决了计算能力问题,经过中间代理程序调配各台机器的运算任务,既能够解决计算性能问题又能够解决I/O性能问题,成本也很低廉

 在上面的三个方案中,第二和第三个的实现,MySQL都有较大的优点。经过MySQL的简单复制功能,能够很好的将数据从一台主机复制到另一台,不只仅在局域网内能够复制,在广域网一样能够。固然,不少人可能会说,其余的数据库一样也能够作到,不是只有MySQL有这样的功能。
 确实,不少数据库一样能作到,可是MySQL是免费的,其余数据库大多都是按照主机数量或者cpu数量来收费,
 当咱们使用大量的pcserver的时候,license费用至关惊人。第一个方案,基本上全部数据库系统都可以实现,
可是其高昂的成本并非每个公司都可以承担的。 

四、嵌入式系统 嵌入式环境对软件系统最大的限制是硬件资源很是有限,在嵌入式环境下运行的软件系统,必须是轻量级低消耗的软件。 
MySQL在资源的使用方面的伸缩性很是大,能够在资源很是充裕的环境下运行,也能够在资源很是少的环境下正常运行。
它对于嵌入式环境来讲,是一种很是合适的数据库系统,并且MySQL有专门针对于嵌入式环境的版本。








相关文章
相关标签/搜索