具体描述
《MySQL性能调优与架构设计》以 MySQL 数据库的基础及维护为切入点,重点介绍了 MySQL 数据库应用系统的性能调优,以及高可用可扩展的架构设计。
全书共分3篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份恢复知识。性能优化篇从影响 MySQL 数据库应用系统性能的因素开始,针对性地对各个影响因素进行调优分析。如 MySQL Schema 设计的技巧,Query 语句的性能优化方式方法及MySQL Server中SQL层和存储引擎层的优化思路。同时还分析了 MySQL 数据库中主要存储引擎的锁定机制。架构设计篇则主要以设计一个高可用可扩展的分布式企业级数据库集群环境为目标,分析介绍了通过 MySQL 实现这一目标的多种架构方式。主要包括可扩展和高可用两部分内容,可扩展部分包括设计原则、Replication 的利用、数据切分、如何使用 Cache 和 Search,以及 NDB Cluster等内容。高可用则主要包括 Dual Master、DRBD、NDB Cluster,以及系统监控等方面。
本书主要面向有一定的 MySQL 基础或至少有一定SQL语言基础的读者朋友。
作者简介
目录信息
第1章 MySQL基本介绍 3
1.0 引言 4
1.1 MySQL Server简介 4
1.2 MySQL与其他数据库的简单比较 6
1.3 MySQL 的主要适用场景 8
1.4 小结 9
第2章 MySQL架构组成 11
2.0 引言 12
2.1 MySQL物理文件组成 12
2.2 MySQL Server系统架构 16
2.3 MySQL 自带工具使用介绍 22
2.4 小结 26
第3章 MySQL存储引擎简介 27
3.0 引言 28
3.1 MySQL存储引擎概述 28
3.2 MyISAM存储引擎简介 29
3.3 InnoDB存储引擎简介 30
3.4 NDB Cluster 存储引擎简介 32
3.5 其他存储引擎介绍 34
3.6 小结 37
第4章 MySQL安全管理 39
4.0 引言 40
4.1 数据库系统安全相关因素 40
4.2 MySQL 权限系统介绍 43
4.3 MySQL 访问授权策略 54
4.4 安全设置注意事项 55
4.5 小结 57
第5章 MySQL备份与恢复 59
5.0 引言 60
5.1 数据库备份使用场景 60
5.2 逻辑备份与恢复测试 61
5.3 物理备份与恢复测试 68
5.4 备份策略的设计思路 75
5.5 小结 76
第2篇 性能优化篇 77
第6章 影响MySQL Server性能的相关因素 79
6.0 引言 80
6.1 商业需求对性能的影响 80
6.2 系统架构及实现对性能的影响 83
6.3 Query语句对系统性能的影响 89
6.4 Schema设计对系统的性能影响 96
6.5 硬件环境对系统性能的影响 99
6.6 小结 102
第7章 MySQL数据库锁定机制 103
7.0 引言 104
7.1 MySQL锁定机制简介 104
7.2 各种锁定机制分析 106
7.3 合理利用锁机制优化MySQL 117
7.4 小结 120
第8章 MySQL数据库Query的优化 121
8.0 引言 122
8.1 理解MySQL的Query Optimizer 122
8.2 Query 语句优化基本思路和原则 123
8.3 充分利用 Explain 和 Profiling 130
8.4 合理设计并利用索引 136
8.5 Join的实现原理及优化思路 149
8.6 ORDER BY、GROUP BY和DISTINCT的优化 155
8.7 小结 167
第9章 MySQL数据库Schema 设计的性能优化 169
9.0 引言 170
9.1 高效的模型设计 170
9.2 合适的数据类型 176
9.3 规范的对象命名 180
9.4 小结 181
第10章 MySQL Server性能优化 183
10.0 引言 184
10.1 MySQL安装优化 184
10.2 MySQL日志设置优化 188
10.3 Query Cache 优化 192
10.4 MySQL Server 其他常用优化 196
10.5 小结 202
第11章 常用存储引擎优化 203
11.0 引言 204
11.1 MyISAM存储引擎优化 204
11.2 InnoDB 存储引擎优化 211
11.3 小结 227
第3篇 架构设计篇 229
第12章 MySQL可扩展设计的基本原则 231
12.0 引言 232
12.1 什么是可扩展性 232
12.2 事务相关性最小化原则 234
12.3 数据一致性原则 235
12.4 高可用及数据安全原则 237
12.5 小结 237
第13章 可扩展性设计之 MySQL Replication 239
13.0 引言 240
13.1 Replication 对可扩展性设计的意义 240
13.2 Replication 机制的实现原理 241
13.3 Replication常用架构 244
13.4 Replication 搭建实现 249
13.5 小结 255
第14章 可扩展性设计之数据切分 257
14.0 引言 258
14.1 何谓数据切分 258
14.2 数据的垂直切分 259
14.3 数据的水平切分 261
14.4 垂直与水平联合切分的使用 263
14.5 数据切分及整合方案 265
14.6 数据切分与整合中可能存在的问题 271
14.7 小结 273
第15章 可扩展性设计之Cache与Search的利用 275
15.0 引言 276
15.1 可扩展设计的数据库之外延伸 276
15.2 合理利用第三方Cache解决方案 277
15.3 自行实现Cache服务 284
15.4 利用Search实现高效的全文检索 285
15.5 利用分布式并行计算实现大数据量的高性能运算 287
15.6 小结 288
第16章 MySQL Cluster 289
16.0 引言 290
16.1 MySQL Cluster介绍 290
16.2 MySQL Cluster环境搭建 292
16.3 MySQL Cluster配置详细介绍(config.ini) 298
16.4 MySQL Cluster基本管理与维护 304
16.5 基本优化思路 307
16.6 小结 308
第17章 高可用设计思路及方案 309
17.0 引言 310
17.1 利用 Replication 来实现高可用架构 310
17.2 利用MySQL Cluster实现整体高可用 316
17.3 利用DRBD保证数据的高安全可靠 320
17.4 其他高可用设计方案 323
17.5 各种高可用方案的利弊比较 326
17.6 小结 327
第18章 高可用设计之MySQL监控 329
18.0 引言 330
18.1 监控系统设计 330
18.2 健康状态监控 332
18.3 性能状态监控 335
18.4 常用开源监控软件 342
18.5 小结 344
附录A 实验测试Schema创建脚本 345
附录B MySQL部分系统参数说明及设置建议 349
附录C MySQL部分状态说明 373
索引 389
· · · · · · (收起)
读后感
学习了多年的编程、做了多年的项目,数据库也用了多年。但是从数据量、并发用户数方面,一直考虑较少,所做项目大多是面向特定机构、特定用户。这本书可以看作是关于Web2.0项目DB方面的一个指导用书。 第一篇共5章,平淡如水,MySQL基础、架构、存储引擎、权限及备份,和一般...
该书的亮点是运用实例讲解mysql锁的相关内容,揭示瓶颈真的所在。也许是第一版的缘故,错误的内容可能有点多。 在书的首页竟然发现了即将上市的《高性能mysql》,看来又要买书了.
这本书很薄, 比较容易啃完, 我是在每天上下班的地铁上看完的. 作为MySQL的初入门者, 这本书给我的帮助很多. 建议结合实际工作阅读此书, 实践才是学习的最好方式. 说一些书中的不足: 1. 示例太少. 有些部分给人泛泛而谈的感觉. 2. 出版时间有点早, 可能书中讲述的一些知识现在...
之前,对mysql是一知半解,觉得就是用它来建个表,然后就是令人讨厌的、重复的CURD了,没有心思、也没有意识去关注mysql的本来面目。 公司实习的某一天,在同事的工位上发现了这本书。最先读的是关于数据库切分的那一章,没想到mysql还有这本事。于是,几乎每天的午休,我都会...
这本书很难评价,如果稍有经验的DBA从中也许获取不了任何的经验,因为讲的东西都是比较基础的,没有任何难度.可以从头读到底,不需要任何的思考. 这对于初学MySQL的用户来说也许是一件好事情,但是对于我来说我希望读完一本书可以让我回味,让我思考,以及启发我的一些想法.
用户评价
我是一名后端开发工程师,在我的开发生涯中,经常会遇到因为数据库性能不佳而导致的系统响应缓慢的问题。虽然我不是DBA,但我有责任去理解并优化我的代码所产生的SQL语句。这本书的出现,对我来说就像是一场及时雨。我希望它能帮助我理解常见的SQL性能瓶颈是如何产生的,以及如何通过优化SQL语句本身来提升性能。例如,如何写出更高效的WHERE子句?如何合理地使用JOIN?如何避免全表扫描?此外,我也非常期待书中能够讲解一些关于数据库连接池、缓存机制等与应用层紧密相关的性能优化方法。能够通过这本书,提升自己编写高效SQL的能力,从而让我的应用程序运行得更流畅,这将对我职业发展有极大的帮助。
我是一个MySQL新手,对数据库的了解还停留在基础的增删改查层面,但我的工作职责却要求我不得不开始接触和处理一些与性能相关的问题。在网上搜索相关的资料时,我看到了很多碎片化的信息,让人眼花缭乱,而且很多都显得过于晦涩难懂,让我望而却步。当我偶然看到《MySQL性能调优与架构设计》这本书时,我的眼前豁然一亮。书名中的“调优”和“设计”虽然听起来有些高深,但我相信这本书的作者一定能够以一种循序渐进、通俗易懂的方式来讲解这些复杂的内容。我特别好奇作者会如何介绍MySQL的内部工作原理,以及在性能出现问题时,有哪些通用的方法可以用来诊断和解决。我希望这本书能够从最基础的概念讲起,逐步深入到更复杂的性能优化技巧,并且提供一些适合初学者的实践练习,让我能够在学习理论的同时,也能动手操作,加深理解。
这本书的封面设计我非常喜欢,简约大气,散发着一种专业而沉稳的气息。书名“MySQL性能调优与架构设计”本身就点明了核心主题,对于像我这样常年与数据库打交道、尤其是在性能瓶颈问题上头疼不已的技术人员来说,简直是福音。我一直在寻找一本能够深入浅出讲解MySQL性能优化技巧和架构设计理念的权威指南,希望这本书能填补我在这方面的知识空白。特别是关于索引优化、查询重写、缓存策略以及数据库集群和高可用方案的设计,这些都是我在实际工作中经常遇到的挑战,也是我最期待在这本书中找到答案的部分。当然,理论知识的讲解固然重要,但更关键的是能否提供大量贴近实际场景的案例分析和具体的实践指导。我希望这本书不仅能告诉我“为什么”要这样做,更能教会我“如何”具体实施,并且在遇到问题时,能够提供一套系统性的排查思路和解决方案。
最近我们团队面临着一个严峻的挑战:随着业务量的爆发式增长,原有的MySQL数据库已经不堪重负,查询延迟高、吞吐量低的问题日益突出,严重影响了用户体验。我们急需一本能够提供切实可行解决方案的参考书。 《MySQL性能调优与架构设计》的出现,给了我们团队一丝曙光。我们希望这本书能够包含一套完整的性能诊断流程,能够帮助我们快速定位问题所在。同时,我们更希望书中能够提供一些针对大规模数据量和高并发场景下的调优策略,比如如何进行数据库分片、如何优化复杂的聚合查询、以及如何利用MySQL的特性来应对高并发访问。此外,对于如何进行数据库迁移和升级,以及如何构建高可用集群以应对单点故障,我们也希望能在这本书中找到详细的指导和实践经验。
作为一名资深的数据库管理员,我见过太多为了解决MySQL性能问题而耗费大量时间和精力的项目。很多时候,我们都是在“救火”,临时抱佛脚,效果往往不尽如人意。我一直坚信,优秀的架构设计是性能优化的基石,而精湛的调优技巧则是锦上添花。所以,我特别关注《MySQL性能调优与架构设计》这本书中关于架构设计的部分。我希望它能提供一些关于如何构建可扩展、高可用、高性能的MySQL架构的系统性指导。例如,在分布式场景下,如何进行分库分表?如何选择合适的复制策略?如何进行读写分离?另外,在性能调优方面,我更希望看到的是一些超越表面技巧的深度分析,比如 MySQL 的存储引擎是如何工作的,不同存储引擎的适用场景,以及如何根据业务特点来选择和配置合适的存储引擎。
@DBA&MySQL,错别字一大堆,优化讲的很好,第三部分架构基本不靠谱。
不是很深入,适合初学
此书门槛不高,但质量很高。推荐一读。
: TP311.138/8247
很实用