借阅:2 收藏:0

= High performance MySQL /(美) Silvia Botros, (美) Jeremy Tinley著 ;宁海元, 周振兴, 张新铭译

ISBN/ISSN:978-7-121-44257-5

价格:CNY100.00

出版:北京 :电子工业出版社 ,2022

载体形态:xxx, 312页 :图 ;24cm

简介:本书共13章,包括MySQL架构、可靠性工程世界中的监控、操控系统和硬件优化、优化服务器设置、创建高性能的索引、查询性能优化、复制、备份与恢复等内容。

统一题名:High performance MySQL

中图分类号:TP311.138SQ

责任者:博特罗斯 ((Silvia, Botros)) 著 廷利 ((Jeremy, Tinley)) 著 宁海元 译 周振兴 译 张新铭 译 陈晋 主编

    • 评分:
    • 加入暂存架

豆瓣内容简介:

《高性能 MySQL》一直是 MySQL 领域的经典之作,影响了一代又一代的 DBA 和技术人员,从第3 版出版到第 4 版出版过去了近十年,MySQL 也从 5.5 版本更新到了 8.0 版本。第 4 版中增加了大量对 MySQL 5.7 和 8.0 版本新特性的介绍,删除了一些在新版本中已经废弃或者不再常用的功能,还增加了对云数据库的介绍,减少了在官方文档中已有的基础使用和配置相关的内容。这些年,MySQL 经过在大量大规模互联网场景中的应用验证,使得本书在继续关注高性能之外,还用了较多的篇幅来介绍如何实现 MySQL 的大规模可扩展应用和合规性问题,这是相比第 3 版最大的不同,也是本书封面上所写的“经过大规模运维验证的策略”的体现。
《高性能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
来自源服务器的超大数据包 ............................................................................. 229
磁盘空间耗尽 .................................................................................................... 229
复制的限制........................................................................................................ 229
小结 .......................................................................................................................... 230
第 10 章 备份与恢复..........................................................231
为什么要备份 ........................................................................................................ 232
定义恢复需求 ....................................................................................................... 233
设计 MySQL 备份方案 ......................................................................................... 234
在线备份还是离线备份 ..................................................................................... 235
逻辑备份还是裸文件备份 ................................................................................. 236
备份什么 ........................................................................................................... 238
增量备份和差异备份 ......................................................................................... 239
复制 ................................................................................................................... 240
管理和备份二进制日志.......................................................................................... 241
备份和恢复工具 .................................................................................................... 241
MySQL Enterprise Backup ................................................................................ 241
Percona XtraBackup .......................................................................................... 242
mydumper .......................................................................................................... 242
mysqldump ........................................................................................................ 242
备份数据 ................................................................................................................ 242
逻辑 SQL 备份 .................................................................................................. 242
文件系统快照 .................................................................................................... 244
Percona XtraBackup .......................................................................................... 249
从备份中恢复数据 ................................................................................................. 252
恢复逻辑备份 .................................................................................................... 253
从快照中恢复 .................................................................................................... 254
使用 Percona XtraBackup 进行恢复 .................................................................. 255
原始文件恢复后启动 MySQL ........................................................................... 256
小结 ...................................................................................................................... 257
第 11 章 扩展 MySQL.......................................................258
什么是可扩展性 ..................................................................................................... 258
读限制与写限制工作负载 ....................................................................................... 260
理解工作负载 .................................................................................................... 260
读限制工作负载 ................................................................................................ 261
写限制工作负载 ................................................................................................ 261
功能拆分 ............................................................................................................... 262
使用读池扩展读 ..................................................................................................... 262
管理读池的配置 ................................................................................................ 264
读池健康检查 .................................................................................................... 265
选择负载均衡器算法 ......................................................................................... 266
排队机制 .................................................................................................... 267
使用分片扩展写 ............................................................................................... 268
选择切分方案 .................................................................................................... 269
多个分片键........................................................................................................ 270
跨分片查询........................................................................................................ 271
Vitess ................................................................................................................. 272
ProxySQL .......................................................................................................... 275
小结 ............................................................................................................. 279
第 12 章 云端的 MySQL....................................................280
托管 MySQL ............................................................................................. 280
Amazon Aurora for MySQL ............................................................................... 281
GCP Cloud SQL ................................................................................................. 283
虚拟机上的 MySQL .................................................................................................. 284
云上的机器类型 ................................................................................................ 284
选择正确的机器类型 ......................................................................................... 285
选择正确的磁盘类型 ......................................................................................... 286
额外的建议........................................................................................................ 287
小结 ........................................................................................................... 289
第 13 章 MySQL 的合规性.................................................291
什么是合规性 .......................................................................................... 291
服务组织控制类型 2.......................................................................................... 292
萨班斯 - 奥克斯利法案 ..................................................................................... 292
支付卡行业数据安全标准 ................................................................................. 292
健康保险可携带性和责任法案 .......................................................................... 292
联邦风险和授权管理计划 ................................................................................. 293
通用数据保护条例 ............................................................................................ 293
Schrems II ......................................................................................................... 293
建立合规控制体系 .................................................................................... 294
机密信息管理 .................................................................................................... 294
角色与数据分离 ................................................................................................ 297
跟踪变更 ........................................................................................................... 297
备份和恢复过程 ................................................................................................ 302
小结 ...................................................................................................................... 304
附录 A 升级 MySQL.........................................................305
附录 B Kubernetes 上的 MySQL.......................................310

分馆名 馆藏部门 图书条码 索书号 登录号 架位导航 卷期 状态
A 昌平馆科技图书区(三层) C1234958 TP311.138SQ/99:3 C1234958 架位导航 在架可借
A 东区馆中文图书阅览区(二层) C1225184 TP311.138SQ/99:3 C1225184 架位导航 在架可借
序号 图书条码 索书号 登录号 藏书部门 流通状态 年卷期 装订册 装订方式 装订颜色
    类型 说明 URL
    评 论
    评分:
    发表
    >

    北京创讯未来软件技术有限公司 版权所有 ALL RIGHTS RESERVED 京ICP备 09032139

    欢迎第31932072位用户访问本系统