本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
沃趣团队凭借着多年的运维经验,为行业客户提供专业数据库、系统相关的服务和产品。《千金良方——MySQL性能优化金字塔法则》是其核心团队的呕心力作,全书细致地介绍MySQL的基本原理,以及性能优化的实际案例。
无论你是MySQL初学者,还是专门从事MySQL工作的开发人员和运维人员,或者是资深的MySQL DBA,都值得一读!
《千金良方——MySQL性能优化金字塔法则》一共分为3篇:基础篇、案例篇和工具篇。“基础篇”从理论基础和基本原理层面介绍了MySQL的安装与配置、升级和体系结构,information_schema、sys_schema、performance_schema和mysql_schema,MySQL复制,MySQL事务,SQL语句优化及架构设计基础知识。“案例篇”从硬件和系统、MySQL架构等方面给出了性能优化的十几个案例,包括:性能测试的基本优化思路和需要关注的性能指标解释、对日常SQL语句执行慢的基本定位、避免x86可用性的一般性方法、节能模式会怎样影响性能、I/O存储作为数据库重要的依赖是如何影响数据库性能的、主备复制不一致可能有哪些原因、字符集不一致会造成哪些性能问题、在实际场景中锁的争用是怎样的。“工具篇”介绍了在MySQL性能优化过程中需要用到的各种工具,包括:dmidecode、top、dstat等硬件和系统排查工具;FIO、sysbench、HammerDB等压力测试工具;mysqldump、XtraBackup等备份工具;Percona、innotop、Prometheus等监控工具。
李春,原阿里巴巴MySQL DBA团队技术Leader,全程参与阿里数据库架构从Oracle迁移到MySQL的过程,参与分布式中间件Cobar设计。现为沃趣科技联合创始人&首席架构师,负责MySQL、基础软件及部分关键组件的技术选型、风险评估等。
罗小波,沃趣科技高级数据库工程师,主要负责MySQL产品的数据库支撑与售后二线支撑。曾参与版本发布系统、轻量级监控系统、运维管理平台、数据库管理平台的设计与编写,熟悉MySQL体系结构,Innodb存储引擎,喜好专研开源技术,多次在公开场合做过线下线上数据库专题分享,发表过多篇与数据库相关的研究文章。
董红禹,沃趣科技MySQL DBA , 为过多家大型企业进行过故障解决、架构设计、性能优化,例如中信证券、浙江农信、陕西农信、邮储银行等。规划并实施了浙江农信互联网核心金融平台。
推荐序1
本书作者李春是阿里巴巴较为早期的DBA之一,罗小波和董红禹则都是知数堂的优秀校友。有一次我偶然知道了罗小波的经历,非常令人赞叹,这么努力的人理应获得如此成就。
注意到罗小波是因为他的投稿文章“MySQL排序内部原理探秘”,该文章真的是从头到尾、从上到下全方位解读了MySQL内部排序的方方面面。再后来,又关注到罗小波推出PFS和sys schema系列连载文章,更是对其静心深入学习的能力表示钦佩,整个系列文章翔实、细致、到位。另外,董红禹的功底也非常深厚,他对除MySQL外的其他数据库也有较多了解。二位同学曾多次被知数堂邀请做公开课分享。
除此之外,我曾感叹沃趣培养出了不少好工程师,其人才体系肯定有很多可学之处,于是也邀请了李春来知数堂做公开课分享,就是希望能把他们的人才培养机制分享给业界。
拿到本书书稿,我快速浏览了“案例篇”的全部内容,发现几乎都是精华,里面涉及了相当多的经典案例解析,如果能从这些案例中吸收解决问题的思路,那么相信读者以后若遇到其他问题,基本上都可以解决。
本书既有涉及体系结构、PFS、I_S、统计信息、复制、锁、InnoDB等基础知识的铺垫(其实并不基础),又有众多案例详解,内容丰富、翔实,是难得一见的MySQL性能优化参考书,建议每位DBA以及从事MySQL相关应用开发的读者都读一读。
说一个段子。我曾经开玩笑地说,大家以后要买书的话,记得先看有没有我给写的推荐序,如果有的话,那就放心买,如果没有的话,那就要谨慎点了。本书我是推荐的,所以大家可以放心大胆买。嘿嘿。
叶金荣
推荐序2
小学课本告诉我们,蒸汽机是瓦特看到水壶被水蒸气顶起来以后冥思苦想发明出来的。但实际情况其实是,17世纪末期,托马斯•纽克曼(Thomas Newcomen)发明了体积庞大的“蒸汽机”,利用蒸汽的力量把煤矿里的水抽出来,避免了矿井透水、积水的问题。1765年,詹姆士•瓦特(James Watt)发明了分离式冷凝器,改进了纽克曼蒸汽机,使得蒸汽机的效率提升了4倍。当然,纽克曼蒸汽机也不是凭空出现的,纽克曼蒸汽机是基于Thomas Savery发明的Savery蒸汽泵的,继续往前追溯,可以追溯到公元1世纪古希腊力学家希罗(Heron of Alexandria)发明的汽转球。
我并不否认瓦特的贡献,正是有了他对蒸汽机做功效率的改变,才提升了煤炭、钢铁的产量,促进了轮船、火车的产生,才有了工业革命。我这里想说的是人们很早就发现了蒸汽做功的理论,但是把它利用起来,把它真正用于我们的生产生活中来提高生产效率的过程是曲折而漫长的,理论和原理的发明是耀眼的明星,工程化实践和持续不断的改进却像星光传到我们的眼睛一样,需要经过漫长的过程,凝聚着很多“无名”科学家和工程师的努力与心血。
MySQL之父Monty(Michael Widenius)在1981年写了MySQL的一行代码以后,在开源的帮助下MySQL成长为目前流行的开源数据库,同样其也凝聚了非常多的开发者、DBA、工程师的心血。2009年,在MySQL被Oracle收购以后,47岁的Monty开发了MariaDB分支,到现在MariaDB也已经10年了,他仍然亲自参与写代码,并且负责大部分代码的Review工作,我作为MariaDB基金会的中国成员在跟Monty一起Review代码时,经常会叹服老爷子对全局的把控能力和对细节的严谨态度。2016年当Monty在阿里巴巴交流分享时,我问Monty:“你怎么看阿里巴巴在MySQL方面的能力以及贡献?”他说:“你贡献的多源复制和闪回功能,对MariaDB很有用,因此我觉得你和你的团队是很有能力的,也希望能获得更多的来自各大厂商和社区的贡献。”
MySQL之所以能成为现在流行的开源数据库,它跟它的开放性、包容性是分不开的。它的入门门槛低到用一条命令就能把MySQL安装起来,你能在程序开发的入门资料中很容易就找到MySQL的配套使用教程,你可以不用付任何费用就能在自己的环境中部署起来对外承载业务。我之前提交的代码补足了MySQL在某些方面的功能,是对它的贡献;苏普验证测试时发现MySQL 5.6的半同步Bug汇报给社区,是对它的贡献;李春他们撰写MySQL书籍,也是对它的贡献。我和阿里巴巴的其他同事翻译《高性能MySQL》时就体会到了出版一本书的艰辛,所以看到《千金良方:MySQL性能优化金字塔法则》这本沉甸甸的书时,完全能感受到三位作者在写书时的痛苦与艰辛。
MySQL从5.5版本开始引入performance_schema,从5.6版本开始把默认值设置为on,我个人认为从5.7版本(对应MariaDB 10.1)开始它才真正成熟起来。从某种程度上说,performance_schema的引入对MySQL来说可以类比于瓦特发明分离式冷凝器改进蒸汽机,使得开发人员或者DBA对MySQL的性能损耗能准确定位到源码层级,对MySQL的管控也可以更加精细化。这本书是我了解到的一本体系化介绍performance_schema的书,对MySQL性能优化有兴趣的读者可以参阅。
另外,本书“案例篇”也是我见过的相对比较系统化介绍性能优化方面的内容,从服务器、操作系统、MySQL、SQL和锁方面整体梳理了MySQL性能优化的方方面面,相关案例都具有代表性,很值得参考和验证,也希望读者能参考案例来验证和测试,并举一反三,结合自己环境的实际场景构建起性能改进的方法论。
蒸汽机的改进不是一蹴而就的,性能的改进也是贯穿整个MySQL发展史的,就像瓦特改进蒸汽机引发了工业革命一样,我希望本书的出版能进一步促进大家对MySQL/MariaDB性能优化的关注,能为流行的开源数据库MySQL/MariaDB大厦添砖加瓦。
彭立勋
推荐序3
我先说一个笑话。这个笑话是我从万维钢的专栏里看到的。
三个逻辑学家走进酒吧,酒保问他们,三位都喝啤酒吗?
一个逻辑学家说,我不知道。
第二个逻辑学家说,我不知道。
第三个逻辑学家说,是的。
这个笑话有点冷,需要用一点逻辑才能欣赏。要想否定“三人都喝啤酒”,只要有一个人知道自己不喝就行了。前两个逻辑学家说不知道,就说明他们自己是想喝的,只是不知道别人喝不喝。而第三个人一看前两个人都说不知道,那就说明这两个人肯定都是要喝的,而他自己也想喝啤酒,所以他就可以判断三人都想喝啤酒。
他们的回答有点怪,但是非常准确。
为什么要讲这个故事呢?因为我的这三位同事李春、罗小波、董红禹在我头脑里的画像都是非常认真和讲究逻辑的人。这种认真和严谨,你在书中的每一页都能感受到。相信通过这本书的系统性训练,你也能感受到这种思维方式的美,也能获得这种思维方式。“授人以鱼,不如授之以渔。”具备优秀的思维能力才是在未来可以迁移的能力,如果只是学习一些命令,则很快会过时,思维能力和学习能力的提升才是不会变的东西。
说回到这本书。
对这本书的起心动念,我是有功劳的,所以李春邀请我来写序,也就很痛快地答应了。
一年前我们在想,我们有着业界很棒的MySQL团队,为什么不能将这些知识和经验以一种更容易传播的方式贡献给大家呢?
沿着这个思路,想到了两种载体,一种是产品,这也是沃趣一直在做的,未来也会一直持续做;一种是书籍,书籍其实也是一种产品,因为它也是标准化的、极容易复制的。因此,团队中在MySQL技术上颇有追求和建树的几个人碰头一聊,大家一拍即合。
起心动念容易,甚至一度让我们很兴奋,但是落地难,尤其是在做了管理者带了团队之后,更能意识到这一点,提建议(起心动念)是没有成本的,但是具体做这件事、落地这件事的人是需要忍受寂寞、付出巨大努力的。
我在他们的写作群里,见证了写书过程中的所有艰辛。好在一年的时间,坚持下来了,成果就是各位手里拿到的这本书。
学知识,如果说有捷径,那就是选择几本靠谱的、高质量的书籍,站在巨人的肩膀上,这是高起点和借势。
这本书可以让你体验到原有知识从破碎到重建的过程,只有能打破你现有认知的书籍才是好书籍,打破之后,如果你能够重建起基于新认知的知识大厦,你就重生了。对于认知是如此,对于心智、对于各种成长莫不如此。格物致知,相信通过努力学习这本书,会带给你底层认知的提升。
在这里也要恭喜我的几位同事:李春、罗小波、董红禹,写书是大多数技术人员的梦想,人类从一开始就追求不朽,立言是一种极好的方式,儒家讲立德、立功、立言,写书就是立言的好方式。此外,道家通过修炼达到肉身不死来实现不朽,佛教通过觉悟实现不朽,这两种方式不是我辈可以企及的。说了这么多,其实是想呼吁更多的人加入写书的队伍,授人玫瑰,手留余香。
分享我很喜欢的一句话,“你的样子里,有你爱过的人,走过的路,看过的风景,读过的书”。相信通过对这本书的学习,一定可以让你的气质变得不一样!
魏兴华