《高性能MySQL(第3版)》【PDF】下载

内容简介

《高性能mysql(第3版)》是mysql 领域的经典之作,拥有广泛的影响力。第3
版更新了大量的内容,不但涵盖了最新mysql
5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16
章和6 个附录,内容涵盖mysql 架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的mysql
和mysql相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。

《高性能mysql(第3版)》不但适合数据库管理员(dba)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。

作者简介

Baron Schwartz 是一位软件工程师,居住在弗吉尼亚州的Charlottesville,网络常用名是Xaprb,这是按照QWERTY 键盘的顺序在Dvorak 键盘上打出来的名字。在不忙于解决有趣的编程挑战时,Baron 会和他的妻子Lynn 以及小狗Carbon 一起享受闲暇的时光。他有一个软件工程方面的博客,地址是http://www.xaprb.com/blog/

Peter Zaitsev 曾经是MySQL
AB 公司高性能组的经理,目前在运作mysqlperformance

blog.com 网站。他擅长于帮助那些每天有数以百万计访问量的网站的管理员解决问题,这些网站通常需要几百台机器来处理TB
级的数据。他常常为了解决一个问题而不停地升级硬件和软件(比如查询优化)。Peter 还经常在各种会议上演讲。

Vadim Tkachenko 曾经是MySQL AB 公司的性能工程师。作为一名在多线程编程和同步方面的专家,他的主要工作是基准测试、性能剖析,以及找出系统的性能瓶颈。他还在性能监控和调优方面做了一些工作,使得MySQL
在多核机器上有更好的可扩展性。

译者简介

宁海元 有超过十年的数据库管理经验,从最初到SQL Server 2000到Oracle到MySQL,擅长数据库高可用架构,性能优化和故障诊断。2007年加入淘宝,带领淘宝DBA团队支撑了淘宝业务的快速增长,完成了数据库的垂直拆分、水平拆分,迁移到MySQL体系等主要工作。目前专注于无线数据领域。网络常用名NinGoo,个人博客:http://www.ningoo.net

周振兴 毕业于北京师范大学数学系,09年加入淘宝数据库团队负责MySQL运维管理工作,有丰富的MySQL性能优化、Troubleshooting经验,对MySQL主要模块的实现和原理有深入的研究,经历淘宝MySQL实例从30到3000的发展,对系统架构、高可用环境规划都有深入理解。个人博客:http://orczhou.com

彭立勋 2010年大学毕业后加入阿里巴巴运维部。作为一名MySQL
DBA,在运维MySQL的过程中,对MySQL和InnoDB的一些功能和缺陷就进行了补充,编写了多主复制和数据闪回等补丁。目前在阿里集团核心系统研发部数据库组,专注于MySQL数据库相关的开发工作。后来一些补丁被MySQL之父Mony看中,成为MariaDB提交组(Maria-captains)成员,并且把多主复制,线程内存监控等补丁合并到了MariaDB
10.0版本。

翟卫祥 毕业于武汉大学,研究生阶段从事数据库相关研究。毕业后就职于阿里巴巴集团数据库技术团队至今,主要负责阿里内部MySQL代码分支维护,包括MySQL
Bug Fix及新特性开发。对MySQL内核有一定的研究。

刘辉 2008年毕业于西安电子科技大学计算机系,硕士学位。2011年加入阿里巴巴集团数据库技术团队,花名希羽,MySQL内核开发工程师。

目录

