根据经验,想要快速学习一门技术有3种方式

第一种方式是通过代码来理解它的实现,反推它的逻辑。

这种方式的难度很大,而且起点相对高,能够沉浸其中的人非常少,过程相对来说是苦闷的,但如果能够沉下心来看代码和调试,达到一定程度后,就会逐渐对这门技术有感觉,进而融会贯通。

第二种方式是通过对比的方式来学习。

比如,在有Oracle基础的情况下,通过对比Oracle学习MySQL,就会容易很多。越是深入学习,越是能发现两者之间有很大的差别,进而可以通过不断对比来完善自己的认知,从差异化中找到学习的重点和方向,也能够对技术的发展有一个相对理性的认识。

第三种方式算是捷径,就是去听听作者怎么说,通过他的分享从整体对一个项目有一个基本的认识和了解。

这好比你去拜访一个朋友,他热情地把你领进门,带着你走走客厅,走走卧室,给你介绍房子的装修风格、里面的家具和电器,为什么要这么设计,很快你就能够对这一切熟悉起来。这种方式很好,而且最省事,但可遇不可求。

继续以学习MySQL为例,因为其作为开源数据库技术的典型代表,有很多值得我们去学习的内容,也有很多值得探索和改进的地方。

有句话说得好:研究的方法,要合之而见其大,必先分之而致其精。

同样,在学习数据库及使用的过程中,只有按照这种精深的学习模式沉下心去钻研和测试,才能够真正理解数据库的一些技巧,把它转化为自己的经验。

如果自己通过第一种方式进行学习,可能确实会感到吃力,但所幸高鹏老师的新书《深入理解MySQL主从原理》是结合了第三种方式从源码的角度进行切入,对MySQL主从原理进行了实打实的分析和解读,让你能够很快对这一切熟悉起来,并于细节之处通过第二种方式进行对比介绍。

在DBAplus社群发起人杨建荣老师的眼中,优秀的工程师会具备这样3个特征:鹰眼(眼光犀利)、狮心(内心强大)、绣花手(做事认真细致)。这些特征在高鹏老师身上都能够看到。高鹏老师在书中的倾囊相授也体现出了他对技术孜孜不倦地追求,对促进和谐技术生态持续发展的热情。

数据库技术在当前大环境下非常重要,而MySQL主从复制是很多技术方向的根基和灵魂。

从2017年开始,高鹏老师的公司开始大量上线MySQL5.7基于GTID的主从构架,但是在实际的运维工程中遇到了不少问题和疑惑,也是很多DBA同学浅尝辄止的地方,比如:

主从延迟为什么瞬间跳动?

延迟为0就一定代表没有延迟吗?

从库能和主库一样利用索引吗?

MTS是如何提高从库应用效率的?

mysql.gtid_executed表在从库初始化的时候扮演着什么样的角色?

这些问题的答案在文档中是很难定位和快速理解的,而源码就好比一个放大镜,能够让我们一窥其中的奥秘和玄机,让技术细节不再神秘。

此外,从MySQL 5.7.17开始,官方推出了MGR高可用构架,这是未来MySQL高可用构架发展的方向,它和主从有着天然的联系。比如,GTID、Event、SQL线程等基本都是通用的,要深入学习MGR就势必要先深入学习主从原理。

同时,在技术方向上需要不局限于当前的技术方案。比如,在主从原理方向上就形成了技术的分水岭。

如今,存储与计算分离的模式很火。比如,Aurora的技术架构的重大变化就是对主从模式做了魔改,基于一套存储计算分离架构,将日志处理下推到分布式存储层,通过架构上的优化来解决网络瓶颈,这其实让我们也可以辩证地从另外一个角度来看待主从原理:

它的优点是什么?

它有哪些缺点?

它有哪些适用的场景?

这些都可以通过阅读《深入理解MySQL主从原理》一书来对比学习,形成自己的技术体系。

当然,通过阅读源码去理解原理这件事情,看上去不简单,实际也不简单,我们需要有一些基础概念的理解,需要一些基础知识的铺垫。

如果要深入学习主从原理,则需要按照一定的顺序进行学习;如果不知道GTID、不知道Event、不知道主库如何生成Event的,那么肯定不能深入理解主从原理。因此,本书按照这种顺序进行讲解。

本书一共分为5章,前4章应该作为一个整体顺序阅读,第5章和前面4章没有关联,可以独立阅读。

第1章:介绍GTID相关的知识点,包含GTID的构成、GTID模块的初始化、GTID中的运维等知识点。

第2章:介绍binary log中的各种主要Event,各个Event通过作用、格式讲解、实际解析等几个维度进行描述。

第3章:介绍主库是如何生成Event的,以及DUMP线程是如何通过GTID进行主库binary log定位,并且进行Event传输的。

第4章:介绍从库是如何应用Event的,并且还包含了推荐的参数设置和Seconds_Behind_Master延迟的相关知识点。

第5章:本章作为知识拓展,讲解线程的初步知识、MDL LOCK、排序等热门话题,还包含了主从相关的案例。

做技术是一件很朴素的事情,需要有舍有得,而且时常会带来孤独感,所幸在技术学习的道路上,有了社区,有了很多技术朋友的支持,剩下的就是热爱和坚持,可以支撑彼此这样一路走过来。

期待这本书能够带给你全新的阅读体验!

▊《深入理解MySQL主从原理》

高鹏 著

  • 数位数据库专家/ACEDirector/ACE赞誉推荐
  • 凝结数百次故障诊断经验
  • 从主库端到从库端带你深入解析MySQL主从构架的运行原理

