万本电子书0元读

万本电子书0元读

顶部广告

MySQL内核设计与实现电子书

本书是行业专家结合自己十余年的实践经验为读者造的深探索MySQL内核权威指南。与其他MySQL类书籍不同,本书深探索MySQL内核,全景式呈现MySQL 5.7及MySQL 8.0内核设计精髓,从源码层面解读核心模块,涵盖发展历程、架构设计理念和实践等关键内容,解析内核设计与实现细节,帮助读者理解运行机制,无论你是新手还是资深发者,都能从本书获益。

售       价:¥

纸质售价:¥81.70购买纸书

12人正在读 | 0人评论 6.5

作       者:赵景波

出  版  社:机械工业出版社

出版时间:2025-07-23

字       数:21.8万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

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

为你推荐

  • 读书简介
  • 目录
  • 累计评论(条)
  • 读书简介
  • 目录
  • 累计评论(条)
本书是资深数据库专家结合其十余年一线实战经验与源码研究倾力造的MySQL内核权威指南,全景式解构MySQL 5.7及MySQL 8.0内核设计精髓。作者采用基于SQL执行流的独特分析范式,通过一条查询语句的生命周期,串联起协议解析、数据字典、InnoDB存储引擎、并发控制等核心模块,揭秘缓冲池、双写缓冲区、自适应哈希索引的协同机制,以及B+树索引的物理操作细节。无论是希望突破技术瓶颈的DBA、追求卓越性能的互联网架构师,还是数据库内核发者,本书都将为你提供从启动流程到高可用架构(含MGR集群)的完整知识图谱,通过源码调试与物理操作剖析,通从原理认知到性能调优的实践路。 本书具体内容如下:第1章详细阐述MySQL内核的发展历程,并指导读者如何下载MySQL源码包以及搭建调试环境;第2章系统介绍MySQL的总体架构;第3章探讨客户端与服务端之间的协议;第4章分析数据字典的结构;第5章详细介绍InnoDB存储引擎的架构,包括在执行SQL语句时,InnoDB存储引擎中的缓冲池、双写缓冲区、自适应哈希索引以及后台线程是如何协同工作的;第6章讨论InnoDB的文件组织方式,解释SQL查询的数据是如何在文件中组织的;第7章揭示InnoDB索引的实现机制,阐述SQL语句是如何在索引上行数据扫描和插操作的;第8章阐述MySQL的并发控制机制;第9章介绍MySQL的高可用实现,包括MySQL不同阶段的高可用发展及其原理,以及针对MySQL MGR非常详细的介绍。<br/>【推荐语】<br/>本书是行业专家结合自己十余年的实践经验为读者造的深探索MySQL内核权威指南。与其他MySQL类书籍不同,本书深探索MySQL内核,全景式呈现MySQL 5.7及MySQL 8.0内核设计精髓,从源码层面解读核心模块,涵盖发展历程、架构设计理念和实践等关键内容,解析内核设计与实现细节,帮助读者理解运行机制,无论你是新手还是资深发者,都能从本书获益。<br/>【作者】<br/>赵景波资深数据库专家,现任国内头部公有云厂商存储管控核心组件负责人。深耕分布式存储与数据库管控领域十余年。主导设计多款支撑千亿级数据规模的高并发数据库系统,技术成果落地金融、政务、游戏等核心场景。职业历程中,曾于2015 — 2018年担任新浪NoSQL团队负责人,主导完成核心数据库架构升级,实现日均千亿级请求下的毫秒级响应能力;2018—2022年在金山云组建并带领20人研发团队,从零构建DTS数据迁移平台、云原生数据库管控平台,服务企业客户超3000家,推动平台成为公司核心产品线之一。作为行业技术布道者,多次受邀担任中国数据库大会(DTCC)、Redis中国用户组等会议核心讲师,分享高可用架构、性能优化等实战经验。<br/>
目录展开

Praise 本书赞誉

Foreword 推荐序一

Foreword 推荐序二

Foreword 推荐序三

Foreword 推荐序四

Foreword 推荐序五

Preface 前言

Chapter 1 第1章 MySQL内核简介

1.1 MySQL内核历史

1.2 MySQL内核衍生

1.3 MySQL内核版本

1.4 MySQL内核社区

1.5 开始编译MySQL

1.5.1 下载MySQL源码包

1.5.2 编译MySQL

1.5.3 使用IDE进行调试

1.5.4 调试技巧

1.6 总结

Chapter 2 第2章 MySQL内核整体架构

2.1 Server层

2.1.1 连接层

2.1.2 查询优化

2.1.3 参数、状态、performance_schema

2.1.4 缓存

2.1.5 日志

2.1.6 锁

