网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 MySQL技术内幕(InnoDB存储引擎)/数据库技术丛书
分类
作者 姜承尧
出版社 机械工业出版社
下载
简介
编辑推荐

InnoDB是MySQL数据库中最常用、最核心和最重要的存储引擎之一,它是为处理海量数据时仍能获得最佳性能而设计的。它的CPU效率可能是任何其他基于磁盘的关系数据库引擎所不能匹敌的。

MySQL与其他数据库的一个显著不同在于它特有的插件式存储引擎架构。InnoDB作为MySQL的首选存储引擎已经被Facebook、Yahoo等很多大公司所采用并工作在其核心数据库应用中,已经被证明是一种高性能、高并发性和高可用性的存储引擎。几乎所有涉及大数据量的MySQL数据库应用架构都会采用,也必须采用InnoDB存储引擎。因此,掌握InnoDB存储引擎就等于掌握了MySQL数据库的核心。无论是DBA,还是一般的应用开发人员,要设计和管理高性能、高可用的数据库系统,都需要理解和掌握数据库的体系结构和内部实现。对于所有MySQL用户而言,如果要真正用好MySQL,要让它最佳地工作,就必须先彻底地掌握InnoDB。

本书从源代码的角度,对InnoDB的实现原理和工作机制进行了全面而深入的探讨,深度、广度和实践性完美结合,相信能给广大MySQL一用户带来帮助。

内容推荐

本书是国内目前唯一的一本关于InnoDB的著作,由资深MySQL专家亲自执笔,中外数据库专家联袂推荐,权威性毋庸置疑。

内容深入,从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握InnoDB,更重要的是,它能为你设计和管理高性能、高可用的数据库系统提供绝佳的指导。注重实战,全书辅有大量的案例,可操作性极强。全书首先全景式地介绍了MySQL独有的插件式存储引擎,分析了MySQL的各种存储引擎的优势和应用环境;接着以InnoDB的内部实现为切入点,逐一详细讲解了InnoDB存储引擎内部的各个功能模块,包括InnoDB存储引擎的体系结构、内存中的数据结构、基于InnoDB存储引擎的表和页的物理存储、索引与算法、文件、锁、事务、备份,以及InnoDB的性能调优等重要的知识;最后深入解析了InnoDB存储引擎的源代码结构,对大家阅读和理解InnoDB的源代码有重要的指导意义。

本书适合所有希望构建和管理高性能、高可用性的MySQL数据库系统的开发者和DBA阅读。

目录

推荐序

前言

致谢

第1章 MySQL体系结构和存储引擎/1

 1.1 定义数据库和实例/1

 1.2 MySQL体系结构/3

1.3 MySQL表存储引擎/5

1.3.1 InnoDB存储引擎/6

1.3.2 MyISAM存储引擎/7

1.3.3 NDB存储引擎/7

1.3.4 Memory存储引擎/8

1.3.5 Archive存储引擎/9

1.3.6 Federated存储引擎/9

1.3.7 Maria存储引擎/9

1.3.8 其他存储引擎/9

 1.4 各种存储引擎之间的比较/10

 1.5 连接MySQL/13

1.5.1 TCP/IP/13

1.5.2 命名管道和共享内存/14

1.5.3 Unix域套接字/15

 1.6 小结/15

第2章 InnoDB存储引擎/17

 2.1 InnoDB存储引擎概述/17

 2.2 InnoDB体系架构/18

2.2.1 后台线程/19

2.2.2 内存/22

 2.3 master thread/24

2.3.1 master thread源码分析/25

2.3.2 master thread的潜在问题/30

 2.4 关键特性/33

2.4.1 插入缓冲/33

2.4.2 两次写/36

2.4.3 自适应哈希索引/38

 2.5 启动、关闭与恢复/39

 2.6 InnoDB Plugin = 新版本的InnoDB存储引擎/42

 2.7 小结/44

第3章 文件/45

 3.1 参数文件/45

3.1.1 什么是参数/46

3.1.2 参数类型/47

 3.2 日志文件/48

3.2.1 错误日志/48

3.2.2 慢查询日志/50

3.2.3 查询日志/54

3.2.4 二进制日志/55

 3.3 套接字文件/64

 3.4 pid文件/64

 3.5 表结构定义文件/65

 3.6 InnoDB存储引擎文件/65

3.6.1 表空间文件/66

3.6.2 重做日志文件/67

 3.7 小结/70

第4章 表/72

 4.1 InnoDB存储引擎表类型/72

 4.2 InnoDB逻辑存储结构/72

4.2.1 表空间/72

4.2.2 段/75

4.2.3 区/75

4.2.4 页/82

4.2.5 行/83

 4.3 InnoDB物理存储结构/83

 4.4 InnoDB行记录格式/83

4.4.1 Compact 行记录格式/85

4.4.2 Redundant 行记录格式/88

4.4.3 行溢出数据/91

4.4.4 Compressed与Dynamic行记录格式/98

4.4.5 Char的行结构存储/99

 4.5 InnoDB数据页结构/101

