大家好,我是马听,来跟大家分享我的一些故事。
大学的堕落和醒悟
刚进大学的时候,相比高中,由于不再有严格的时间表和监督,前三年沉迷于游戏,很大一部分时间花在了LOL、FIFA Online 3上,游戏是删了又装,装了又删。
(这也是后面我弄公众号和写书的原因,我知道我不是自律的人,如果不写公众号和书,业余时间大概率就是在玩游戏。)
到大三下学期,觉得再这样下去,可能找不到工作了,于是报了一个Linux运维的培训班,当时学费1万左右,并且是自己贷款。忘记分期多久了,只记得最后工作都还在还这笔贷款。
第一家公司
毕业后,因为参加了培训,有一些Linux的基础,最终进入了一家移动互联网公司“我查查”,这家公司曾经辉煌过,所以用的技术都是比较广的,并且也是当时互联网主流的一些架构,比如数据库用的是当时国内互联网最火的三件套:MySQL,Redis和MongoDB。
这也是我职业生涯中成为数据库管理员(DBA)的起点。
PPTV的经历
第一次跳槽,进到一家偏向体育直播的视频网站PPTV,当时购买了五大联赛的版权。
我们维护的Redis集群,抗住了当时的西甲德比(巅峰C罗所在的皇马VS巅峰梅西所在的巴萨)的评论和弹幕;
维护的MySQL,抗住了支付业务。
并且全是高可用的架构,每年集群内总有几台物理机宕机,对用户没任何影响。
在这里,对数据库有了更深的理解,知道DBA不仅仅是搭建数据库的,还需要考虑架构以及优化。
从零自建数据库
离开PPTV之后,进入到某房地产公司旗下做新零售的子公司。
刚去的时候,机房和中间件这些,都还全在招标。
完全是从0开始,业务主要使用MySQL和Redis。
并且在这期间,因为当时只有我一个DBA,每天很忙,并且很多都是重复性的事情,比如帮研发拉慢查询,SQL怎样优化等。
所以我开发了一套数据库自动化管理系统,这套系统包括慢查询展示,SQL优化建议,备份详情,活跃连接查询等。
这个平台开发完之后,很多事情,研发自己在数据库平台上就能操作,我也省了很多事。
在这期间,我写了图文专栏《一线数据库工程师带你深入理解 MySQL》,主要讲MySQL优化的,到目前销量3700+,详情点击跳转
在这里,成长为了一个会开发的DBA。
云数据库的维护
后面又来到一家在线教育公司。
刚去的时候,做的第一个项目就是从AWS迁移到阿里云。
大概迁移流程如下图:
试想一下,这么多实例,每个实例这么多步骤,如果全是在页面点,那得花多久时间啊,并且光迁移过程,就可能需要几个小时。都是凌晨低峰进行迁移,大家可等不了那么久啊。
所以我们在迁移前,就已经把迁移工具写好了,全是调用API实现,工具添加不同参数可以实现不同的功能。
而在迁移过程,上图右边的步骤中,2-5步,同一个业务涉及到的所有实例,只需要执行一条命令,当确定数据一致,再一条命令执行6-9步。
整个迁移过程,在数据库上花费的时间,基本几分钟搞定。
在去年出版的书籍《MySQL DBA精英实战课》最后一章,也介绍了迁移过程。
并且后面还做了云上数据库巡检系统。
在这里,学会了云数据库管理。
视频课程
去年年底,开始制作一个体系课视频课程,发现比写书难太多了。
关于视频课,有一段曲折的经历。
第一次尝试在20年9月,找到慕课网的商务,制作了一节视频课的demo,审核没通过。
第二次尝试在21年3月,仍然是视频课的demo没通过。
22年11月,第三次尝试,这一次终于通过了。
先是花了一个多月做了一个免费的MongoDB课程:
https://www.imooc.com/coursescore/1374
从2月份开始,又开始录制了体系课,这就是上个月在慕课网上线的体系课《DBA数据库工程师》。
课程包括DBA完整知识体系,并增加了实战项目,DB平台开发,云数据库管理等。
比如云数据库慢查询系统,在课程中详细讲了开发部署过程:通过API获取所有云上RDS实例的慢查询,写入数据库,并通过Grafana展示。最终效果如下图,可选择不同的库,来查询对应库的慢查询。
今年AI爆火,又增加了AI协助DBA工作相关内容。
平台对课程审核非常严格,从PPT到课程内容,都会认真审核。记得前面几个月的录制,有好几节,都重新录制过。
比如讲SQL语句基础的时候,负责审核的教学就提醒我,在敲命令的过程,需要解释关键字、命令的意思。不然对初学者会不友好。最后,SQL语句的前三节重新录制了,自然也讲的更详细了。
在这个过程中,我也学会了如何制作高质量的视频课程。
后记
感谢大家一直以来的支持,如果你对我的视频课程感兴趣,可以点击购买。
目前已经有50多个同学加入学习了。