1 / 26
文档名称:

MySQL源码结构.ppt

格式:ppt   页数:26
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MySQL源码结构.ppt

上传人:n22x33 2012/10/27 文件大小:0 KB

下载得到文件列表

MySQL源码结构.ppt

文档介绍

文档介绍:MySQL源码分析 ——代码结构与基本流程
彭立勋
Alibaba DBA Team
Topics
MySQL基本架构
源码目录结构
核心类库与函数
主要模块
数据流
MySQL基本架构
MySQL目录结构(1)
BUILD: 内含在各个平台、各种编译器下进行编译的脚本。如compile-pentium-debug表示在pentium架构上进行调试编译的脚本。
client: 客户端工具,如mysql,mysqladmin之类。
cmd-line-utils: readline,libedit工具。
config: 给aclocal使用的配置文件。
dbug: 提供一些调试用的宏定义。
Docs: MySQL在不同平台下的参考手册
extra: 提供innochecksum,resolveip等额外的小工具。
include: 包含的头文件
libmysql: 库文件,。
libmysql_r: 线程安全的库文件,。
libmysqld: 嵌入式MySQL Server库.
libservices: ,实现了打印功能。
MySQL目录结构(2)
man: 适合man命令查看的帮助文件。
mysql-test: mysqld的测试工具套件。
mysys: 为实现跨平台,MySQL自己实现了一套常用的数据结构和算法,如string, hash等。还包含一些底层函数的跨平台封装,一般以my_开头。
netware: 在netware平台上进行编译时需要的工具和库。
plugin: MySQL ,不需要重启mysqld即可动态载入插件,FullText就是一个例子。
pstack: GNU异步栈追踪工具。
regex: 正则表达式实现(来自多伦多大学Henry Spencer大牛的源码)。
scripts: 提供脚本工具,如mysql_install_db/mysqld_safe等。
server-tools: 包含instance_manager子目录,负责实例的本地和远程管理。
MySQL目录结构(3)
sql: MySQL Server主要代码,将会生成mysqld文件。
sql-bench: 一些基准测试代码代码,主要是Perl程序(虽然后缀是sh)。
mon: 存放部分服务器端和客户端都会用到的代码,有些地方的同名文件是这里lin过去的。
storage: 存储引擎所在目录。
strings: string库,包含很多字符串处理的函数。
support-files: f示例配置文件及编译所需的一些工具。
tests: 测试文件所在目录。
unittest: 单元测试文件。
vio: 虚拟io系统,work io的封装,把不同的协议封装成统一的IO函数。
win: 在windows平台编译所需的文件和一些说明。
zlib: zlib算法库(GNU)
InnoDB目录结构(1)
btr: B+树的实现
buf: 缓冲池的实现,包括LRU算法,Flush刷新算法等
dict: InnoDB内存数据字典的实现
dyn: InnoDB动态数组的实现
fil: InnoDB文件数据结构以及对于文件的一些操作
fsp: 对InnoDB物理文件的管理,如页/区/段等(即File Space)
ha: 哈希算法的实现
handler: 继承与MySQL的handler,实现handler API与Server交互
ibuf: 插入缓冲(Insert Buffer)的实现
include: InnoDB所有头文件都放在这个目录,是查找结构定义的最佳地点
lock: InnoDB的锁实现及三种锁算法实现
log: 日志缓冲(Log Buffer)和重做日志组(Redo Log)的实现
InnoDB目录结构(2)
mem: 辅助缓冲池(Additional Memory Pool)的实现,用来申请一些内部数据结构的内存
mtr: 事务的底层实现(日志,缓冲)
os: 封装一些对于操作系统的操作
page: 页的实现,研究InnoDB文件结构,这个目录至关重要
pars: 重载部分MySQL的SQL Parser(有待商榷)
que: Query graph,基本上没啥用
read: 读取游标的实现
rem: 行管理操作(比较操作,打印等)
row: 对于各种类型行数据操作的实现
srv: InnoDB后台线程,启动服务,Master Thread,SQL队列等
sync: InnoDB互斥变量(Mutex)的实现,基本同步机制
thr: InnoDB封装的可移植线程库
InnoDB目