4.5.1 File Header/103

4.5.2 Page Header/104

4.5.3 Infimum和Supremum记录/105

4.5.4 User Records与FreeSpace/106

4.5.5 Page Directory/106

4.5.6 File Trailer/107

4.5.7 InnoDB数据页结构示例分析/107

 4.6 Named File Formats/114

 4.7 约束/116

4.7.1 数据完整性/116

4.7.2 约束的创建和查找/117

4.7.3 约束和索引的区别/119

4.7.4 对于错误数据的约束/119

4.7.5 ENUM和SET约束/120

4.7.6 触发器与约束/121

4.7.7 外键/123

 4.8 视图/125

4.8.1 视图的作用/125

4.8.2 物化视图/128

 4.9 分区表/132

4.9.1 分区概述/132

4.9.2 RANGE分区/134

4.9.3 LIST分区/141

4.9.4 HASH分区/143

4.9.5 KEY分区/146

4.9.6 COLUMNS分区/146

4.9.7 子分区/148

4.9.8 分区中的NULL值/152

4.9.9 分区和性能/155

 4.10 小结/159

第5章 索引与算法/160

 5.1 InnoDB存储引擎索引概述/160

 5.2 二分查找法/161

 5.3 平衡二叉树/162

 5.4 B+树/164

5.4.1 B+树的插入操作/165

5.4.2 B+树的删除操作/167

 5.5 B+树索引/169

5.5.1 聚集索引/170

5.5.2 辅助索引/174

5.5.3 B+树索引的管理/178

 5.6 B+树索引的使用/183

5.6.1 什么时候使用B+树索引/183

5.6.2 顺序读、随机读与预读取/188

5.6.3 辅助索引的优化使用/191

5.6.4 联合索引/194

 5.7 哈希算法/198

5.7.1 哈希表/199

5.7.2 InnoDB存储引擎中的哈希算法/201

5.7.3 自适应哈希索引/201

 5.8 小结/203

第6章 锁/204

 6.1 什么是锁/204

 6.2 InnoDB存储引擎中的锁/205

6.2.1 锁的类型/205

6.2.2 一致性的非锁定读操作/211

6.2.3 SELECT...OR UPDATE & SELECT...LOCK IN SHARE MODE/214

6.2.4 自增长和锁/215

6.2.5 外键和锁/217

 6.3 锁的算法/218

 6.4 锁问题/220

6.4.1 丢失更新/221

6.4.2 脏读/222

6.4.3 不可重复读/223

 6.5 阻塞/224

 6.6 死锁/227

 6.7 锁升级/229

 6.8 小结/229

第7章 事务/230

 7.1 事务概述/230

 7.2 事务的实现/231

7.2.1 redo/231

7.2.2 undo/233

 7.3 事务控制语句/236

 7.4 隐式提交的SQL语句/241

 7.5 对于事务操作的统计/243

 7.6 事务的隔离级别/244

 7.7 分布式事务/248

 7.8 不好的事务习惯/253

7.8.1 在循环中提交/253

7.8.2 使用自动提交/255

7.8.3 使用自动回滚/256

 7.9 小结/258

第8章 备份与恢复/260

 8.1 备份与恢复概述/260

 8.2 冷备/262

 8.3 逻辑备份/263

8.3.1 mysqldump/263

8.3.2 SELECT...INTO OUTFILE/270

8.3.3 逻辑备份的恢复/272

8.3.4 LOAD DATA INFILE/273

8.3.5 mysqlimport/278

 8.4 二进制日志备份与恢复/280

 8.5 热备/281

8.5.1 ibbackup/281

8.5.2 XtraBackup/282

8.5.3 XtraBackup实现增量备份/284

 8.6 快照备份/286

 8.7 复制/291

8.7.1 复制的工作原理/291

8.7.2 快照+复制的备份架构/295

 8.8 小结/297

第9章 性能调优/298

 9.1 选择合适的CPU/298

 9.2 内存的重要性/299

 9.3 硬盘对数据库性能的影响/302

9.3.1 传统机械硬盘/302

9.3.2 固态硬盘/302

 9.4 合理地设置RAID/304

9.4.1 RAID类型/304

9.4.2 RAID Write Back功能/306

9.4.3 RAID配置工具/308

 9.5 操作系统的选择也很重要/311

 9.6 不同的文件系统对数据库性能的影响/312

 9.7 选择合适的基准测试工具/313

9.7.1 sysbench/313

9.7.2 mysql-tpcc/320

 9.8 小结/324

第10章 InnoDB存储引擎源代码的编译和调试/325

 10.1 获取InnoDB存储引擎源代码/325

 10.2 InnoDB源代码结构/329

 10.3 编译和调试InnoDB源代码/330

10.3.1 Windows下的调试/330

10.3.2 Linux下的调试/333

 10.4 小结/338

附录A Secondary Buffer Pool For InnoDB/339

附录B Master Thread源代码/342

附录C Doublewrite源代码/353

附录D 哈希算法和哈希表源代码/361

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/1 18:43:43