推荐序 xxiii
前言
xxv
第1
章 mysql
架构与历史 1
1.1
mysql 逻辑架构 1
1.1.1
连接管理与安全性2
1.1.2
优化与执行 3
1.2
并发控制 3
1.2.1
读写锁 4
1.2.2
锁粒度 4
1.3
事务6
1.3.1
隔离级别 8
1.3.2
死锁 9
1.3.3
事务日志 10
1.3.4
mysql 中的事务 10
1.4
多版本并发控制 12
1.5
mysql 的存储引擎 13
1.5.1
innodb 存储引擎 16
1.5.2
myisam 存储引擎 17
1.5.3
mysql 内建的其他存储引擎 19
.1.5.4
第三方存储引擎 22
1.5.5
选择合适的引擎 24
1.5.6
转换表的引擎 27
1.6
mysql 时间线(timeline) 29
1.7
mysql 的开发模式 32
1.8
总结 33
第2
章 mysql
基准测试 35
2.1
为什么需要基准测试 35
2.2
基准测试的策略 37
2.2.1
测试何种指标 38
2.3
基准测试方法 40
2.3.1
设计和规划基准测试 41
2.3.2
基准测试应该运行多长时间 42
2.3.3
获取系统性能和状态 43
2.3.4
获得准确的测试结果 44
2.3.5
运行基准测试并分析结果 46
2.3.6
绘图的重要性 47
2.4
基准测试工具 49
2.4.1
集成式测试工具 49
2.4.2
单组件式测试工具 50
2.5
基准测试案例 52
2.5.1
http_load 53
2.5.2
mysql 基准测试套件 54
2.5.3
sysbench 55
2.5.4
数据库测试套件中的dbt2
tpc-c 测试 60
2.5.5
percona 的tpcc-mysql 测试工具 63
2.6
总结 65
第3
章 服务器性能剖析 67
3.1
性能优化简介 67
3.1.1
通过性能剖析进行优化 69
3.1.2
理解性能剖析 71
3.2
对应用程序进行性能剖析 72
3.2.1
测量php
应用程序 74
3.3
剖析mysql
查询 77
3.3.1
剖析服务器负载 77
3.3.2
剖析单条查询 81
3.3.3
使用性能剖析 87
3.4
诊断间歇性问题 88
3.4.1
单条查询问题还是服务器问题 89
3.4.2
捕获诊断数据 93
3.4.3
一个诊断案例 98
3.5
其他剖析工具 106
3.5.1
使用user_statistics 表
106
3.5.2
使用strace
107
3.6
总结 108
第4
章 schema
与数据类型优化 111
4.1
选择优化的数据类型 111
4.1.1
整数类型 113
4.1.2
实数类型 113
4.1.3
字符串类型 114
4.1.4
日期和时间类型 121
4.1.5
位数据类型 123
4.1.6
选择标识符(identifier) 125
4.1.7
特殊类型数据 127
4.2
mysql schema 设计中的陷阱 127
4.3
范式和反范式 129
4.3.1
范式的优点和缺点 130
4.3.2
反范式的优点和缺点 130
4.3.3
混用范式化和反范式化 131
4.4
缓存表和汇总表 132
4.4.1
物化视图 134
4.4.2
计数器表 135
4.5
加快alter table
操作的速度 136
4.5.1
只修改.frm
文件 137
4.5.2
快速创建myisam
索引 139
4.6
总结 140

...

《高性能MySQL(第3版)》【PDF】下载链接:  https://u253469.pipipan.com/fs/253469-230062560

时间: 2024-10-08 10:23:49

《高性能MySQL(第3版)》【PDF】下载的相关文章

读书笔记《软件开发者路线图—从学徒到高手》

