[套装书]DBA攻坚指南:左手Oracle,右手MySQL+MySQL DBA修炼之道(2册)

作者
叶桦、徐浩、张梦颖、应以峰 陈晓勇
丛书名
数据库技术丛书
出版社
机械工业出版社
ISBN
9782107011548
简要
简介
内容简介书籍计算机书籍 ---------------------------8081585 - DBA攻坚指南:左手Oracle,右手MySQL--------------------------- 本书是美创科技资深Oracle、MySQL技术专家呕心沥血之作,积作者多年的经验结晶和实践经验,也是目前市场上为数不多Oracle和MySQL相结合的数据库技术书籍。 书中内容主要分为Oracle和MySQL两大部分。第 一部分介绍Oracle的日常运维,该部分主要由四个章节构成,内容由浅入深逐步展开。包括生产环境搭建,上线前的压力测试,日常运维以及故障处理,迁移升级,SQL的优化技巧等内容;第二部分是MySQL的运维实战,主要介绍MySQL常用的运维操作及实践,包括软件安装、备份恢复、迁移升级、架构设计、监控和性能优化等。书中提供了全面、实用的建议及具体的操作案例,以保证在复杂的核心生产环境中,能帮助读者可靠且高效地运行Oracle和MySQL数据库。 ---------------------------5089911 - MySQL DBA修炼之道--------------------------- 本书以实战讲解为主,摒弃了生产实践中不常用的知识和技术。书中内容主要分为5部分。第壹部分介绍MySQL的应用领域和适用场景、基础架构、常见生产环境部署方式,以及MySQL安装部署方式等内容。第二部分给出DBA、开发人员需要熟悉的一些知识,比如开发基础知识,如何选择合适的数据类型、事务的隔离级别和死锁避免等。第三部分则会介绍DBA及测试人员需要熟悉的测试知识,包括自动化压力测试、硬件性能测试。第四部分对照DBA的工作讲述生产的实际操作步骤,包括如何部署、升级、迁移备份数据等内容。第五部分讲述性能调优的工具和手段,如何进行数据规划,如何设计高可用性、高性能、伸缩性良好的系统。
目录
[套装书具体书目]
5089911 - MySQL DBA修炼之道 - 9787111558415 - 机械工业出版社 - 定价 79
8081585 - DBA攻坚指南:左手Oracle,右手MySQL - 9787111684336 - 机械工业出版社 - 定价 129



---------------------------8081585 - DBA攻坚指南:左手Oracle,右手MySQL---------------------------


