登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2025年08月出版新書

2025年07月出版新書

2025年06月出版新書

2025年05月出版新書

2025年04月出版新書

2025年03月出版新書

2025年02月出版新書

2025年01月出版新書

2024年12月出版新書

2024年11月出版新書

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

『簡體書』MySQL内核设计与实现

書城自編碼: 4138056
分類: 簡體書→大陸圖書→計算機/網絡數據庫
作者: 赵景波
國際書號(ISBN): 9787111785651
出版社: 机械工业出版社
出版日期: 2025-07-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 556

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
广西常用动物类中药
《 广西常用动物类中药 》

售價:NT$ 500.0
清末民初的“问题”与“主义”
《 清末民初的“问题”与“主义” 》

售價:NT$ 485.0
新中式服装设计、制板与裁剪
《 新中式服装设计、制板与裁剪 》

售價:NT$ 449.0
诗经译注(彩图珍藏本)
《 诗经译注(彩图珍藏本) 》

售價:NT$ 1010.0
十九日极夜.完结篇
《 十九日极夜.完结篇 》

售價:NT$ 281.0
明宫彤史:明代宫廷女性(一部好看又严谨的明代宫闱秘史)
《 明宫彤史:明代宫廷女性(一部好看又严谨的明代宫闱秘史) 》

售價:NT$ 500.0
囚笼之家
《 囚笼之家 》

售價:NT$ 305.0
季风海域的丝银对流:16—17世纪中西交往图景中的东亚移民、贸易与文化
《 季风海域的丝银对流:16—17世纪中西交往图景中的东亚移民、贸易与文化 》

售價:NT$ 653.0

