《高性能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
《高性能MySQL(第3版)》【PDF】下载的更多相关文章
- 《决战大数据:驾驭未来商业的利器》【PDF】下载
内容简介 大数据时代的来临,给当今的商业带来了极大的冲击,多数电商人无不"谈大数据色变",并呈现出一种观望.迷茫.手足无措的状态.车品觉,作为一名经验丰富的电商人,在敬畏大数据的同 ...
- 大数据时代的图表可视化利器——highcharts,D3和百度的echarts
大数据时代的图表可视化利器——highcharts,D3和百度的echarts https://blog.csdn.net/minidrupal/article/details/42153941 ...
- 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试
决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...
- 决战大数据之二:CentOS 7 最新JDK 8安装
决战大数据之二:CentOS 7 最新JDK 8安装 [TOC] 修改hostname # hostnamectl set-hostname node1 --static # reboot now 重 ...
- 学习推荐《零起点Python大数据与量化交易》中文PDF+源代码
学习量化交易推荐学习国内关于Python大数据与量化交易的原创图书<零起点Python大数据与量化交易>. 配合zwPython开发平台和zwQuant开源量化软件学习,是一套完整的大数据 ...
- asp.net大数据导出execl实现分开压缩并下载
asp.net大数据导出execl实现分开压缩并下载 /// <summary> /// 导出数据到EXCEL 多个表的 /// </summary> /// <para ...
- 基于Greenplum Hadoop分布式平台的大数据解决方案及商业应用案例剖析
随着云计算.大数据迅速发展,亟需用hadoop解决大数据量高并发访问的瓶颈.谷歌.淘宝.百度.京东等底层都应用hadoop.越来越多的企 业急需引入hadoop技术人才.由于掌握Hadoop技术的开发 ...
- 关于大数据时代传统商业存储的思考: 中心存储 VS 分布式存储
尊重原创,转载请注明出处:http://anzhan.me ; http://blog.csdn.net/anzhsoft 今天和我们部门的老大1*1, 大家面对面沟通了一下到新的项目组的想法.而且也 ...
- cloudera cdh6.3 离线安装 经典大数据平台视频教程(含网盘下载地址)
cdh6.3企业级大数据视频教程 链接:https://pan.baidu.com/s/1bLGrIwzpFQB-pQRb6KOmNg 提取码:i8h8 系统和软件版本1,操作系统:Centos7.6 ...
- 大数据之路week06--day01(VMware的下载与安装、安装CentOS)
好了,从今天开始就开始正式的进入大数据道路的轨道上了,当然了,Java 也是需要不断地在日后进行反复地学习,熟练掌握.(这里我要说一下,Java种还有一些I/O流.Lambda表达式和一些常用工具类有 ...
随机推荐
- SSD中的GC机制以及Trim
GC(Garbagecollection)垃圾回收 所谓GC就是把一个闪存块里的"有效"页数据复制到一个"空白"块里,然后把这个块完全擦除.GC是 SSD里的 ...
- 自己动手修改Robotium代码(上)
Robotium作为Android自动化测试框架,还有许多不完善的地方,也不能满足测试人员的所有要求.那么,本文以四个实际中碰到的问题为例,介绍改动Robotium源码的过程. public bool ...
- Qt----拖拽
最近比较忙,今天此才有时间来继续学习下Qt.Qt的拖拽可以按字面意思分为拖和拽两部分.一般来说我们常见的拖拽分别由两个程序合作完成.例如我们经常把桌面的文件拖拽进其他目录: 这个拖拽在Qt中由两方合作 ...
- Celery 源码解析七:Worker 之间的交互
前面对于 Celery 的分布式处理已经做了一些介绍,例如第五章的 远程控制 和第六章的 Event机制,但是,我认为这些分布式都比较简单,并没有体现出多实例之间的协同作用,所以,今天就来点更加复杂的 ...
- BST 解析 (一)
这篇博文主要初步介绍Binary Search Tree(BST)的一些基本功能以及应用场景,由于BST的相关知识比较多,下一节会接着补充BST的一些功能.这一节主要分为以下三个要素: BST 的定义 ...
- Less的Extend_Less继承
Extend就相当于Java的继承,它允许一个选择器继承另一个选择器的样式.Extend有两种语法格式. 一种是: <selector>:extend(<parentSelector ...
- JavaScript--我发现,原来你是这样的JS:函数表达式和闭包
一.介绍 本次博客主要介绍函数表达式的内容,主要是闭包. 二.函数表达式 定义函数的两种方式:一个是函数声明,另一个就是函数表达式. //1.函数声明写法 function fn2(){ consol ...
- 服务器获取浏览器发送请求中的cookies,选取自己需要的cookie
String cookieName = “userID”; // 设置自己需要的cookie名 Cookie cookies[] = request.getCookies(); // 获取请求中的所有 ...
- Libevent 事件循环(2)---事件被加入激活队列
由Libevent 事件循环(1) 在上文中我们提到了libevent 事件循环event_dispatch 的大致过程,以epoll为例,我们看一下事件被如何加入激活队列. //在epoll_dis ...
- NYOJ-2359: 巴什博弈?
2359: 巴什博弈? 时间限制: 1 Sec 内存限制: 30 MB 提交: 263 解决: 55 [提交][状态][讨论版] 题目描述 有n个石子,有两人轮流从中取石子,最少a个最多b个,谁没 ...