万本电子书0元读

万本电子书0元读

顶部广告

MariaDB原理与实现电子书

  **一线发人员力作   详细讲述数据库内部的实现原理   深浅出地阐述MariaDB的设计理念   广泛涵盖MariaDB区别于MySQL的主要亮功能

售       价:¥

纸质售价:¥40.70购买纸书

55人正在读 | 0人评论 6.2

作       者:张金鹏

出  版  社:人民邮电出版社

出版时间:2015-03-01

字       数:28.8万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
《MariaDB原理与实现》由浅深地剖析了MariaDB,首先简要介绍了一些基础知识、新特性、对MySQL原有功能所做的扩展以及源代码,着介绍了底层数据结构、线程池技术、binlog、复制等内容,后介绍了分布式数据库系统。 《MariaDB原理与实现》主要面向想了解MariaDB/MySQL的工作原理及具体实现的读者,以及想要阅读MariaDB/MySQL源代码却苦于不知道从何处始的读者。<br/>【推荐语】<br/>**一线发人员力作 详细讲述数据库内部的实现原理 深浅出地阐述MariaDB的设计理念 广泛涵盖MariaDB区别于MySQL的主要亮功能<br/>【作者】<br/>张金鹏 **资深技术专家,MySQL数据库专家,**云数据库组核心成员,主要负责MySQL内核优化及二次发。多年数据库领域以及搜索引擎领域的工作经验,对Redis、Memcached等NoSQL数据库,以及CGroup、LXC、Docker等容器技术有深的研究。 新浪微博:弓长金鹏 张成远  **资深架构师。毕业于东北大学,硕士阶段研究分布式数据库相关方向,2012年加**云数据库技术团队。擅长高性能服务器发、分布式数据库、分布式存储/缓存等大规模分布式系统架构。主导了**分布式数据库系统及容器系统的架构与发工作。 新浪微博:NEU_寒水 季锡强 **资深架构师,主要负责**分布式数据库的架构设计及研发工作,主导容器技术在**的应用与推广。专注于高性能服务器、分布式数据库、分布式存储/缓存及容器技术,对容器核心技术及golang并发编程有深研究。<br/>
目录展开

目标读者

章节安排

致谢

联系作者

第 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.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 对函数的封装

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 START 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资源控制

A.1 数据库资源控制方案简介

A.1.1 基于应用层的资源控制

A.1.2 基于OS层的资源控制

A.2 CGroup的基本使用

A.2.1 内核选项检查及编译

A.2.2 CGroup的操作方法

A.2.3 使用CGroup限制进程CPU使用带宽

A.2.4 使用CGroup限制进程的内存使用

A.2.5 使用CGroup限制磁盘带宽使用

A.2.6 通过限流方式控制IO资源的使用

A.3 CGroup框架实现

A.3.1 核心数据结构

A.3.2 CGroup子系统初始化过程

A.3.3 CGroup文件系统的挂载实现

A.3.4 Cgroup block子系统IO限流实现

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部