2.1.7 存储过程相关

2.1.8 用户自定义函数

2.1.9 复制层

2.1.10 API层

2.2 存储引擎层

2.2.1 缓冲池

2.2.2 重做日志缓冲区

2.2.3 双写机制

2.2.4 后台线程

2.3 文件层

2.4 MySQL启动流程

2.4.1 第一阶段

2.4.2 第二阶段

2.4.3 第三阶段

2.5 总结

Chapter 3 第3章 客户端和服务端交互协议

3.1 MySQL的连接方式

3.1.1 TCP/IP套接字

3.1.2 UNIX域套接字

3.1.3 命名管道和共享内存

3.2 交互过程

3.2.1 MySQL通信协议

3.2.2 连接阶段

3.2.3 命令执行阶段

3.3 处理连接与创建线程

3.3.1 MySQL监听客户端请求

3.3.2 创建连接线程

3.3.3 THD类

3.4 总结

Chapter 4 第4章 数据字典

4.1 数据字典简介

4.1.1 文件层

4.1.2 InnoDB存储引擎层

4.1.3 MySQL Server层

4.2.frm文件

4.3 数据字典的使用

4.3.1 创建表

4.3.2 查询表

4.3.3 rowid

4.4 MySQL 8.0数据字典

4.4.1 文件存储层

4.4.2 数据字典缓存

4.4.3 数据字典的使用

4.4.4 SDI

4.4.5 原子DDL

4.5 总结

Chapter 5 第5章 InnoDB存储引擎

5.1 整体架构

5.2 缓冲池

5.2.1 总体架构

5.2.2 缓冲池初始化

5.2.3 缓存及淘汰

5.2.4 相关参数

5.3 插入缓冲区

5.3.1 插入缓冲的流程

5.3.2 相关参数

5.4 自适应哈希

5.4.1 使用自适应哈希查询

5.4.2 自适应哈希索引的维护

5.5 重做日志缓冲区

5.5.1 整体架构

5.5.2 管理结构

5.5.3 更新语句的流程

5.5.4 重做日志刷盘

5.6 双写机制

5.6.1 双写缓冲区管理

5.6.2 数据的可靠性保证

5.7 后台线程

5.7.1 master线程

5.7.2 I/O线程

5.7.3 刷脏线程

5.7.4 清理线程

5.8 总结

Chapter 6 第6章 InnoDB文件组织

6.1 数据文件

6.1.1 逻辑组织结构概览

6.1.2 逻辑组织结构管理

6.1.3 物理组织结构

6.1.4 数据文件的更新操作

6.2 重做日志文件

6.2.1 总体架构

6.2.2 更新操作的重做日志

6.3 回滚日志文件

6.3.1 总体架构

6.3.2 回滚日志的管理

6.3.3 更新操作的回滚日志

6.4 总结

Chapter 7 第7章 InnoDB索引的实现

7.1 索引简介

7.1.1 B树和B+树

7.1.2 全文索引

7.2 索引的结构

7.2.1 聚簇索引的结构

7.2.2 二级索引的结构

7.2.3 复合索引的结构

7.3 索引的管理

7.3.1 索引在内存中的管理

7.3.2 索引的加载

7.3.3 索引的创建

7.4 数据检索

7.4.1 聚簇索引数据检索

7.4.2 二级索引数据检索

7.4.3 插入数据

7.4.4 删除数据

7.4.5 更新数据

7.5 索引分裂和合并

7.5.1 索引页分裂

7.5.2 索引页合并

7.5.3 索引页重组

7.6 总结

Chapter 8 第8章 MySQL并发控制

8.1 MySQL事务的实现

8.1.1 事务的管理

8.1.2 事务的执行流程

8.1.3 事务的ACID实现

8.1.4 MVCC

8.1.5 崩溃恢复流程

8.1.6 组提交

8.1.7 分布式事务

8.2 MySQL锁实现

8.2.1 简介

8.2.2 元数据锁

8.2.3 表锁

8.2.4 InnoDB行锁

8.2.5 InnoDB表锁

8.2.6 互斥锁

8.2.7 读写锁

8.2.8 锁升级和锁降级

8.2.9 死锁

8.3 总结

Chapter 9 第9章 MySQL高可用实现

9.1 MySQL主从复制

9.1.1 数据同步流程

9.1.2 binlog日志详解

9.1.3 半同步复制

9.1.4 并行复制

9.2 组复制

9.2.1 总体架构

9.2.2 数据流

9.2.3 MGR Paxos协议优化

9.2.4 MGR冲突检测

9.2.5 MGR流控

9.3 总结

推荐阅读

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

发表评论

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

买过这本书的人还买过

读了这本书的人还在读

回顶部