本书《MariaDB原理与实现》是一本非常出色的技术类书籍。作者通过对MariaDB这个开源数据库系统的剖析,让读者深入了解了其原理与实现。书中首先对MariaDB进行了简要介绍,包括基础知识、新特性以及对MySQL原有功能的扩展等内容,使读者对MariaDB有了初步的了解。作者逐步深入,介绍了底层数据结构、线程池技术、binlog、复制等高级主题,帮助读者进一步掌握MariaDB的内部机制。最后,本书还精彩地介绍了分布式数据库系统,以此为主题推进读者对数据库领域的深入理解。通过全面的内容和深入的剖析,本书为读者提供了一份珍贵的学习资料,不仅能够帮助读者掌握MariaDB的原理和实现,还能够提供更广阔的数据库知识视野。本书由浅入深地剖析了MariaDB,是一本非常有价值的技术读物。
MariaDB原理与实现 电子书封面
读者评价
不是一本SQL命令集,非常好。涉及了MySQL的一些内部实现,还是值得好好读一读的。
深入剖析MariaDB核心机制的图书一线技术开发人员联手打造
内容介绍
《MariaDB原理与实现》由浅入深地剖析了MariaDB,首先简要介绍了一些基础知识、新特性、对MySQL原有功能所做的扩展以及源代码,接着介绍了底层数据结构、线程池技术、binlog、复制等内容,后介绍了分布式数据库系统。
《MariaDB原理与实现》主要面向想了解MariaDB/MySQL的工作原理及具体实现的读者,以及想要阅读MariaDB/MySQL源代码却苦于不知道从何处开始的读者。
目录
- 第1章 MariaDB概述 1
- 第2章 MariaDB的扩展和新特性 13
- 第3章 初识MariaDB源代码 31
- 第4章 MariaDB基础数据结构 41
- 第5章 MariaDB线程池 77
- 第6章 二进制日志binlog 95
- 第7章 binlog group commit技术 115
- 第8章 复制 136
- 第9章 数据结构和算法 197
- 第10章 分布式数据库 219
- 附录A 数据库与IO资源控制 231
MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。 MariaDB名称来自麦克尔·维德纽斯的女儿玛丽亚(英语:Maria)的名字。 MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL5.5中了解到MariaDB的所有功能。从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。 在存储引擎方面,10.0.9版起使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。 MariaDB的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。 这意味着,所有使用MySQL的连接器、程序库和应用程序也将可以在MariaDB下工作。 在此基础上,由于担心甲骨文MySQL的一个更加封闭的软件项目,Fedora的计划在Fedora 19中的以MariaDB取代MySQL
Mariadb的复制功能是基于binlog进行的。复制的工作主要是由主库上Master dump 线程、从库上的slave IO线程以及slave SQL线程来完成的。 在主库上执行 SHOW PROCESSLIST 命令查看到dump线程。 当在从库上执行START SLAVE 语句来开启复制功能时,会闯将一个slave IO线程和一个slave SQL线程。slave IO线程负责连接到主库,然后接收主库master dump线程发送过来的binlog内容,写到本地的relay-log中。slave SQL线程负责重放relay-log中的内容,将主库的所有修改反映到从库上。 复制的大概过程可以总结为如下3步: (1)主库将所有的修改以事件的形式记录到binlog中,主库的master dump线程负责发送binlog内容到从库。 (2)从库的slave IO 线程将接收到的binlog事件记录到本地的relay-log中。 (3)从库的slave SQL线程重放relay-log中的事件。