前言
第一部分 Oracle实战攻略
第1章 Oracle安装最佳实践2
1.1 正确安装数据库软件2
1.1.1 安装过程中容易忽视的点2
1.1.2 常见安装问题的处理7
1.1.3 集群安装最佳实践9
1.2 上线前的压力测试19
1.2.1 I/O测试19
1.2.2 RDBMS层I/O测试21
1.2.3 模拟应用程序层测试25
1.3 本章小结30
第2章 Oracle故障诊断31
2.1 日常维护31
2.1.1 TX锁处理31
2.1.2 高峰期谨慎编译业务对象35
2.1.3 数据误删恢复37
2.2 数据库连接故障诊断38
2.2.1 数据库连接缓慢44
2.2.2 间接性连接报错49
2.3 数据库日常案例精析52
2.3.1 存储链路引起的性能问题52
2.3.2 操作系统内存泄漏的案例56
2.3.3 详解log file sync等待62
2.3.4 10053跟踪诊断69
2.4 集群故障诊断75
2.4.1 集群软件权限修复75
2.4.2 RAC节点驱逐分析77
2.4.3 DRM特性引起的RAC节点宕机79
2.4.4 row cache lock性能诊断85
2.5 本章小结89
第3章 数据库迁移升级90
3.1 如何选择迁移方式91
3.2 逻辑迁移升级91
3.2.1 使用数据泵的注意事项92
3.2.2 数据泵常用参数93
3.2.3 参数使用案例93
3.3 逻辑DataGuard滚动升级96
3.3.1 生产端前期准备97
3.3.2 备端前期准备98
3.3.3 将逻辑DG升级至Oracle 12c99
3.3.4 第一次主备切换102
3.3.5 升级原生产库103
3.3.6 升级失败回退措施104
3.4 XTTS迁移升级技术104
3.4.1 环境说明104
3.4.2 源端环境准备105
3.4.3 目标端环境准备114
3.4.4 数据同步116
3.4.5 正式迁移117
3.4.6 迁移失败回退122
3.4.7 迁移备忘录122
3.5 OGG的迁移升级案例122
3.5.1 源端环境准备123
3.5.2 目标端环境准备128
3.5.3 数据比对安装配置130
3.5.4 正式迁移前的准备134
3.5.5 正式迁移138
3.5.6 迁移失败的回退措施140
3.6 如何保证数据一致性140
3.7 迁移前后如何保证性能146
3.7.1 数据库重放146
3.7.2 SQL性能分析157
3.8 本章小结163
第4章 SQL性能优化164
4.1 读懂执行计划164
4.1.1 获取执行计划165
4.1.2 读懂执行计划171
4.2 收集统计信息176
4.3 访问路径190
4.3.1 全表扫描190
4.3.2 ROWID扫描191
4.3.3 索引唯一扫描191
4.3.4 索引范围扫描192
4.3.5 索引跳跃扫描192
4.3.6 全索引扫描193
4.3.7 快速全索引扫描195
4.4 连接方式196
4.4.1 嵌套循环连接196
4.4.2 哈希连接198
4.4.3 排序合并连接199
4.4.4 笛卡儿连接201
4.5 查询转换201
4.5.1 视图合并202
4.5.2 谓词推入203
4.5.3 子查询展开205
4.5.4 物化视图查询重写207
4.6 异常SQL处理209
4.6.1 定位问题SQL209
4.6.2 SQL健康检查210
4.6.3 SQL PROFILE212
4.6.4 SQL 计划管理213
4.7 SQL优化案例集216
4.7.1 常用索引优化方法216
4.7.2 隐式转换无法使用索引220
4.7.3 直方图引起执行计划偏差221
4.7.4 驱动表选择优化224
4.7.5 联合索引优化228
4.7.6 谓词推入优化231
4.7.7 大型表格更新删除优化237
4.7.8 程序不足SQL来凑240
4.8 本章小结244
第二部分 MySQL实战之旅
第5章 MySQL安装最佳实践246
5.1 几种常见的安装方式246
5.1.1 操作系统基础配置248
5.1.2 RPM包安装与介绍251
5.1.3 二进制包安装与介绍255
5.1.4 源码编译安装与介绍258
5.1.5 安装最佳实践263
5.2 常用的连接方式277
5.2.1 建立MySQL连接277
5.2.2 简化MySQL连接279
5.3 数据库系统账户改密的几种方法285
5.3.1 两阶段认证285
5.3.2 系统账户密码重置287
5.4 SSL与RSA实践291
5.4.1 创建SSL、RSA证书和密钥291
5.4.2 配置加密连接294
5.5 本章小结297
第6章 MySQL备份与恢复技术298
6.1 备份与恢复概述298
6.2 企业级MEB物理备份与恢复299
6.2.1 MEB软件介绍299
6.2.2 MEB备份与恢复示例301
6.3 开源级PXB物理备份与恢复317
6.3.1 PXB软件介绍317
6.3.2 PXB工作原理概述318
6.3.3 PXB备份与恢复示例320
6.4 MySQLDUMP逻辑备份与恢复330
6.4.1 MySQLDUMP软件介绍331
6.4.2 SQL格式转储与加载332
6.4.3 分隔文本格式转储与加载340
6.5 MySQLPUMP逻辑备份与恢复343
6.5.1 MySQLPUMP软件介绍343
6.5.2 MySQLPUMP并行处理344
6.5.3 MySQLPUMP转储特定对象346
6.5.4 MySQLPUMP压缩转储347
6.6 本章小结348
第7章 MySQL迁移与升级技术349
7.1 MySQL迁移概述349
7.2 使用MEB实现零RPO迁移350
7.2.1 MEB全量与增量迁移350
7.2.2 MEB全量与复制迁移351
7.2.3 迁移小结353
7.3 使用PXB实现零RPO迁移354
7.3.1 PXB全量与增量迁移354
7.3.2 PXB全量与复制迁移356
7.3.3 迁移小结357
7.4 使用MySQLDUMP迁移357
7.4.1 MySQLDUMP全量迁移357
7.4.2 MySQLDUMP全量迁移与Binlog增量迁移359
7.4.3 MySQLDUMP全量与复制迁移361
7.4.4 迁移小结362
7.5 使用MySQLPUMP迁移363
7.5.1 MySQLPUMP全量迁移363
7.5.2 MySQLPUMP全量与复制迁移366
7.5.3 迁移小结367
7.6 使用MyDumper迁移367
7.6.1 安装MyDumper软件367
7.6.2 MyDumper全量迁移368
7.6.3 迁移小结372
7.7 MySQL版本升级实战373
7.7.1 MySQL升级概述373
7.7.2 确认升级路径373
7.7.3 升级前的准备工作373
7.7.4 原地升级方式374
7.7.5 逻辑升级方式377
7.8 本章小结378
第8章 MySQL经典复制架构379
8.1 复制介绍379
8.1.1 MySQL复制线程380
8.1.2 MySQL复制版本兼容性382
8.2 基于传统模式部署复制382
8.3 基于GTID模式部署复制388
8.3.1 离线启用GTID模式388
8.3.2 在线设置GTID模式390
8.3.3 GTID复制模式的限制394
8.4 多源复制395
8.5 SBR和RBR的特点398
8.5.1 SBR的优势与劣势398
8.5.2 RBR的优势与劣势399
8.6 复制过滤规则400
8.7 延迟复制406
8.8 复制报错处理流程407
8.9 复制切换409
8.9.1 复制拓扑手动切换409
8.9.2 复制拓扑自动切换414
8.10 优化复制延迟424
8.11 本章小结428
第9章 MySQL组复制实践429
9.1 组复制技术介绍429
9.1.1 传统复制429
9.1.2 组复制430
9.2 组复制要求和限制432
9.2.1 组复制实例要求432
9.2.2 组复制限制434
9.3 部署单主模式组复制436
9.3.1 跨主机部署MGR436
9.3.2 同主机部署MGR445
9.4 单主模式切换成多主模式447
9.5 故障检测与处理449
9.5.1 检测分区449
9.5.2 丢失仲裁450
9.5.3 解锁分区451
9.5.4 重启新复制组452
9.6 组复制调优453
9.6.1 优化组复制恢复453
9.6.2 微调组通信线程454
9.6.3 消息压缩454
9.6.4 流量控制455
9.7 本章小结457
第10章 MySQL监控与可视化458
10.1 部署Zabbix Server458
10.2 部署Zabbix Agent2462
10.3 创建自定义Keys464
10.4 创建自定义项与触发器476
10.5 启用Zabbix告警通知492
10.6 创建Zabbix自定义模板494
10.7 自定义资产发现规则496
10.8 部署Grafana可视化软件498
10.9 定制MySQL监控大屏499
10.10 本章小结510



