从公共可用性的意义上讲,mysql源代码是开放源代码,但如果对其不了解,则实质上,它对于您来说是封闭的。mysql开发团队的前成员sasha pachev通过本书给出了mysql 5的全面指南,揭示了这一强大数据库的内部运作。您将直奔mysql核心技术,了解各种数据结构和各种方便的功能的运作情况,了解如何添加新的存储引擎和配置选项等。.
《深入理解mysql核心技术》从结构概况讲起,在这一部分解释了mysql的不同组件是如何协同工作的。接着将学习设置有效的可编译代码副本的步骤,然后使用基本架构添加自己的配置变量和存储引擎。
本书其他章节包括:
·核心服务器类、结构和api
·客户端和服务器之间的通信协议
·配置变量,包括添加自己的配置变量的教程和代码
·基于线程的请求处理以及如何在mysql中使用线程
·mysql存储引擎总览
·集成第三方存储引擎的存储引擎接口
·表锁管理器
·执行sql命令的分析器和优化器
·将事务存储引擎整合到mysql中
·复制内核
通过对源代码中那些未作文档说明的关键数据结构和方法进行描述,《深入理解mysql核心技术》为您提供了很好的机会,帮助您了解这个广经企业考验的数据库的内部运作。不论您是开发人员、数据库管理员、程序员、软件供应商还是学生,本书将指导您探索和改进大型数据库。
Sasha Pachev在2000年到2002年期间是MySQL开发团队成员之一,是MySQL复制结构的最初开发者,《MySQL企业解决方案》一书的作者,现居住在美国犹他州普罗沃(Provo),职业是独立顾问,专攻MySQL。Sasha还是一位专注的长跑运动员,是FastRunningBlog.com的撰稿人
目录
前言.
第1章 mysql的历史与架构
mysql的历史
mysql的架构
第2章 mysql源代码基本要点
unix shell
bitkeeper
准备系统:从bitkeeper树构建mysql
从bitkeeper树构建mysql
从源代码分发版本构建
将mysql安装到系统目录
源代码目录布局
准备系统:在调试程序中运行mysql
以调试程序为向导探索源代码
gdb使用基本要点
在源代码中查找信息
值得关注的断点和变量
修改源代码
编码指南
不断更新bitkeeper知识库
.提交补丁
第3章 核心类、结构、变量及api
thd
net
table
field
实用程序api调用
处理器宏
全局变量
第4章 客户端/服务器通信
协议概述
包格式
mysql协议与os层之间的关系
验证握手
命令包
服务器响应
第5章 配置变量
配置变量教程
特定配置变量的各有关方面
第6章 基于线程的请求处理..
线程与进程
请求处理的实现
线程编程问题
第7章 存储引擎接口
handler类
向mysql添加定制存储引擎
第8章 并发访问与锁定
表锁管理器
第9章 解析器和优化器
解析器
优化器
第10章存储引擎
架构的相同之处
innodb
memory(heap)
myisam merge
ndb
archive
federated
第11章 事务
事务存储引擎实现概述
实现处理器子类
定义handlerton
使用查询高速缓存
使用复制二进制日志
避免死锁
第12章 复制
概述
基于语句的复制与基于行的复制
双线程从服务器
多主服务器
有助于理解复制的sql命令
二进制日志格式
创建自定义复制实用程序