編輯推薦:
本书是行业专家结合自己十余年的实践经验为读者打造的深入探索MySQL内核权威指南。与其他MySQL类书籍不同,本书深入探索MySQL内核,全景式呈现MySQL 5.7及MySQL 8.0内核设计精髓,从源码层面解读核心模块,涵盖发展历程、架构设计理念和实践等关键内容,解析内核设计与实现细节,帮助读者理解运行机制,无论你是新手还是资深开发者,都能从本书获益。
內容簡介:
本书是资深数据库专家结合其十余年一线实战经验与源码研究倾力打造的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非常详细的介绍。
關於作者:
赵景波资深数据库专家,现任国内头部公有云厂商存储管控核心组件负责人。深耕分布式存储与数据库管控领域十余年。主导设计多款支撑千亿级数据规模的高并发数据库系统,技术成果落地金融、政务、游戏等核心场景。职业历程中,曾于2015 — 2018年担任新浪NoSQL团队负责人,主导完成核心数据库架构升级,实现日均千亿级请求下的毫秒级响应能力;2018—2022年在金山云组建并带领20人研发团队,从零构建DTS数据迁移平台、云原生数据库管控平台,服务企业客户超3000家,推动平台成为公司核心产品线之一。作为行业技术布道者,多次受邀担任中国数据库大会(DTCC)、Redis中国用户组等会议核心讲师,分享高可用架构、性能优化等实战经验。
目錄
Contents 目  录本书赞誉推荐序一推荐序二推荐序三推荐序四推荐序五前言第1章 MySQL内核简介 11.1 MySQL 内核历史 11.2 MySQL 内核衍生 21.3 MySQL 内核版本 31.4 MySQL内核社区 41.5 开始编译MySQL 41.5.1 下载MySQL源码包 41.5.2 编译MySQL 91.5.3 使用IDE进行调试 121.5.4 调试技巧 191.6 总结 26第2章 MySQL内核整体架构 272.1 Server层 282.1.1 连接层 282.1.2 查询优化 302.1.3 参数、状态、performance_schema 312.1.4 缓存 312.1.5 日志 322.1.6 锁 332.1.7 存储过程相关 332.1.8 用户自定义函数 342.1.9 复制层 342.1.10 API层 342.2 存储引擎层 352.2.1 缓冲池 362.2.2 重做日志缓冲区 372.2.3 双写机制 372.2.4 后台线程 372.3 文件层 392.4 MySQL启动流程 402.4.1 第一阶段 412.4.2 第二阶段 432.4.3 第三阶段 502.5 总结 52第3章 客户端和服务端交互协议 533.1 MySQL的连接方式 533.1.1 TCP/IP套接字 533.1.2 UNIX域套接字 543.1.3 命名管道和共享内存 553.2 交互过程 553.2.1 MySQL通信协议 563.2.2 连接阶段 583.2.3 命令执行阶段 613.3 处理连接与创建线程 653.3.1 MySQL监听客户端请求 663.3.2 创建连接线程 673.3.3 THD类 693.4 总结 71第4章 数据字典 724.1 数据字典简介 724.1.1 文件层 744.1.2 InnoDB存储引擎层 794.1.3 MySQL Server层 834.2 .frm文件 894.3 数据字典的使用 934.3.1 创建表 934.3.2 查询表 954.3.3 rowid 964.4 MySQL 8.0 数据字典 974.4.1 文件存储层 994.4.2 数据字典缓存 1034.4.3 数据字典的使用 1104.4.4 SDI 1154.4.5 原子DDL 1214.5 总结 124第5章 InnoDB存储引擎 1255.1 整体架构 1255.2 缓冲池 1265.2.1 总体架构 1265.2.2 缓冲池初始化 1285.2.3 缓存及淘汰 1305.2.4 相关参数 1315.3 插入缓冲区 1325.3.1 插入缓冲的流程 1325.3.2 相关参数 1365.4 自适应哈希 1365.4.1 使用自适应哈希查询 1405.4.2 自适应哈希索引的维护 1405.5 重做日志缓冲区 1405.5.1 整体架构 1415.5.2 管理结构 1425.5.3 更新语句的流程 1435.5.4 重做日志刷盘 1455.6 双写机制 1465.6.1 双写缓冲区管理 1475.6.2 数据的可靠性保证 1495.7 后台线程 1495.7.1 master线程 1505.7.2 I/O线程 1515.7.3 刷脏线程 1535.7.4 清理线程 1545.8 总结 156第6章 InnoDB文件组织 1576.1 数据文件 1576.1.1 逻辑组织结构概览 1576.1.2 逻辑组织结构管理 1606.1.3 物理组织结构 1676.1.4 数据文件的更新操作 1776.2 重做日志文件 1816.2.1 总体架构 1816.2.2 更新操作的重做日志 1866.3 回滚日志文件 1896.3.1 总体架构 1896.3.2 回滚日志的管理 1926.3.3 更新操作的回滚日志 1956.4 总结 196第7章 InnoDB索引的实现 1977.1 索引简介 1977.1.1 B树和B+树 1987.1.2 全文索引 1997.2 索引的结构 2007.2.1 聚簇索引的结构 2007.2.2 二级索引的结构 2027.2.3 复合索引的结构 2037.3 索引的管理 2047.3.1 索引在内存中的管理 2047.3.2 索引的加载 2057.3.3 索引的创建 2067.4 数据检索 2097.4.1 聚簇索引数据检索 2097.4.2 二级索引数据检索 2097.4.3 插入数据 2097.4.4 删除数据 2107.4.5 更新数据 2107.5 索引分裂和合并 2117.5.1 索引页分裂 2117.5.2 索引页合并 2137.5.3 索引页重组 2157.6 总结 215第8章 MySQL并发控制 2168.1 MySQL事务的实现 2168.1.1 事务的管理 2168.1.2 事务的执行流程 2188.1.3 事务的ACID实现 2208.1.4 MVCC 2298.1.5 崩溃恢复流程 2318.1.6 组提交 2378.1.7 分布式事务 2388.2 MySQL锁实现 2428.2.1 简介 2428.2.2 元数据锁 2478.2.3 表锁 2548.2.4 InnoDB行锁 2618.2.5 InnoDB表锁 2698.2.6 互斥锁 2728.2.7 读写锁 2758.2.8 锁升级和锁降级 2798.2.9 死锁 2818.3 总结 283第9章 MySQL高可用实现 2849.1 MySQL主从复制 2849.1.1 数据同步流程 2859.1.2 binlog日志详解 2909.1.3 半同步复制 2949.1.4 并行复制 2969.2 组复制 3039.2.1 总体架构 3039.2.2 数据流 3079.2.3 MGR Paxos协议优化 3259.2.4 MGR冲突检测 3289.2.5 MGR流控 3309.3 总结 331
內容試閱
前  言?Preface自2014年起,我开始涉足数据库领域的工作,其间遭遇了众多的数据库问题。至2018年,我深刻认识到,唯有深入阅读并调试MySQL的源码,方能使我从容地应对这些挑战。起初,我感到不解的地方有很多,但经过一个月的不懈努力,我开始逐渐掌握了一些技巧。要深入理解MySQL的任何一个模块,都需要以月为单位进行长时间的学习和研究。我曾广泛搜集市面上的相关资料,发现尽管有些资料讲解得相当出色,但其覆盖范围往往有限。因此,我萌生了一个想法:深入阅读和调试MySQL的大部分模块,并将相关经验总结成书,供他人参考。那些阅读过MySQL源码的同行可能清楚,这是一项艰巨的任务,它需要投入巨大的精力。2020年3月,我与出版社取得联系,并随即开启了写作本书的征程。经过近3年的努力,包括工作日晚上和节假日的不懈创作,书稿终于初具规模。然而,工作的繁重一度让我萌生了放弃出版的念头。在此,我要特别感谢我的妻子,是她坚定的鼓励与督促才使得本书顺利完成。本书主要聚焦于MySQL的InnoDB存储引擎。InnoDB存储引擎是一个结构复杂的系统,包含数十个模块,本书对每个模块都提供了代码级别的详细解释和易于理解的原理图。此外,本书还涵盖了MySQL的并发控制、高可用主从架构以及强一致性等高级主题。本书共9章,主要内容如下。第1章详细阐述了MySQL内核的发展历程,并指导读者如何下载MySQL源码包以及搭建调试环境。第2章系统介绍了MySQL内核的整体架构,从Server到InnoDB存储引擎层,几乎涉及了所有内部组件,旨在为读者提供对MySQL架构的初步理解。此外,第2章在结尾部分描述了MySQL的启动流程,将架构中的各个模块相互连接,使读者能够清晰地理解MySQL的工作机制。接下来,本书通过一条SQL语句在MySQL中的执行流程,详细阐述了各个模块的工作原理。第3章探讨了客户端和服务端之间的交互协议,第4章分析了数据字典的结构,介绍了在MySQL中表的元数据是如何存储的,以及在执行SQL语句时数据字典信息是如何被访问的。紧接着,本书进入几个至关重要的章。第5章详细介绍了InnoDB存储引擎的架构,包括在执行SQL语句时,InnoDB存储引擎中的缓冲池、双写缓冲区、自适应哈希索引以及后台线程是如何协同工作的。第6章讨论了InnoDB的文件组织方式,解释了SQL查询的数据是如何在文件中组织的。第7章揭示了InnoDB索引的实现机制,阐述了SQL语句是如何在索引上进行数据扫描和插入操作的。在读者对SQL执行过程有所了解之后,第8章详尽阐述MySQL的并发控制机制,深入探讨了包括事务处理、多版本并发控制(Multi-Version Concurrency Control,MVCC)、锁定机制在内的复杂主题。因此,第8章内容极为丰富,体现了MySQL内核设计的精华。第9章介绍了MySQL的高可用性,包括MySQL不同阶段的高可用性发展及其原理,并对MySQL MGR进行了非常详细的介绍。本书内容主要基于MySQL 5.7版本,也包含部分MySQL 8.0的相关内容。读者对象可以肯定的是,多数开发人员与MySQL或多或少有些交集。然而,本书并非为初学者所著,它不能即刻助你解决工作中的具体问题。尽管如此,书中所阐述的理念仍能助你提升架构设计能力,并让你领略到一个设计严谨的系统的精髓。深入理解内部机制有助于你更高效地运用MySQL,并能助你解决一些复杂的技术难题。对于那些致力于成为DBA或从事数据库研发的同人,本书可作为你工作中的参考手册,遇到相关问题时可随时查阅。勘误和支持必须强调,MySQL是一个极其复杂的系统。鉴于我的认知水平有限,本书难免存在疏漏或不完善之处。我诚挚地希望读者能够共同参与,进一步完善本书内容。若你在阅读过程中遇到任何问题,欢迎与我联系(zbcxy10@gmail.com)。我将在工作之余与各位探讨交流,深表感谢。致谢衷心感谢我的技术导师余绍在先生,长期以来,他为我提供了宝贵的机会,使我得以在数据库领域不断深入探索,从最初的运维开发逐步过渡到内核研发。同时,我也感激新浪、金山云、字节跳动等平台,让我经历了在大规模数据库场景下的一次次磨炼。对在此期间给予我帮助和支持的同事表示诚挚的谢意。在本书的撰写过程中,众多友人给予了宝贵的协助,对此我深表感激。特别感谢张雨女士,她协助我完成了第3章的内容;潘友飞先生对全书进行了详尽的审阅工作;桑栎先生对InnoDB相关章节提出了宝贵的建议和修改意见。此外,我必须感谢我的妻子王慧玲女士,她一直给予我鼓励、支持和监督,对此我深怀感激之情。特别感谢为本书撰写推荐的专家:盖国强先生、周彦伟先生、陈栋先生、余邵在先生、金官丁先生、祝海强先生、王伟先生、张友东先生、张晋涛先生、付磊先生。诸位前辈和朋友的认可给了我巨大的信心和勇气,让我感觉这几年的坚持非常有价值。最后衷心感谢机械工业出版社的编辑团队对全书审校工作的倾力投入!基于工作原因,常需要在深夜及周末沟通,编辑团队总是不辞辛劳、高效严谨地回应,为成书提供了不可或缺的支持。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2025 (香港)大書城有限公司 All Rights Reserved.