图书介绍

MariaDB原理与实现pdf电子书版本下载

MariaDB原理与实现
  • 张金鹏,张成远,季锡强编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115385178
  • 出版时间:2015
  • 标注页数:290页
  • 文件大小:35MB
  • 文件页数:300页
  • 主题词:关系数据库系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

MariaDB原理与实现PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 MariaDB概述 1

1.1 MariaDB的历史 1

1.2 MariaDB所做的事情 2

1.2.1 更丰富的存储引擎 2

1.2.2 性能的提升 2

1.2.3 扩展和新特性 3

1.2.4 更好的测试 3

1.2.5 尽量消除错误和警告 4

1.3 MariaDB的版本与兼容性 4

1.3.1 MariaDB 5.1和MySQL 5.1的不兼容性 4

1.3.2 MariaDB 5.2和MySQL 5.1的不兼容性 5

1.3.3 MariaDB 5.3和MySQL 5.1、MariaDB 5.2的不兼容性 5

1.3.4 MariaDB 5.5和MariaDB 5.3的不兼容性 6

1.3.5 MariaDB 5.5与MariaDB 5.3和MySQL 5.5的不兼容性 7

1.3.6 MariaDB 10.0和MySQL 5.6的不兼容性 7

1.4 编译和安装MariaDB 8

1.4.1 使用二进制安装包进行安装 8

1.4.2 使用源代码进行编译安装 9

1.5 联系社区 11

1.6 小结 12

第2章 MariaDB的扩展和新特性 13

2.1 更多的存储引擎 13

2.1.1 全新的Aria存储引擎 13

2.1.2 XtraDB存储引擎 16

2.1.3 SphinxSE存储引擎 17

2.1.4 FederatedX存储引擎 17

2.1.5 TokuDB存储引擎 18

2.1.6 Cassandra存储引擎 18

2.1.7 CONNECT存储引擎 18

2.1.8 Sequence存储引擎 19

2.1.9 Spider存储引擎 20

2.2 线程池技术和binlog group commit技术 22

2.2.1 线程池技术 22

2.2.2 binlog group commit技术 23

2.3 MariaDB其他扩展和新特性 23

2.3.1 更高的时间精度 23

2.3.2 虚拟列 24

2.3.3 用户统计功能 25

2.3.4 KILL命令的扩展 27

2.3.5 命令执行进度报告 27

2.3.6 动态列 28

2.3.7 多源复制 29

2.4 小结 29

第3章 初识MariaDB源代码 31

3.1 MariaDB源代码的目录组织结构 31

3.2 MariaDB对类型和函数的封装 33

3.2.1 对类型的封装 33

3.2.2 对函数的封装 33

3.3 调试MariaDB 34

3.3.1 准备工作 34

3.3.2 mysqld关键的函数调用 37

3.3.3 调试 38

3.4 小结 40

第4章 MariaDB基础数据结构 41

4.1 内存池MEM_ROOT 41

4.1.1 内存碎片问题 42

4.1.2 MEM_ROOT的定义 44

4.1.3 MEM_ROOT的使用 46

4.1.4 MEM_ROOT的初始化 47

4.1.5 分配内存 48

4.1.6 内存回收 50

4.1.7 MEM_RooT的使用场景 52

4.2 文件缓存IO_CACHE 52

4.2.1 高性能武器——缓存 53

4.2.2 IO_CACHE的定义 54

4.2.3 IO_CACHE的使用 57

4.3 NET结构 63

4.4 线程上下文——THD 65

4.5 TABLE_SHARE 69

4.6 TABLE 73

4.7 小结 76

第5章 MariaDB线程池 77

5.1 线程池相关的参数 77

5.1.1 MariaDB 5.1和MariaDB 5.3中的线程池 77

5.1.2 MariaDB 5.5和MariaDB 10.0中的线程池 78

5.2 何时使用线程池 79

5.3 线程池的实现 79

5.3.1 线程池相关的数据结构 80

5.3.2 线程池的初始化 82

5.3.3 添加连接到线程池 84

5.3.4 worker线程 85

5.3.5 get event函数 86

5.3.6 listener线程 89

5.3.7 timer线程 92

5.4 小结 94

