MySQL性能调优-1.MySQL基本介绍
MySQL基本介绍
功能比较
在可编程支持方面,MySQL 和其他数据库相比还有一定的差距, 虽然最新版的MySQL 已经开始提供一些简单的可编程支持,
如开始支持 Procedure,Function,Trigger 等,但 是所支持的功能还比较有限, 和其他几大商用数据库管理系统相比,
还存在较大的不足如。Oracle 有强大的 PL/SQL,SQL Server 有 T-SQL,PostGreSQL 也有功能很完善的 PL/PGSQL 的支持。
易用性比较
从系统易用性方面来比较, 每一个使用过MySQL的用户都能够明显地感觉出MySQL在这
方面与其他通用数据库管理系统之间的优势所在。 尤其是相对于一些大型的商业数据库理管系统如 Oracle、DB2 以及 Sybase 来说,
对于普通用户来说,操作的难易程度明显不处于一个级别。MySQL 一直都奉行简单易用的原则,也正是靠这一特性,
吸引了大量的初级数据库用户最终选择了 MySQL。也正是这一批又一批的初级用户,在经过了几年时间的成长之后,
很多都已经成为了高级数据库用户,而且也一直都在伴随着MySQL 成长。
性能比较
性能方面, 一直是MySQL 引以为自豪的一个特点。 在权威的第三方评测机构多次测试较量各种数据库 TPCC 值的过程中,
MySQL 一直都有非常优异的表现,而且在其他所有商用的 通用数据库管理系统中,仅仅只有Oracle 数据库能够与其一较高下。
至于各种数据库详细 的性能数据, 我这里就不便记录, 大家完全可以通过网上第三方评测机构公布的数据了具解体细节信息。
MySQL 一直以来奉行一个原则,那就是在保证足够的稳定性的前提下,尽可能的提高自身的处理能力。 也就是说,
在性能和功能方面MySQL 第一考虑的要素主要还是性能,MySQL 希望自己是一个在满足客户99%的功能需求的前提下,
花掉剩下的大部分精力来性能努力, 而不是希望自己是成为一个比其他任何数据库的功能都要强大的数据库产品。
可靠性
关于可靠性的比较, 并没有太多详细的评测比较数据, 但是从目前业界的交流中可了以解到,
几大商业厂商的数据库的可靠性肯定是没有太多值得怀疑的。 但是做为开源数据管库 理系统的代表,MySQL也有非常优异的表现,
而并不是像有些人心中所怀疑的那样,因为不是商业厂商所提供,就会不够稳定不够健壮。从当前最火的Facebook这样大型的网站都是使用 MySQL 数据库,
就可以看出,MySQL在稳定可靠性方面,并不会比我们的商业厂商的产品有太多逊色。而且排在全球前10位的大型网站里面,
大部分都有部分业务是运行在MySQL 数据库环境上,如 Yahoo,Google 等。
MySQL适用场景
Web 网站系统
- Web 站点,是 MySQL 最大的客户群,也是MySQL 发展史上最为重要的支撑力量,这一点
在最开始的 MySQL Server 简介部分就已经说明过。
MySQL 之所以能成为 Web 站点开发者们最青睐的数据库管理系统, 是因为MySQL 数据库 的安装配置都非常简单,使用过程中的维护也不像很多大型商业数据库管理系统那么复杂, 而且性能出色。还有一个非常重要的原因就是MySQL 是开放源代码的,完全可以免费使用。
- Web 站点,是 MySQL 最大的客户群,也是MySQL 发展史上最为重要的支撑力量,这一点
日志记录系统
- MySQL 数据库的插入和查询性能都非常的高效,如果设计地较好,在使用 MyISAM 存储
引擎的时候, 两者可以做到互不锁定, 达到很高的并发性能。 所以, 对需要大量的插入和查询日志记录的系统来说,MySQL 是非常不错的选择。 比如处理用户的登录日志, 操作日志等,都是非常适合的应用场景。
- MySQL 数据库的插入和查询性能都非常的高效,如果设计地较好,在使用 MyISAM 存储
数据仓库系统
- 随着现在数据仓库数据量的飞速增长, 我们需要的存储空间越来越大。 数据量的不增断长,
使数据的统计分析变得越来越低效,也越来越困难。 怎么办?这里有几个主要的解决思路, 一个是采用昂贵的高性能主机以提高计算性能,
用高端存储设备提高I/O 性能,效果理想,但是成本非常高;第二个就是通过将数据复制到多台使用大容量硬盘的廉价pc server 上,
以提高整体计算性能和I/O 能力, 效果尚可, 存储空间有一定限制, 成本低廉; 第三个,通过将数据水平拆分,
使用多台廉价的pc server 和本地磁盘来存放数据, 每台机器上面都 只有所有数据的一部分,解决了数据量的问题,所有pc server一起并行计算,
也解决了计算能力问题, 通过中间代理程序调配各台机器的运算任务, 既可以解决计算性能问题又可以解决 I/O 性能问题,成本也很低廉。
在上面的三个方案中,第二和第三个的实现,MySQL都有较大的优势。 通过MySQL的简单复制功能, 可以很好的将数据从一台主机复制到另外一台,
不仅仅在局域网内可以复制, 在广域网同样可以。 当然,很多人可能会说,其他的数据库同样也可以做到, 不是只有 MySQL 有这样的功能。
确实, 很多数据库同样能做到, 但是MySQL 是免费的,其他数据库大多都是按照主机数量或者 cpu 数量来收费,
当我们使用大量的 pc server 的时候,license 费用相当惊人。第一个方案,基本上所有数据库系统都能够实现,
但是其高昂的成本并不是每一个公司都能够承担的。
- 随着现在数据仓库数据量的飞速增长, 我们需要的存储空间越来越大。 数据量的不增断长,
嵌入式系统
- 嵌入式环境对软件系统最大的限制是硬件资源非常有限, 在嵌入式环境下运行的软系件统,必须是轻量级低消耗的软件。
MySQL 在资源的使用方面的伸缩性非常大,可以在资源非常充裕的环境下运行,也可以在资源非常少的环境下正常运行。
它对于嵌入式环境来说,是一种非常合适的数据库系统, 而且 MySQL 有专门针对于嵌入式环境的版本。
- 嵌入式环境对软件系统最大的限制是硬件资源非常有限, 在嵌入式环境下运行的软系件统,必须是轻量级低消耗的软件。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 yanglau0527@gmail.com
文章标题:MySQL性能调优-1.MySQL基本介绍
文章字数:1.8k
本文作者:Cynaith
发布时间:2020-06-06, 15:12:38
最后更新:2020-06-06, 15:19:18
原始链接:https://cynaith.github.io/2020/06/06/MySQL%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98-1-MySQL%E5%9F%BA%E6%9C%AC%E4%BB%8B%E7%BB%8D/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。