商品详情
书名:高性能MySQL(第4版)
定价:100.0
ISBN:9787121442575
作者:(美)Silvia Botros(西尔维亚·博特罗斯), Jeremy Tinley(杰里米·廷利)
版次:*1版
出版时间:2022-09
内容提要:
《高性能MySQL(第3版)》是MySQL 领域的**佳之作,拥有广泛的影响力。第4版更新了大量的内容,全书共分为16章和6 个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。《高性能MySQL(第4版)》不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。
作者简介:
Silvia Botros是Twilio的*级&席工程师。在SendGrid工作期间,她帮助部署和维护了各种MySQL数据存储,这些数据存储支持邮件管道和SendGrid提供的其他产品,并推动MySQL设计从开始到生产。 Jeremy Tinley是Etsy的*级职员工程师,拥有超过20年的MySQL经验。在他的职业生涯中,他管理了成千上万个MySQL实例,着眼于可用性、可靠性和运营效率。
宁海元有超过十年的数据库管理经验,从*初的SQLServer 2000到Oracle再到MySQL,擅长数据库高可用架构、性能优化和故障诊断。目前专注于无线数据领域。网络常用名NinGoo,周振兴毕业于北京师范大学数学系,2009年开始负责MySQL运维管理工作,有丰富的MySQL性能优化、Troubleshooting经验,对MySQL主要模块的实现和原理有深入的研究,对系统架构、高可用环境规划都有深入理解。张新铭,云掣*深数据库专家,网络常用名俊达,曾任淘宝、支付宝DBA,全程参与淘宝核心业务系统底层存储系统改造,参与建设支付宝MySQL标准化运维体系。对于数据库体系结构和运作原理有深入的理解,擅长大数据量和高访问量OLTP数据库的设计和优化。
目录:
序................................................................................. xxiii
前言............................................................................... xxv
本书第 4 版的致谢.............................................................. xxix
第 1 章 MySQL 架构............................................................ 1
MySQL 的逻辑架构 ...................................................................................................... 1
连接管理与安全性 ................................................................................................ 2
优化与执行............................................................................................................ 2
并发控制 ....................................................................................................................... 3
读写锁 ................................................................................................................... 3
锁的粒度 ............................................................................................................... 4
事务 .............................................................................................................................. 5
隔离级别 ............................................................................................................... 7
死锁 ....................................................................................................................... 8
事务日志 ............................................................................................................... 9
MySQL 中的事务 ................................................................................................ 10
多版本并发控制 .......................................................................................................... 12
复制 ............................................................................................................................ 13
数据文件结构 ............................................................................................................. 14
InnoDB 引擎 ............................................................................................................... 14
JSON 文档支持 ................................................................................................... 15
数据字典的变化 .................................................................................................. 16
原子 DDL ............................................................................................................ 16
小结 ............................................................................................................................ 16
第 2 章 可靠性工程世界中的监控..............................................17
可靠性工程对 DBA 团队的影响 ................................................................................. 18
定义服务水平目标 ...................................................................................................... 18
怎样才能让客户满意 ........................................................................................... 19
用什么来度量 ............................................................................................................. 20
定义 SLI 和 SLO ................................................................................................. 20
监控解决方案 ...................................................................................................... 21
监控可用性.......................................................................................................... 22
监控查询延迟 ...................................................................................................... 24
监控报错 ............................................................................................................. 24
主动监控 ............................................................................................................. 25
度量长期性能 ............................................................................................................. 31
了解业务节奏 ...................................................................................................... 31
有效地跟踪指标 .................................................................................................. 32
使用监控工具检查性能 ....................................................................................... 33
使用 SLO 来指导整体架构 .................................................................................. 34
小结 ............................................................................................................................ 34
第 3 章 Performance Schema........................................... 35
Performance Schema 介绍 ........................................................................................... 35
插桩元件 ............................................................................................................. 36
消费者表的组织 .................................................................................................. 37
资源消耗 ............................................................................................................. 39
局限性 ................................................................................................................. 39
sys Schema .......................................................................................................... 40
理解线程 ............................................................................................................. 40
配置 ............................................................................................................................ 41
启用或禁用 Performance Schema ........................................................................ 42
启用或禁用插桩 .................................................................................................. 42
启用或禁用消费者表 ........................................................................................... 43
优化特定对象的监控 ........................................................................................... 44
优化线程的监控 .................................................................................................. 45
调整 Performance Schema 的内存大小 ................................................................ 46
默认值 ................................................................................................................. 46
使用 Performance Schema ........................................................................................... 46
检查 SQL 语句 .................................................................................................... 46
检查读写性能 ...................................................................................................... 54
检查元数据锁 ...................................................................................................... 56
检查内存使用情况 .............................................................................................. 56
检查变量 ............................................................................................................. 59
检查*常见的错误 .............................................................................................. 62
检查 Performance Schema 自身 ........................................................................... 63
小结 ............................................................................................................................ 65
第 4 章 操作系统和硬件优化.................................................. 66
什么限制了 MySQL 的性能 ........................................................................................ 66
如何为 MySQL 选择 CPU ........................................................................................... 67
平衡内存和磁盘资源 .................................................................................................. 67
缓存、读取和写入 .............................................................................................. 67
你的工作集是什么 .............................................................................................. 68
固态存储 ..................................................................................................................... 68
闪存概述 ............................................................................................................. 69
垃圾收集 ............................................................................................................. 69
RAID 性能优化 ........................................................................................................... 70
RAID 故障、恢复和监控 .................................................................................... 72
RAID 配置和缓存 ............................................................................................... 73
网络配置 ..................................................................................................................... 75
选择文件系统 ............................................................................................................. 77
选择磁盘队列调度器 ........................................................................................... 79
内存和交换.......................................................................................................... 79
操作系统状态 ...................................................................................................... 81
其他有用的工具 .................................................................................................. 84
小结 ............................................................................................................................ 84
第 5 章 优化服务器设置....................................................... 86
MySQL 的配置是如何工作的 ..................................................................................... 87
语法、作用域和动态性 ....................................................................................... 88
持久化系统变量 .................................................................................................. 89
设置变量的副作用 .............................................................................................. 89
规划变量的更改 .................................................................................................. 90
什么不该做 ................................................................................................................. 91
创建 MySQL 配置文件 ............................................................................................... 92
*小化配置.......................................................................................................... 92
检查 MySQL 服务器的状态变量 ......................................................................... 94
配置内存使用 ............................................................................................................. 94
每个连接的内存需求 ........................................................................................... 94
为操作系统保留内存 ........................................................................................... 95
InnoDB 缓冲池 .................................................................................................... 95
线程缓存 ............................................................................................................. 96
配置 MySQL 的 I/O 行为 ............................................................................................ 97
InnoDB 事务日志 ................................................................................................ 98
日志缓冲区.......................................................................................................... 98
InnoDB 表空间 .................................................................................................. 100
其他 I/O 配置选项 ............................................................................................. 103
配置 MySQL 并发 ..................................................................................................... 103
安全设置 ................................................................................................................... 104
*级 InnoDB 设置 ..................................................................................................... 106
小结 .......................................................................................................................... 108
第 6 章 schema 设计与管理................................................109
选择优化的数据类型 ................................................................................................ 109
整数类型 ............................................................................................................111
实数类型 ............................................................................................................111
字符串类型........................................................................................................ 112
日期和时间类型 ................................................................................................ 117
位压缩数据类型 ................................................................................................ 119
JSON 数据类型 ................................................................................................. 121
选择标识符........................................................................................................ 124
特殊数据类型 .................................................................................................... 126
MySQL schema 设计中的陷阱 .................................................................................. 127
太多的列 ........................................................................................................... 127
太多的联接........................................................................................................ 127
全能的枚举........................................................................................................ 127
变相的枚举........................................................................................................ 128
NULL 不是虚拟值............................................................................................. 128
schema 管理 .............................................................................................................. 128
作为数据存储平台一部分的 schema 管理 ......................................................... 129
小结 .......................................................................................................................... 135
第 7 章 创建高性能的索引....................................................136
索引基础 ................................................................................................................... 136
索引的类型........................................................................................................ 137
使用索引的优点 ................................................................................................ 141
高性能的索引策略 .................................................................................................... 142
前缀索引和索引的选择性 ................................................................................. 142
多列索引 ........................................................................................................... 145
选择合适的索引列顺序 ..................................................................................... 147
聚簇索引 ........................................................................................................... 150
覆盖索引 ........................................................................................................... 157
使用索引扫描来做排序 ..................................................................................... 159
冗余和重复索引 ................................................................................................ 161
未使用的索引 .................................................................................................... 164
维护索引和表 ........................................................................................................... 164
找到并修复损坏的表 ......................................................................................... 165
更新索引统计信息 ............................................................................................ 165
减少索引和数据的碎片 ..................................................................................... 167
小结 .......................................................................................................................... 168
第 8 章 查询性能优化.........................................................170
为什么查询速度会慢 ................................................................................................ 170
慢查询基础 :优化数据访问 ..................................................................................... 171
是否向数据库请求了不需要的数据 .................................................................. 171
MySQL 是否在扫描额外的记录 ........................................................................ 173
重构查询的方式 ........................................................................................................ 177
一个复杂查询还是多个简单查询 ...................................................................... 177
切分查询 ........................................................................................................... 178
分解联接查询 .................................................................................................... 178
查询执行的基础 ........................................................................................................ 179
MySQL 的客户端 / 服务器通信协议 ................................................................. 180
查询状态 ........................................................................................................... 182
查询优化处理 .................................................................................................... 183
查询执行引擎 .................................................................................................... 196
将结果返回给客户端 ......................................................................................... 197
MySQL 查询优化器的局限性 ................................................................................... 197
UNION 的限制 .................................................................................................. 197
等值传递 ........................................................................................................... 198
并行执行 ........................................................................................................... 198
在同一个表中查询和更新 ................................................................................. 198
优化特定类型的查询 ................................................................................................ 199
优化 COUNT() 查询 .......................................................................................... 199
优化联接查询 .................................................................................................... 201
使用 WITH ROLLUP 优化 GROUP BY ............................................................ 201
优化 LIMIT 和 OFFSET 子句 ............................................................................ 202
优化 SQL_CALC_FOUND_ROWS ................................................................... 203
优化 UNION 查询 ............................................................................................. 204
小结 .......................................................................................................................... 204
第 9 章 复制....................................................................205
复制概述 ................................................................................................................... 205
复制如何工作 .................................................................................................... 207
复制原理 ................................................................................................................... 208
选择复制格式 .................................................................................................... 208
全局事务标识符 ................................................................................................ 208
崩溃后的复制安全 ............................................................................................ 210
延迟复制 ........................................................................................................... 210
多线程复制........................................................................................................ 211
半同步复制........................................................................................................ 214
复制过滤器........................................................................................................ 214
复制切换 ................................................................................................................... 216
计划内切换........................................................................................................ 216
计划外切换........................................................................................................ 217
切换时的权衡 .................................................................................................... 217
复制拓扑 ................................................................................................................... 217
主动 / 被动模式 ................................................................................................. 218
主动 / 只读池模式 ............................................................................................. 219
不推荐的一些拓扑架构 ..................................................................................... 220
复制管理和维护 ........................................................................................................ 223
复制监控 ........................................................................................................... 223
观测复制延迟 .................................................................................................... 224
确定副本数据的一致性 ..................................................................................... 225
复制问题和解决方案 ................................................................................................ 226
源端二进制日志损坏 ......................................................................................... 226
非唯*的服务器 ID ........................................................................................... 226
未配置服务器 ID ............................................................................................... 227
临时表丢失........................................................................................................ 227
没有复制所有变更 ............................................................................................ 227
复制延迟过大 .................................................................................................... 228
来自源服务器的超大数据包 ..................................................
定价:100.0
ISBN:9787121442575
作者:(美)Silvia Botros(西尔维亚·博特罗斯), Jeremy Tinley(杰里米·廷利)
版次:*1版
出版时间:2022-09
内容提要:
《高性能MySQL(第3版)》是MySQL 领域的**佳之作,拥有广泛的影响力。第4版更新了大量的内容,全书共分为16章和6 个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。《高性能MySQL(第4版)》不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。
作者简介:
Silvia Botros是Twilio的*级&席工程师。在SendGrid工作期间,她帮助部署和维护了各种MySQL数据存储,这些数据存储支持邮件管道和SendGrid提供的其他产品,并推动MySQL设计从开始到生产。 Jeremy Tinley是Etsy的*级职员工程师,拥有超过20年的MySQL经验。在他的职业生涯中,他管理了成千上万个MySQL实例,着眼于可用性、可靠性和运营效率。
宁海元有超过十年的数据库管理经验,从*初的SQLServer 2000到Oracle再到MySQL,擅长数据库高可用架构、性能优化和故障诊断。目前专注于无线数据领域。网络常用名NinGoo,周振兴毕业于北京师范大学数学系,2009年开始负责MySQL运维管理工作,有丰富的MySQL性能优化、Troubleshooting经验,对MySQL主要模块的实现和原理有深入的研究,对系统架构、高可用环境规划都有深入理解。张新铭,云掣*深数据库专家,网络常用名俊达,曾任淘宝、支付宝DBA,全程参与淘宝核心业务系统底层存储系统改造,参与建设支付宝MySQL标准化运维体系。对于数据库体系结构和运作原理有深入的理解,擅长大数据量和高访问量OLTP数据库的设计和优化。
目录:
序................................................................................. xxiii
前言............................................................................... xxv
本书第 4 版的致谢.............................................................. xxix
第 1 章 MySQL 架构............................................................ 1
MySQL 的逻辑架构 ...................................................................................................... 1
连接管理与安全性 ................................................................................................ 2
优化与执行............................................................................................................ 2
并发控制 ....................................................................................................................... 3
读写锁 ................................................................................................................... 3
锁的粒度 ............................................................................................................... 4
事务 .............................................................................................................................. 5
隔离级别 ............................................................................................................... 7
死锁 ....................................................................................................................... 8
事务日志 ............................................................................................................... 9
MySQL 中的事务 ................................................................................................ 10
多版本并发控制 .......................................................................................................... 12
复制 ............................................................................................................................ 13
数据文件结构 ............................................................................................................. 14
InnoDB 引擎 ............................................................................................................... 14
JSON 文档支持 ................................................................................................... 15
数据字典的变化 .................................................................................................. 16
原子 DDL ............................................................................................................ 16
小结 ............................................................................................................................ 16
第 2 章 可靠性工程世界中的监控..............................................17
可靠性工程对 DBA 团队的影响 ................................................................................. 18
定义服务水平目标 ...................................................................................................... 18
怎样才能让客户满意 ........................................................................................... 19
用什么来度量 ............................................................................................................. 20
定义 SLI 和 SLO ................................................................................................. 20
监控解决方案 ...................................................................................................... 21
监控可用性.......................................................................................................... 22
监控查询延迟 ...................................................................................................... 24
监控报错 ............................................................................................................. 24
主动监控 ............................................................................................................. 25
度量长期性能 ............................................................................................................. 31
了解业务节奏 ...................................................................................................... 31
有效地跟踪指标 .................................................................................................. 32
使用监控工具检查性能 ....................................................................................... 33
使用 SLO 来指导整体架构 .................................................................................. 34
小结 ............................................................................................................................ 34
第 3 章 Performance Schema........................................... 35
Performance Schema 介绍 ........................................................................................... 35
插桩元件 ............................................................................................................. 36
消费者表的组织 .................................................................................................. 37
资源消耗 ............................................................................................................. 39
局限性 ................................................................................................................. 39
sys Schema .......................................................................................................... 40
理解线程 ............................................................................................................. 40
配置 ............................................................................................................................ 41
启用或禁用 Performance Schema ........................................................................ 42
启用或禁用插桩 .................................................................................................. 42
启用或禁用消费者表 ........................................................................................... 43
优化特定对象的监控 ........................................................................................... 44
优化线程的监控 .................................................................................................. 45
调整 Performance Schema 的内存大小 ................................................................ 46
默认值 ................................................................................................................. 46
使用 Performance Schema ........................................................................................... 46
检查 SQL 语句 .................................................................................................... 46
检查读写性能 ...................................................................................................... 54
检查元数据锁 ...................................................................................................... 56
检查内存使用情况 .............................................................................................. 56
检查变量 ............................................................................................................. 59
检查*常见的错误 .............................................................................................. 62
检查 Performance Schema 自身 ........................................................................... 63
小结 ............................................................................................................................ 65
第 4 章 操作系统和硬件优化.................................................. 66
什么限制了 MySQL 的性能 ........................................................................................ 66
如何为 MySQL 选择 CPU ........................................................................................... 67
平衡内存和磁盘资源 .................................................................................................. 67
缓存、读取和写入 .............................................................................................. 67
你的工作集是什么 .............................................................................................. 68
固态存储 ..................................................................................................................... 68
闪存概述 ............................................................................................................. 69
垃圾收集 ............................................................................................................. 69
RAID 性能优化 ........................................................................................................... 70
RAID 故障、恢复和监控 .................................................................................... 72
RAID 配置和缓存 ............................................................................................... 73
网络配置 ..................................................................................................................... 75
选择文件系统 ............................................................................................................. 77
选择磁盘队列调度器 ........................................................................................... 79
内存和交换.......................................................................................................... 79
操作系统状态 ...................................................................................................... 81
其他有用的工具 .................................................................................................. 84
小结 ............................................................................................................................ 84
第 5 章 优化服务器设置....................................................... 86
MySQL 的配置是如何工作的 ..................................................................................... 87
语法、作用域和动态性 ....................................................................................... 88
持久化系统变量 .................................................................................................. 89
设置变量的副作用 .............................................................................................. 89
规划变量的更改 .................................................................................................. 90
什么不该做 ................................................................................................................. 91
创建 MySQL 配置文件 ............................................................................................... 92
*小化配置.......................................................................................................... 92
检查 MySQL 服务器的状态变量 ......................................................................... 94
配置内存使用 ............................................................................................................. 94
每个连接的内存需求 ........................................................................................... 94
为操作系统保留内存 ........................................................................................... 95
InnoDB 缓冲池 .................................................................................................... 95
线程缓存 ............................................................................................................. 96
配置 MySQL 的 I/O 行为 ............................................................................................ 97
InnoDB 事务日志 ................................................................................................ 98
日志缓冲区.......................................................................................................... 98
InnoDB 表空间 .................................................................................................. 100
其他 I/O 配置选项 ............................................................................................. 103
配置 MySQL 并发 ..................................................................................................... 103
安全设置 ................................................................................................................... 104
*级 InnoDB 设置 ..................................................................................................... 106
小结 .......................................................................................................................... 108
第 6 章 schema 设计与管理................................................109
选择优化的数据类型 ................................................................................................ 109
整数类型 ............................................................................................................111
实数类型 ............................................................................................................111
字符串类型........................................................................................................ 112
日期和时间类型 ................................................................................................ 117
位压缩数据类型 ................................................................................................ 119
JSON 数据类型 ................................................................................................. 121
选择标识符........................................................................................................ 124
特殊数据类型 .................................................................................................... 126
MySQL schema 设计中的陷阱 .................................................................................. 127
太多的列 ........................................................................................................... 127
太多的联接........................................................................................................ 127
全能的枚举........................................................................................................ 127
变相的枚举........................................................................................................ 128
NULL 不是虚拟值............................................................................................. 128
schema 管理 .............................................................................................................. 128
作为数据存储平台一部分的 schema 管理 ......................................................... 129
小结 .......................................................................................................................... 135
第 7 章 创建高性能的索引....................................................136
索引基础 ................................................................................................................... 136
索引的类型........................................................................................................ 137
使用索引的优点 ................................................................................................ 141
高性能的索引策略 .................................................................................................... 142
前缀索引和索引的选择性 ................................................................................. 142
多列索引 ........................................................................................................... 145
选择合适的索引列顺序 ..................................................................................... 147
聚簇索引 ........................................................................................................... 150
覆盖索引 ........................................................................................................... 157
使用索引扫描来做排序 ..................................................................................... 159
冗余和重复索引 ................................................................................................ 161
未使用的索引 .................................................................................................... 164
维护索引和表 ........................................................................................................... 164
找到并修复损坏的表 ......................................................................................... 165
更新索引统计信息 ............................................................................................ 165
减少索引和数据的碎片 ..................................................................................... 167
小结 .......................................................................................................................... 168
第 8 章 查询性能优化.........................................................170
为什么查询速度会慢 ................................................................................................ 170
慢查询基础 :优化数据访问 ..................................................................................... 171
是否向数据库请求了不需要的数据 .................................................................. 171
MySQL 是否在扫描额外的记录 ........................................................................ 173
重构查询的方式 ........................................................................................................ 177
一个复杂查询还是多个简单查询 ...................................................................... 177
切分查询 ........................................................................................................... 178
分解联接查询 .................................................................................................... 178
查询执行的基础 ........................................................................................................ 179
MySQL 的客户端 / 服务器通信协议 ................................................................. 180
查询状态 ........................................................................................................... 182
查询优化处理 .................................................................................................... 183
查询执行引擎 .................................................................................................... 196
将结果返回给客户端 ......................................................................................... 197
MySQL 查询优化器的局限性 ................................................................................... 197
UNION 的限制 .................................................................................................. 197
等值传递 ........................................................................................................... 198
并行执行 ........................................................................................................... 198
在同一个表中查询和更新 ................................................................................. 198
优化特定类型的查询 ................................................................................................ 199
优化 COUNT() 查询 .......................................................................................... 199
优化联接查询 .................................................................................................... 201
使用 WITH ROLLUP 优化 GROUP BY ............................................................ 201
优化 LIMIT 和 OFFSET 子句 ............................................................................ 202
优化 SQL_CALC_FOUND_ROWS ................................................................... 203
优化 UNION 查询 ............................................................................................. 204
小结 .......................................................................................................................... 204
第 9 章 复制....................................................................205
复制概述 ................................................................................................................... 205
复制如何工作 .................................................................................................... 207
复制原理 ................................................................................................................... 208
选择复制格式 .................................................................................................... 208
全局事务标识符 ................................................................................................ 208
崩溃后的复制安全 ............................................................................................ 210
延迟复制 ........................................................................................................... 210
多线程复制........................................................................................................ 211
半同步复制........................................................................................................ 214
复制过滤器........................................................................................................ 214
复制切换 ................................................................................................................... 216
计划内切换........................................................................................................ 216
计划外切换........................................................................................................ 217
切换时的权衡 .................................................................................................... 217
复制拓扑 ................................................................................................................... 217
主动 / 被动模式 ................................................................................................. 218
主动 / 只读池模式 ............................................................................................. 219
不推荐的一些拓扑架构 ..................................................................................... 220
复制管理和维护 ........................................................................................................ 223
复制监控 ........................................................................................................... 223
观测复制延迟 .................................................................................................... 224
确定副本数据的一致性 ..................................................................................... 225
复制问题和解决方案 ................................................................................................ 226
源端二进制日志损坏 ......................................................................................... 226
非唯*的服务器 ID ........................................................................................... 226
未配置服务器 ID ............................................................................................... 227
临时表丢失........................................................................................................ 227
没有复制所有变更 ............................................................................................ 227
复制延迟过大 .................................................................................................... 228
来自源服务器的超大数据包 ..................................................
- 电子工业出版社有限公司
- 电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
- 扫描二维码,访问我们的微信店铺