第6章 二进制日志binlog 95

6.1 简介 95

6.1.1 binlog的作用 96

6.1.2 index文件 96

6.2 binlog的使用 97

6.2.1 开启binlog 97

6.2.2 选择binlog的格式 97

6.2.3 binlog的相关参数 98

6.3 binlog事件 99

6.3.1 binlog事件格式 99

6.3.2 binlog事件类型 101

6.3.3 binlog事件的实现 108

6.4 清理binlog 109

6.4.1 手动清理binlog 109

6.4.2 自动清理binlog 109

6.4.3 purge命令的实现 109

6.5 binlog_cache_mngr结构 112

6.6 mysqlbinlog工具 112

6.7 使用binlog进行恢复 113

6.8 小结 113

第7章 binlog group commit技术 115

7.1 事务的两阶段提交 115

7.2 binlog group commit的工作原理 117

7.3 binlog group commit的实现 118

7.3.1 相关的数据结构 118

7.3.2 代码执行流程 120

7.3.3 事务排队 125

7.3.4 leader线程的工作 128

7.3.5 prepare ordered和commit ordered接口 134

7.4 小结 135

第8章 复制 136

8.1 简介 136

8.2 复制的作用 137

8.3 复制的工作原理 138

8.3.1 概要 138

8.3.2 relay-log 140

8.3.3 master.info文件和relay-log.info文件 140

8.4 复制的配置 141

8.4.1 在新安装的主库和从库上配置复制 141

8.4.2 主库有一定数据时的复制配置 144

8.4.3 选择性复制 150

8.5 复制的实现 151

8.5.1 复制相关的数据结构 152

8.5.2 复制的初始化——init_slave函数 157

8.5.3 CHANGE MASTER TO命令——准备工作 159

8.5.4 START SLAVE命令——开启复制 160

8.5.5 STOP SLAVE命令——停止复制 160

8.5.6 slave IO线程 161

8.5.7 slave SQL线程 164

8.5.8 master dump线程 165

8.6 半同步复制 168

8.6.1 半同步复制的工作原理 168

8.6.2 半同步的安装和配置 169

8.6.3 半同步复制的实现 171

8.6.4 半同步复制的变种 179

8.6.5 半同步复制的潜在问题 180

8.7 并行复制 181

8.7.1 MySQL的并行复制 181

8.7.2 MariaDB的并行复制 181

8.8 多源复制 182

8.8.1 多源复制的应用场景 182

8.8.2 多源复制相关的命令 183

8.8.3 MariaDB多源复制的实现 184

8.9 GTID 185

8.9.1 GTID的概念 186

8.9.2 在MySQL上配置基于GTID的复制 186

8.9.3 MySQL中GTID的实现 187

8.9.4 MariaDB中的GTID 195

8.10 小结 195

第9章 数据结构和算法 197

9.1 算法复杂度 197

9.2 B+树和索引 198

9.2.1 磁盘的读取 198

9.2.2 B+树 199

9.2.3 数据库索引 200

9.3 堆排序与快速排序 201

9.3.1 堆——优先级队列 201

9.3.2 堆排序 202

9.3.3 快速排序——qsort 203

9.4 ORDER BY的实现 204

9.4.1 使用索引的已有顺序 205

9.4.2 filesort算法 207

9.5 JOIN的实现 210

9.5.1 JOIN语句的使用 211

9.5.2 Nest Loop Join算法 212

9.5.3 Block Nest Loop Join算法 214

9.5.4 Batched Key Access Join算法 216

9.5.5 Hash Join算法 216

9.5.6 Sort Merge Join算法 217

9.6 小结 218

第10章 分布式数据库 219

10.1 分布式数据库概要 219

10.1.1 分布式数据库的特点 219

10.1.2 系统的扩展方式 220

10.1.3 分布式数据库中的技术难点 221

10.2 数据的分片方式 221

10.3 分布式数据库实践——京东分布式数据库系统 222

10.3.1 京东分布式数据库系统架构 222

10.3.2 高可用组的初始化 223

10.3.3 数据的分片 224

10.3.4 系统的高可用性 225

10.3.5 系统的可扩展性 227

10.4 小结 230

附录A 数据库与IO资源控制 231

精品推荐