欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 教程文档 > 数据库 > MariaDB原理与实现[PDF][47.58MB]

MariaDB原理与实现[PDF][47.58MB]

2019-05-07 569 收藏 0 赞一个 0 真差劲 0 去评论 去下载

内容简介

《MariaDB原理与实现》由浅入深地剖析了MariaDB,首先简要介绍了一些基础知识、新特性、对MySQL原有功能所做的扩展以及源代码,接着介绍了底层数据结构、线程池技术、binlog、复制等内容,最后介绍了分布式数据库系统。 
  《MariaDB原理与实现》主要面向想了解MariaDB/MySQL的工作原理及具体实现的读者,以及想要阅读MariaDB/MySQL源代码却苦于不知道从何处开始的读者。

目录

第1章 MariaDB概述 
1.1 MariaDB的历史 
1.2 MariaDB所做的事情 
1.2.1 更丰富的存储引擎 
1.2.2 性能的提升 
1.2.3 扩展和新特性 
1.2.4 更好的测试 
1.2.5 尽量消除错误和警告 
1.3 MariaDB的版本与兼容性 
1.3.1 MariaDB 5.1和MySQL 5.1的不兼容性 
1.3.2 MariaDB 5.2和MySQL 5.1的不兼容性 
1.3.3 MariaDB 5.3和MySQL 5.1、MariaDB 5.2的不兼容性 
1.3.4 MariaDB 5.5和MariaDB 5.3的不兼容性 
1.3.5 MariaDB 5.5与MariaDB 5.3和MySQL 5.5的不兼容性 
1.3.6 MariaDB 10.0和MySQL 5.6的不兼容性 
1.4 编译和安装MariaDB 
1.4.1 使用二进制安装包进行安装 
1.4.2 使用源代码进行编译安装 
1.5 联系社区 
1.5.1 Launchpad团队和邮件列表 
1.5.2 MariaDB Commits列表 
1.5.3 MariaDB Captains 
1.5.4 MariaDB公告列表 
1.5.5 IRC 
1.5.6 讨论组 
1.5.7 要求增加新特性 
1.5.8 MariaDB知识基础 
1.6 小结 
第2章 MariaDB的扩展和新特性 
2.1 更多的存储引擎 
2.1.1 全新的Aria存储引擎 
2.1.2 XtraDB存储引擎 
2.1.3 SphinxSE存储引擎 
2.1.4 FederatedX存储引擎 
2.1.5 TokuDB存储引擎 
2.1.6 Cassandra存储引擎 
2.1.7 CONNECT存储引擎 
2.1.8 Sequence存储引擎 
2.1.9 Spider存储引擎 
2.2 线程池技术和binlog group commit技术 
2.2.1 线程池技术 
2.2.2 binlog group commit技术 
2.3 MariaDB其他扩展和新特性 
2.3.1 更高的时间精度 
2.3.2 虚拟列 
2.3.3 用户统计功能 
2.3.4 KILL命令的扩展 
2.3.5 命令执行进度报告 
2.3.6 动态列 
2.3.7 多源复制 
2.4 小结 
第3章 初识MariaDB源代码 
3.1 MariaDB源代码的目录组织结构 
3.2 MariaDB对类型和函数的封装 
3.2.1 对类型的封装 
3.2.2 MariaDB对函数的封装 
3.3 调试MariaDB 
3.3.1 准备工作 
3.3.2 mysqld关键的函数调用 
3.3.3 调试 
3.4 小结 
第4章 MariaDB基础数据结构 
4.1 内存池MEM_ROOT 
4.1.1 内存碎片问题 
4.1.2 MEM_ROOT的定义 
4.1.3 MEM_ROOT的使用 
4.1.4 MEM_ROOT的初始化 
4.1.5 分配内存 
4.1.6 内存回收 
4.1.7 MEM_ROOT的使用场景 
4.2 文件缓存IO_CACHE 
4.2.1 高性能武器——缓存 
4.2.2 IO_CACHE的定义 
4.2.3 IO_CACHE的使用 
4.3 NET结构 
4.4 线程上下文——THD 
4.5 TABLE_SHARE 
4.6 TABLE 
4.7 小结 
第5章 MariaDB线程池 
5.1 线程池相关的参数 
5.1.1 MariaDB 5.1和MariaDB 5.3中的线程池 
5.1.2 MariaDB 5.5和MariaDB 10.0中的线程池 
5.2 何时使用线程池 
5.3 线程池的实现 
5.3.1 线程池相关的数据结构 
5.3.2 线程池的初始化 
5.3.3 添加连接到线程池 
5.3.4 worker线程 
5.3.5 get_event函数 
5.3.6 listener线程 
5.3.7 timer线程 
5.4 小结 
第6章 二进制日志binlog 
6.1 简介 
6.1.1 binlog的作用 
6.1.2 index文件 
6.2 binlog的使用 
6.2.1 开启binlog 
6.2.2 选择binlog的格式 
6.2.3 binlog的相关参数 
6.3 binlog事件 
6.3.1 binlog事件格式 
6.3.2 binlog事件类型 
6.3.3 binlog事件的实现 
6.4 清理binlog 
6.4.1 手动清理binlog 
6.4.2 自动清理binlog 
6.4.3 purge命令的实现 
6.5 binlog_cache_mngr结构 
6.6 mysqlbinlog工具 
6.7 使用binlog进行恢复 
6.8 小结 
第7章 binlog group commit技术 
7.1 事务的两阶段提交 
7.2 binlog group commit的工作原理 
7.3 binlog group commit的实现 
7.3.1 相关的数据结构 
7.3.2 代码执行流 
7.3.3 事务排队 
7.3.4 leader线程的工作 
7.3.5 prepare_ordered和commit_ordered接口 
7.4 小结 
第8章 复制 
8.1 简介 
8.2 复制的作用 
8.3 复制的工作原理 
8.3.1 概要 
8.3.2 relay-log 
8.3.3 master.info文件和relay-log.info文件 
8.4 复制的配置 
8.4.1 在新安装的主库和从库上配置复制 
8.4.2 主库有一定数据时的复制配置 
8.4.3 选择性复制 
8.5 复制的实现 
8.5.1 复制相关的数据结构 
8.5.2 复制的初始化——init_slave函数 
8.5.3 CHANGE MASTER TO命令——准备工作 
8.5.4 STAERT SLAVE命令——开启复制 
8.5.5 STOP SLAVE命令——停止复制 
8.5.6 slave IO线程 
8.5.7 slave SQL线程 
8.5.8 master dump线程 
8.6 半同步复制 
8.6.1 半同步复制的工作原理 
8.6.2 半同步的安装和配置 
8.6.3 半同步复制的实现 
8.6.4 半同步复制的变种 
8.6.5 半同步复制的潜在问题 
8.7 并行复制 
8.7.1 MySQL的并行复制 
8.7.2 MariaDB的并行复制 
8.8 多源复制 
8.8.1 多源复制的应用场景 
8.8.2 多源复制相关的命令 
8.8.3 MariaDB多源复制的实现 
8.9 GTID 
8.9.1 GTID的概念 
8.9.2 在MySQL上配置基于GTID的复制 
8.9.3 MySQL中GTID的实现
8.9.4 MariaDB中的GTID
8.10 小结 
第9章 数据结构和算法 
9.1 算法复杂度 
9.2 B+树和索引 
9.2.1 磁盘的读取 
9.2.2 B+树 
9.2.3 数据库索引 
9.3 堆排序与快速排序 
9.3.1 堆——优先级队列 
9.3.2 堆排序 
9.3.3 快速排序——qsort 
9.4 ORDER BY的实现
9.4.1 使用索引的已有顺序 
9.4.2 filesort算法 
9.5 JOIN的实现 
9.5.1 JOIN语句的使用 
9.5.2 Nest Loop Join算法 
9.5.3 Block Nest Loop Join算法 
9.5.4 Batched Key Access Join算法 
9.5.5 Hash Join算法 
9.5.6 Sort Merge Join算法 
9.6 小结 
第10章 分布式数据库 
10.1 分布式数据库概要 
10.1.1 分布式数据库的特点 
10.1.2 系统的扩展方式 
10.1.3 分布式数据库中的技术难点 
10.2 数据的分片方式 
10.3 分布式数据库实践——**分布式数据库系统 
10.3.1 **分布式数据库系统架构 
10.3.2 高可用组的初始化 
10.3.3 数据的分片 
10.3.4 系统的高可用性 
10.3.5 系统的可扩展性 
10.4 小结 
附录A 数据库与IO资源控制

文档截图

QQ截图20190507201258.jpg

MariaDB原理与实现[PDF][47.58MB]

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

下载地址
大家评论