<软件开发者路线图—从学徒到高手> 模式列表 另辟蹊径(A Different Road):你发现自己想要去的那个方向跟通往软件技能的道路并不相同. 只求最差(Be the Worst):当快速超越了周围的每一个人,你的学习速度下降了. 质脆玩具(Breakable Toys):你工作在一个不允许失败的环境中,却需要一个安全的环境来学习. 具体技能(Concrete Skills):你想到一个优秀的团队中工作,然而你掌握的实用技能很少. 正视无知(Confront Your Ignorance

《软件开发者路线图——从学徒到高手》—— 读后总结

这本书读起来很快,而且很多地方都感觉到了共鸣!收获还是不少的... 空杯心态 这是我最喜欢的一个主题,书中有一个故事: 意思是说,如果我们自己的心态不摆正,骄傲浮躁,不能静下心来好好学习,那么看再多的书也是无用的. 只有以一种求知的心态学习,才会有收获. 关于技能 对于软件开发者来说,在入职之前的学生时代应该广泛涉猎各种专业领域的书籍,尽量扩宽自己的知识面,为入职打下一个良好的基础. 在实习时,尽量保证快速的学习,以可用为目标,你不需要知道某个UI组件的实现原理,只需要知道怎么使用即可. 然后入

《软件开发者路线图:从学徒到高手》【PDF】下载

<软件开发者路线图:从学徒到高手>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196346 图书简介 作为一名软件开发者,你在奋力推进自己的职业生涯吗?面对今天日新月异和不断拓展的技术,取得成功需要的不仅仅是技术专长.为了增强专业性,你还需要一些软技能以及高效的学习技能.本书的全部内容都是关于如何修炼这些技能的.两位作者DaveHoover和Adewale Oshineye给出了数十种行为模式,来帮你提高主要的技能.本书中的模式凝结了多

读《软件开发者路线图:从学徒到高手》感悟

好长时间,没有读过一本书了. 这两天花了点时间,读了一本<软件开发者路线图:从学徒到高手>,感觉很不错,所以推荐给大家. 本来以为,作为一名合格的程序员只要会看文档和源码,就可以,看来我真的烦了一个很大错误呢,是不是你也有这个Bug ? 以前的我,总是喜欢 自己一个人摸索问题的答案,有的时候也不一定能够解决, 作为一名好的 程序员,要保持一个 谦卑的心,正如 乔帮主 所说的:"Stay foolish ,Stay hungry!" 学会,分享自己所学的知识,这样 会进步的更

《软件开发者路线图:从学徒到高手》

1.为什么要不断学习新东西: 专长带来的回馈是直接而切实的,但这样做的风险不会立即浮现出来,直到有一天你采取任何措施都为时已晚.当你的专长最终变得过时,你将被迫再次面临一大片无知领域,而此时你可能已经失去学习新东西的习惯,重新开始会比原来痛苦得多.在这种情况下,克服那种被压垮的感觉比解决问题本身更困难. 2.走上同一条路: 通过观察,并且与几个这样的杰出黑客交流,他发现自己离真正意义上的"杰出软件开发者"差远了.每隔一段时间,他就会去看一看这些黑客们所学知识的深度和广度,然后垂头丧气或

软件开发者路线图梗概&amp;书摘chapter1

软件技能的概念 本书目的:尝试为软件开发的新颖方法整理出一份宣言 原因:定义泛化 从敏捷开发运动中学到的经验:理解支撑规则的底层因素 软件技能的愿景:价值的提取&希望的表达 价值体系: 1.基于反馈作出改变 2.注重实效而非教条 3.分享 4.敢于实验.证明错误 5.掌控自己的命运 6.对个体而非群体的关注 7.包容性 8.以技能为中心 9.同那些使用你要学习的技能为目标的人共处 软件学徒:一种态度,不断寻找更好的方法 学徒期:责任感,渐进的过程 熟练工:新的关注:从业者之间的关系→提供指导.保

软件开发者路线图梗概&amp;书摘chapter2

空杯心态:放下对技能水平的自鸣得意 1.入门语言:学习一门语言,从实际问题入手→形成反馈回路 构建学习沙箱 利用实际代码,进行学习测试 学习一门语言:与精通该语言的专家一起工作,即找人指导 阅读他人的代码,分享经验 第一门语言:框架 深入挖掘语言&学习迥然不同的方法解决问题的语言 语言规范,通读他人写的标准库,打补丁,得到自己的通用法 2.白色腰带:学习进度降低,尊重与好奇的态度 用不同范式的语言来实现某种编程范式编写的程序 3.释放激情:热情与好奇心,需适应团队动态 思想的多样性→集体智慧 4

软件开发者路线图梗概&amp;书摘chapter5

恒久学习:整个职业生涯,反馈回路,了解弱点 1.提高带宽:多维度.高效获取知识 博客.关注twitter动态.订阅邮件列表.加入本地用户组.技术大会.联系书的作者.在线教程 从信息的海洋中回到实际软件制作 2.不断实践:可以犯错的环境实践 指导者布置练习并评价 通过路数实践 较短的周期性反馈,社区中公开练习 稍难的练习,每周重做,解决方法的改变 3.质脆玩具:当成功所得经验与失败一样多,追寻失败 个人wiki记录所学 4.使用源码:代码是最终裁决者 工具箱:阅读别人的代码.阅读最新代码.尝试重构

软件开发者路线图梗概&amp;书摘chapter7

软件工程是一门技艺 原因:理解不足以系统化 技能:为交付可以工作的软件 重要的原因:了解不足以将它写成可供别人直接运用并得到相同成果的格式 大多数程序员低于平均水平 工艺:一套高度重视技能的训练和传统 包括:学会.发扬.继承一种技能 绝对顺从权威是危险的 师傅不是用于称呼自己的,标准模糊 软件是一门新手艺,缺乏师傅 培养他人,达到甚至超越自己才华→师傅的潜力

软件开发者路线图梗概&amp;书摘chapter3

漫漫长路:自定路线,想象十年后 1.技重于艺:重视客户的交付价值 客户的解决方案与个人内在标准的平衡 2.持续动力:金钱.乐趣.名声 列出五项最重要的动力 3.培养激情:博客.钻研名著.加入学习小组.重定路线 清晰的界限保护激情 准备三个用于讨论的积极想法 4.自定路线:适合你的道路 职业目标→步骤具体化→第一步 协同与老板愿景一致的机会 不断重新评估路线 列举目前工作之后可从事的三项工作,之后再三项,之后再三项,共27项 5.使用头衔:公司的头衔仅娱乐 描述自己.为自己写头衔 6.坚守阵地:坚