1.2.3 MySQL的应用环境
目前MySQL用户已经达千万级别,其中不乏企业级用户。可以说MySQL是目前最为流行的开源数据库管理系统软件。任何产品都不可能是万能的,也不可能适用于所有的应用场景。MySQL主要在以下几个场景进行应用。
1.Web网站系统
Web站点是MySQL最大的客户群,也是MySQL发展史上最为重要的支撑力量。MySQL之所以能成为Web站点开发者们青睐的数据库管理系统,是因为MySQL数据库的安装配置都非常简单,使用过程中的维护也不像很多大型商业数据库管理系统那么复杂,并且性能出色。还有一个非常重要的原因就是MySQL是开放源代码的,完全可以免费使用。
2.日志记录系统
MySQL数据库的插入和查询性能都非常高效,如果设计较好,在使用MyISAM存储引擎的时候,两者可以做到互不锁定,达到很高的并发性能。所以,对需要大量的插入和查询日志记录的系统来说,MySQL是非常不错的选择。比如,处理用户的登录日志、操作日志等,都是非常适合的应用场景。
3.数据仓库系统
随着现在数据仓库数据量的飞速增长,需要的存储空间越来越大。数据量的不断增长,使数据的统计分析变得越来越低效,也越来越困难。这里有几个主要的解决思路:第一个是采用昂贵的高性能主机以提高计算性能,用高端存储设备提高I/O性能,效果理想,但是成本非常高;第二个是通过将数据复制到多台使用大容量硬盘的廉价PC Server上,以提高整体计算性能和I/O能力,效果尚可,存储空间有一定限制,成本低廉;第三个是通过将数据水平拆分,使用多台廉价的PC Server和本地磁盘来存放数据,每台机器上面都只有所有数据的一部分,解决了数据量的问题,所有PC Server一起并行计算,也解决了计算能力问题,通过中间代理程序调配各台机器的运算任务,既可以解决计算性能问题,又可以解决I/O性能问题,成本也很低廉。在上面的三个方案中,实现第二个和第三个,都使MySQL有较大的优势。通过MySQL的简单复制功能,可以很好地将数据从一台主机复制到另外一台,不仅仅在局域网内可以复制,在广域网同样可以。当然,很多人可能会说,其他的数据库同样也可以做到,不是只有MySQL有这样的功能。确实,很多数据库同样能做到,但是MySQL是免费的,其他数据库大多都是按照主机数量或者CPU数量来收费。当使用大量的PC Server的时候,license费用相当惊人。第一个方案,基本上所有数据库系统都能够实现,但是其高昂的成本并不是每一个公司都能够承担的。
4.嵌入式系统
嵌入式环境对软件系统最大的限制是硬件资源非常有限,在嵌入式环境下运行的软件系统,必须是轻量级低消耗的软件。
MySQL在资源的使用方面的伸缩性非常大,可以在资源非常充裕的环境下运行,也可以在资源非常少的环境下正常运行。它对于嵌入式环境来说,是一个非常合适的数据库系统,并且MySQL有专门针对嵌入式环境的版本。