---------------------------5089911 - MySQL DBA修炼之道---------------------------


推荐序
前言
第一部分 入门篇
第1章 理解MySQL 2
1.1 MySQL介绍 2
1.1.1 应用领域和适用场景 2
1.1.2 为什么那么多公司和机构选择使用MySQL 3
1.1.3 MySQL的优势是什么,它解决了什么问题 3
1.2 MySQL的基础架构和版本 4
1.2.1 软件架构中数据库的定位 4
1.2.2 MySQL的基础架构 5
1.2.3 MySQL的版本及特性 6
1.2.4 MySQL的开发周期 8
1.3 查询执行过程概述 9
1.4 MySQL权限 10
1.4.1 MySQL权限机制 10
1.4.2 赋予权限和回收权限 10
1.5 长连接、短连接、连接池 10
1.5.1 短连接 10
1.5.2 长连接 11
1.5.3 连接池 12
1.5.4 持久连接和连接池的区别 12
1.6 存储引擎简介 12
1.6.1 InnoDB引擎 12
1.6.2 MyISAM引擎 13
1.6.3 MEMORY存储引擎 13
1.6.4 ARCHIVE存储引擎 14
1.6.5 选择合适的引擎 14
1.6.6 选择何种平台 14
1.7 MySQL复制架构 15
1.8 一些基础概念 15
第2章 MySQL安装部署和入门 17
2.1 如何选择MySQL版本 17
2.2 官方版本的安装 18
2.2.1 二进制包的安装 18
2.2.2 源码编译安装 20
2.3 其他MySQL分支的安装 21
2.4 安装InnoDB Plugin 21
2.5 常用命令 22
2.5.1 使用mysql命令 22
2.5.2 使用mysqladmin命令 26
2.5.3 使用mysqldump命令 26
2.6 MySQL的主要参数设置 27
第二部分 开发篇
第3章 开发基础 30
3.1 相关基础概念 30
3.2 数据模型 33
3.2.1 关系数据模型介绍 33
3.2.2 实体–关系建模 34
3.2.3 其他数据模型 35
3.3 SQL基础 38
3.3.1 变量 39
3.3.2 保留字 40
3.3.3 MySQL注释 42
3.3.4 数据类型 43
3.3.5 函数 51
3.3.6 操作符及优先级 53
3.3.7 MySQL示例employees数据库 54
3.3.8 SQL语法 55
3.4 PHP开发 69
3.4.1 概述 69
3.4.2 客户端访问过程 69
3.4.3 开发工具 72
3.4.4 操作数据 73
3.4.5 PHP数据库开发建议 78
3.5 索引 78
3.5.1 索引介绍 78
3.5.2 使用索引的场景及注意事项 79
3.5.3 索引的错误用法 82
3.5.4 如何使用EXPLAIN工具 83
3.5.5 优化索引的方法学 90
3.6 ID主键 91
3.7 字符集和国际化支持 93
3.7.1 什么是字符集 93
3.7.2 国际化支持 93
3.7.3 字符集设置 94
第4章 开发进阶 98
4.1 范式和反范式 98
4.1.1 范式 98
4.1.2 反范式 102
4.2 权限机制和安全 104
4.2.1 MySQL访问权限系统 104
4.2.2 强化安全 106
4.2.3 SQL注入 109
4.3 慢查询日志 112
4.3.1 查看慢查询日志 112
4.3.2 使用工具分析慢查询日志 114
4.4 应用程序性能管理 118
4.4.1 为什么需要性能管理 118
4.4.2 应用性能管理概述 119
4.4.3 应用性能管理的关注点 120
4.4.4 具体应用 120
4.5 数据库设计 122
4.5.1 逻辑设计 122
4.5.2 物理设计 123
4.6 导入导出数据 127
4.6.1 规则简介 127
4.6.2 使用mysqldump导出,使用mysql导入 128
4.6.3 使用SELECT INTO OUTFILE命令导出数据 130
4.6.4 使用LOAD DATA导入数据 130
4.6.5 用mysqlimport工具导入 132
4.6.6 用mysql程序的批处理模式导出 132
4.6.7 用split切割文件,加速导入数据 133
4.7 事务和锁 133
4.7.1 概述 133
4.7.2 MyISAM的表锁 134
4.7.3 事务定义和隔离级别 135
4.7.4 InnoDB的行锁 137
4.8 死锁 141
4.9 其他特性 142
4.9.1 临时表 142
4.9.2 分区表 142
4.9.3 存储过程、触发器、外键 147
4.9.4 视图 159
第5章 开发技巧 161
5.1 存储树形数据 161
5.2 转换字符集 163
5.3 处理重复值 165
5.4 分页算法 167
5.5 处理NULL值 167
5.6 存储URL地址 169
5.7 归档历史数据 169
5.8 使用数据库存储图片 170
5.9 多表UPDATE 170
5.10 生成全局唯一ID 171
5.11 使用SQL生成升级SQL 171
第6章 查询优化 172
6.1 基础知识 172
6.1.1 查询优化的常用策略 172
6.1.2 优化器介绍 173
6.1.3 MySQL的连接机制 175
6.2 各种语句优化 176
6.2.1 连接的优化 176
6.2.2 GROUP BY、DISTINCT、ORDER BY语句优化 177
6.2.3 优化子查询 178
6.2.4 优化limit子句 179
6.2.5 优化IN列表 180
6.2.6 优化UNION 181
6.2.7 优化带有BLOB、TEXT类型字段的查询 181
6.2.8 filesort的优化 181
6.2.9 优化SQL_CALC_FOUND_ROWS 183
6.2.10 优化临时表 183
6.3 OLAP业务优化 184
第7章 研发规范 187
7.1 命名约定 187
7.2 索引 188
7.3 表设计 189
7.4 SQL语句 190
7.5 SQL脚本 191
7.6 数据架构的建议 192
7.7 开发环境、测试环境的配置参数建议 193
7.8 数据规划表 193
7.9 其他规范 194
第三部分 测试篇
第8章 测试基础 196
8.1 基础概念 196
8.2 性能测试的目的 197
8.3 基准测试 197
8.4 性能/基准测试的步骤 199
8.5 测试的注意事项 199
第9章 测试实践 201
9.1 硬件测试 201
9.1.1 概述 201
9.1.2 CPU测试 202
9.1.3 内存测试 203
9.1.4 I/O测试 203
9.1.5 网络测试 207
9.2 MySQL测试 207
9.2.1 概述 207
9.2.2 常用测试工具的介绍和使用 208
9.2.3 MySQL基准测试模型 211
9.3 应用数据库性能测试 221
第四部分 运维篇
第10章 基础知识 224
10.1 文件和I/O管理 224
10.1.1 MySQL日志文件 224
10.1.2 InnoDB数据文件和日志文件 228
10.1.3 临时文件 232
10.1.4 MySQL套接字文件 232
10.2 MySQL如何进行灾难恢复 233
10.3 变量设置、配置文件和主要参数 234
10.3.1 概述 234
10.3.2 如何设置参数、变量 235
10.3.3 配置文件的读取顺序 235
10.3.4 环境变量、配置文件、命令行选项的优先级 237
10.3.5 配置文件详述 237
10.3.6 配置文件示例 238
10.4 MySQL Query Cache和优化器 239
10.5 SHOW INNODB STATUS解析 241
第11章 MySQL的监控 250
11.1 非数据库的监控 250
11.1.1 开源监控工具/平台 250
11.1.2 编写程序来收集信息 251
11.2 数据库的监控 251
11.2.1 数据库服务的基本监控方式 251
11.2.2 应该收集的信息和收集方法 252
11.2.3 MySQL需要关注的参数及状态变量 260
11.3 数据库监控的实现 263
11.3.1 Nagios 263
11.3.2 swatch 263
11.3.3 Cacti 267
11.3.4 如何打造一个强大的监控系统 274
11.4 数据库监控的可视化 275
11.4.1 折线图 276
11.4.2 散点图 276
11.4.3 热图 277
第12章 MySQL复制 279
12.1 基础知识 279
12.1.1 原理及注意事项 279
12.1.2 常用命令 281
12.1.3 参数设置 287
12.1.4 配置文件 290
12.1.5 复制模式 292
12.1.6 复制兼容性 294
12.2 配置主从复制 294
12.3 配置主主复制 296
12.4 配置级联复制、环形复制 297
12.5 跨IDC复制 297
12.6 多主复制 298
12.7 延时复制 298
12.8 半同步复制 299
12.9 在线搭建从库 299
12.9.1 操作系统下对打包文件配置主从 299
12.9.2 利用mysqldump制作从库 301
12.10 配置日志服务器 303
12.11 常见的复制问题及处理方法 305
12.11.1 跳过复制错误 305
12.11.2 临时表和复制 305
12.11.3 内存表和复制 306
12.11.4 主库宕机重新启动成功,但复制关系中断 306
12.11.5 主库宕机重启不成功 307
12.11.6 多个从库的server-id相同 307
12.11.7 锁定导致的复制延时 307
12.11.8 对MyISAM引擎的表恢复数据 307
12.11.9 如何彻底清除Slave设置 308
12.11.10 网络异常导致的复制延时 308
第13章 迁移、升级、备份、恢复数据库 309
13.1 升级 309
13.1.1 升级表结构或变更数据 309
13.1.2 MySQL版本升级 312
13.2 新业务部署上线 312
13.3 迁移 313
13.3.1 迁移步骤 313
13.3.2 切换数据库时长短连接的影响 314
13.4 生产环境常用的备份策略 315
13.4.1 备份策略 315
13.4.2 备份建议 316
13.5 常用备份方式和恢复方法 316
13.5.1 使用dd备份和恢复数据 317
13.5.2 使用mysqldump备份和恢复数据 317
13.5.3 使用Percona XtraBackup备份和恢复数据 319
13.5.4 使用mysqlbinlog进行时间点恢复 326
第14章 运维技巧和常见问题处理 328
14.1 MySQL运维技巧 328
14.1.1 使用lsof命令恢复文件 328
14.1.2 如何删除大文件 330
14.1.3 获取吞吐信息 331
14.1.4 传输大文件 331
14.1.5 记录连接用户 331
14.1.6 如何判断表的碎片 332
14.1.7 快速关闭MySQL 333
14.1.8 如何预热数据 333
14.1.9 临时禁止数据库访问 334
14.1.10 获取MySQL连接、用户 334
14.1.11 更改数据库名 334
14.1.12 批量KILL连接 335
14.1.13 记录运行时间长的查询 335
14.1.14 删除分表 335
14.2 常见问题 336
14.2.1 忘记root密码 336
14.2.2 InnoDB同时打开事务最大不能超1023个 336
14.2.3 连接不上MySQL 336
14.2.4 主机的host_name被屏蔽 337
14.2.5 连接数过多 337
14.2.6 处理磁盘满 338
14.2.7 表损坏 338
14.2.8 查看锁的等待 338
14.2.9 mysqldump备份报错 339
14.2.10 Table 'tbl_name'doesn't exist 339
14.2.11 root账号权限异常 340
14.2.12 SHOW PROCESSLIST输出中有大量unauthenticated user连接 340
14.2.13 统计information_schema里面的元数据信息缓慢 340
14.2.14 Aborted_connects、Aborted_clients异常升高 341
14.2.15 MySQL server has gone away错误 342
14.2.16 信息包过大错误 342
14.2.17 内存溢出 343
14.2.18 MySQL单张表为多大才合适,为什么大表会慢 343
14.2.19 MySQL最大能支持多大的并发查询 344
14.2.20 创建索引出错 344
14.3 故障和性能问题处理 344
14.3.1 通过减少文件排序和临时表提高性能 344
14.3.2 通过慢查询快速定位导致性能问题的SQL 345
14.3.3 定位导致了性能问题的客户端/应用服务器 345
第15章 运维管理 346
15.1 规模化运维 346
15.1.1 基础环境 346
15.1.2 虚拟化 348
15.1.3 关于去IOE 349
15.1.4 资源利用和隔离 350
15.1.5 关于备机、备份 351
15.2 服务器采购 352
15.3 运维规则 352
15.3.1 确保基础网络稳定可靠 353
15.3.2 应构建性能模型,进行容量规划 353
15.3.3 优先扩容,再考虑优化 353
15.3.4 保持简单 353
15.3.5 监控一切 354
15.3.6 处理监控报警 354
15.3.7 不要重复“造轮子” 354
15.3.8 允许出错 354
15.3.9 设置备用角色 355
15.3.10 仔细阅读产品文档 355
15.3.11 画数据流图和物理部署图 355
15.3.12 要有版本控制 356
15.3.13 解决问题要用合适的工具 356
15.3.14 系统工程师要具备定位瓶颈的能力 356
15.3.15 确保无线网络的稳定 356
15.3.16 确保访问生产网络时有备用的访问方式 357
15.3.17 让优秀的人做工具/平台 357
15.3.18 要有分工,每个角色都很重要 357
15.3.19 其他团队应能轻松获取生产环境信息 358
15.3.20 由独立的系统处理代码性能问题 358
15.3.21 运维人员应介入产品开发的初期 358
15.3.22 关注安全 358
15.3.23 关注配置管理 358
15.3.24 对优先级进行管理 359
15.3.25 不要为了优化而优化 359
15.3.26 不要过早优化 359
15.3.27 要有知识分享系统 359
15.3.28 参加业内技术论坛 359
15.3.29 必须开周会 360
15.3.30 积极支持队友,和团队一起成长 360
15.3.31 从公司的利益出发 360
15.3.32 确保每个人都是可以被替换的 360
15.3.33 不要受绩效束缚 361
15.3.34 不断优化流程设计 361
15.3.35 要了解一些财务知识 361
15.3.36 了解其他领域 362
第五部分 性能调优与架构篇
第16章 基础理论和工具 364
16.1 性能调优理论 364
16.1.1 基础概念 364
16.1.2 阿姆达尔定律 367
16.1.3 通用扩展定律 370
16.1.4 排队论 373
16.2 诊断工具 375
16.2.1 OS诊断工具 375
16.2.2 MySQL诊断工具 392
16.3 调优方法论 417
16.3.1 性能调优的误区 417
16.3.2 调优指引 417
16.3.3 调优步骤 419
16.3.4 调优的方法 420
第17章 应用程序调优 421
17.1 程序访问调优 421
17.1.1 好的架构和程序逻辑 421
17.1.2 好的监控系统和可视化工具 424
17.1.3 良好的灰度发布和降级功能 425
17.1.4 合理地拆分代码 425
17.2 应用服务器调优 425
第18章 MySQL Server调优 427
18.1 概述 427
18.2 MySQL的主要参数 428
18.3 MySQL内存优化 433
18.3.1 如何避免使用swap 433
18.3.2 NUMA 434
18.4 MySQL CPU优化 437
18.5 MySQL I/O优化 438
18.5.1 概述 438
18.5.2 选择合适的I/O大小 439
18.5.3 日志缓冲如何刷新到磁盘 439
18.5.4 事务日志 440
18.5.5 二进制日志 441
18.5.6 InnoDB如何打开和刷新数据、日志文件 441
18.5.7 InnoDB共享表空间和独立表空间 441
18.5.8 UNDO暴涨的可能性 442
18.5.9 关于doublewrite buffer 442
18.5.10 数据库文件分类 442
18.5.11 何时运行OPTIMIZE TABLE 443
18.5.12 MySQL磁盘空间 443
第19章 操作系统、硬件、网络的优化 445
19.1 基本概念 445
19.2 文件系统的优化 446
19.3 内存 448
19.4 CPU 448
19.5 I/O 449
19.5.1 概述 449
19.5.2 传统磁盘 449
19.5.3 关于RAID 450
19.5.4 关于SSD 451
19.6 网络 452
第20章 可扩展的架构 454
20.1 做好容量规划 454
20.2 扩展和拆分 455
20.3 读写分离 457
20.4 切勿过度设计 458
20.5 可扩展的方法 460
20.5.1 优化静态内容、动态内容 460
20.5.2 网络优化 461
20.5.3 解耦 461
20.6 使用云数据库 462
第21章 高可用性 464
21.1 概述 464
21.2 单点故障 465
21.3 MySQL数据库切换 466
21.4 跨IDC同步 468
第22章 其他产品的选择 469
22.1 列式数据库产品 469
22.2 NoSQL产品的选择 470
22.2.1 概述 470
22.2.2 灾难恢复性 472
22.2.3 可维护性 474
22.2.4 可靠性 475
22.2.5 高可用性 475
22.2.6 高性能 476
22.2.7 可扩展性 477
22.2.8 资源利用 479
22.2.9 功能特性实现 481
22.2.10 数据结构 484
22.2.11 选择数据库产品的建议 484
参考文献 487

推荐

车牌查询
桂ICP备20004708号-3