MySQL主从原理是高可用架构的基石,即便是MGR这种集群架构也可以看到主从的影子。要解决一个问题或者故障,最快的方式就是了解它的原理,快速定位问题。

本书从源码层面抽丝剥茧般地描述MySQL主从原理,全面地介绍了GTID相关的知识点,并解析了主要Event的生成、作用和格式,以及线程的初步知识、MDL LOCK、排序等热门话题和主从相关的案例。无论是MySQL DBA和MySQL源码爱好者,还是刚进入数据库行业的小白读者,通过阅读本书,都能通过源码级分析,更好地理解和使用MySQL主从复制技术。

MySQL主从原理,基于快速学习一门技术的3种方式相关推荐

  1. MySQL主从原理,基于快速学习一门技术的3种方式!

    根据经验,想要快速学习一门技术有3种方式. 第一种方式是通过代码来理解它的实现,反推它的逻辑. 这种方式的难度很大,而且起点相对高,能够沉浸其中的人非常少,过程相对来说是苦闷的,但如果能够沉下心来看代 ...

  2. 如何快速学习一门技术?

    文章目录 1.阶段一 认知了解 2.阶段一 学习语法 用法 3.阶段三 局部练习(记录总结 写博客 写博客 写博客) 4.阶段四 上手实际项目或者开源项目(小打牢基础) 5.阶段五 终极目标 撸源码 ...

  3. 如何快速学习一门技术或进入一个岗位

    1.要有足够的热情,并且能坚持下去,只有自己发自内心的喜欢才能长久干下去.  2.归零心态,多向周围人和网络上学习,逛论坛往往能接触大家真实项目中碰到的问题,多想想如何回答别人的问题,刚开始可能一个都 ...

  4. 赠书:深入理解MySQL主从原理

    根据经验,想要快速学习一门技术有3种方式. 第一种方式是通过代码来理解它的实现,反推它的逻辑. 这种方式的难度很大,而且起点相对高,能够沉浸其中的人非常少,过程相对来说是苦闷的,但如果能够沉下心来看代 ...

  5. 快速学习一门新技术的工作原理(十步学习法来自软技能)

    快速学习一门新技术的工作原理 ●如何开始--要想开始使用自己所学的,我需要掌握哪些基本知识? ●学科范围--我现在学的东西有多宏大?我应该怎么做?在开始阶段,我不需要了解每个细节,但是如果我能对该学科 ...

  6. 如何快速学习一门新技术

    (一)前言 我们永远学不完所有的技术,最近这段时间我更新文章的频率变低了,一方面是工作时间从原先地865变成了995,另一方面是在工作过程中遇到了更多技术挑战,需要花很多时间去学习. 在进现在这家公司 ...

  7. 《深入理解MySQL主从原理32讲》推荐篇

    导读: 作者:高鹏(网名八怪),<深入理解MySQL主从原理32讲>系列文的作者.2008年开始至今一直从事Oracle/MySQL相关工作,现任易极付高级DBA,Oracle Ocm. ...

  8. 零基础快速学习Java技术的方法整理

    在学习java技术这条道路上,有很多都是零基础学员,他们对于java的学习有着很多的不解,不知怎么学习也不知道如何下手,其实Java编程涉及到的知识点还是非常多的,我们需要制定java学习路线图这样才 ...

  9. 如何快速学习一门新计算机语言

    本来想总结老师的方法的,可在网上找到一篇一模一样的,为了保证原创性,所以只好直接引用啦.点击打开链接<如何快速学习一门新计算机语言>

  10. 怎样快速学习一门计算机编程语言?

    目录 怎样快速学习一门计算机编程语言? 1.选择一门易学的语言 2.了解语言的基础

最新文章

  1. 数字通信原理_光纤通信原理是什么 光纤通信应用领域介绍【图文】
  2. python中执行linux命令(调用linux命令)_Python调用Linux bash命令
  3. string 相等 java_java中String相等问题
  4. CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-1虚拟机安装及环境初始化
  5. mac插网线不能上网_实现两个无线路由器之间的连接,最稳定的方式是使用网线连接...
  6. css 写打印样式问题
  7. ...android平板办公,教科书式安卓全 面屏平板:华为MatePad Pro构建智慧办公新体验...
  8. wordpress关闭更新提示
  9. 「雕爷学编程」Arduino动手做(19)—震动报警模块
  10. 大数据_Flink_数据处理_运行时架构8_数据传输和任务链---Flink工作笔记0023
  11. addr 与 offset 异同
  12. C++ hash(STL hash)及其函数模板用法详解
  13. 互联网金融数据分析指标
  14. 江西计算机竞赛有哪些,江西自主招生认可的竞赛有哪些
  15. CWP控制面板登录异常
  16. ad7606中文资料_【AD7606BSTZ PDF数据手册】_中文资料_引脚图及功能_(亚德诺 ADI)-采芯网...
  17. windows凭据管理
  18. 线程分离pthread_detach、pthread_attr_setdetachstate (attr, PTHREAD_CREATE_DETACHED);
  19. vscode下载和前端工程师常用的20+插件,包含代码提示、语法高亮、括号颜色等等
  20. 自主存取控制方法中-----------用户权限的“授权”与“收回”

热门文章

  1. ats反向代理和重定向
  2. 详细介绍一下 Smoke Testing(冒烟测试)
  3. sql server 游标和with as使用
  4. mysql 开启binlog
  5. 为什么磁盘慢会导致Linux负载飙升?
  6. 开发框架:AdminLTE
  7. popular net
  8. 02-C#(基础)基本的定义和说明
  9. 选择爱人的数学方法(经典秘书问题)
  10. minicap和minitouch安装