暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OBCE上岸经验,你走过的弯路都是人生必经之路

原创 张瑞远 2023-11-03
691

我是从2020年开始接触OceanBase的,当时我所在项目要试点OB。正值OB免费进行OBCA的认证,借着这个机会去考了OBCA,对OB有了一个简单的认识。

虽然国内已经响起了去IOE的口号,但是以前都常说国产化数据库都是套壳数据库,我也这么认为,但是了解了OB之后才知道这是一款完全自研的企业级原生分布式数据库,我也改观了对国产化数据库的看法。

我深入学习OB的契机一是因为项目需要,20年下半年我们开始试点并准备上线OB数据库,二是对国产化数据库的一个好奇,其实也有些私心(作为一个90后虽然我考了OCM认证,但是对于一个数据库了解越深,往往发现自己不足的更多,深耕ORACLE

的老前辈的一些经验和知识,可能是我花费很多年才能追赶上的,这个对我的压力很大。现在有一个完全自研的国产化数据库,也是我们之后项目的一个重点,那我提前进入赛道会不会更好一些,在产品完善和发展的路上,我能学到更多的东西),所以我就主动申请参与OB的项目。

入门

我从项目初期就和OB的交付同学一起参与项目,刚开始什么都不懂,分布式的架构都不清楚。但是能做的工作慢慢去做,一些实施类的工作,交付的老师做完一次保留文档之后,再有测试环境之类的工作,我就接过来自己去实施,生成一些操作笔记。为了方便沟通,让原厂的老师进行了OBCP的培训,自己去翻阅官方文档,对一些名词概念慢慢的就越来越熟悉了。

这个过程让我对OB的体系结构和基本概念有了很深的理解,在项目上慢慢的大部分的实施部署工作我也都可以胜任了。OB的老师也可以把一些其他的工作慢慢交到我手上,这样我到21年初的时候基本参与了OB整个迁移项目的一个流程。包括数据库设计,兼容性测试,环境搭建实施,回放测试,对象和数据迁移等等的一个流程。

这时候OBCP开放了一些名额,我就又考了OBCP的一个认证,当时OBCP还没有上机考试,考的理论知识点大部分我都熟悉,没有悬念就过了。这次顺利的考试过程让我有些飘,一直期待OB的CE考试。

沙场折戟

在21年6月OB开放了CE的认证,首期放了十个免费名额,我抢到了北京考场的一个名额。当时官网的CE教材还没有更新,我自认为能力不错,那段时间就有些懈怠。7月28日去北京参加考试,共计8小时,上午的环境部署还算顺利,但是后面的一些题目,比如弱读的配置,场景类的一些题目,主备的搭建切换等等,因为运维经验的不足开始慢慢出问题了,尤其是有些报错要处理的时候大脑就空白了。

从考场出来我还抱着侥幸的心态想着会不会就给过了那,几个工作日之后,不及格的成绩出来,我既失落也高兴,失落的是考试没过,高兴是因为他真的很严格很公平,不会因为第一次开放考试就放宽标准。

沉淀

之后的两年里,我们OB的项目一个个都上线了,我有过连着两个周通宵的痛苦时期,也有一个个系统上线后的喜悦,这期间环境的实施,故障处理,优化分析,主备搭建,参数调整等等工作越来越得心应手。我也在不断去反复翻阅官方文档,跟现场的交付同学请教问题,在处理问题提工单等等方式在研发老师那里获取问题解决方式以及知识原理。22年公司给了一个OBCE的考券,但是有了上次的经历之后,我就把OBCE当成了一座需要攀登的高峰,我现在还在路上。所以我就做好我手里的工作,不断去成长自己,一直也没有再去尝试考试的想法。

水到渠成

23年年中我们的项目已经全面国产化,我们开始慢慢从实施交付的重点转移到运维,出了一些问题,但是也都解决了。这时候公司催我去考OBCE了,说再不去考,考券要过期了,但是我仍然认为我能力不够。

最终下定决心8月去考OBCE,提前两个月我就开始部署环境做一些练习,因为有了一次考试的经验,所以我知道OBCE的考试考的不光是你对某个知识点的深度,更是OB相关知识的广度(这也是我们很多现场的dba的一个不足,我们往往很熟悉自己擅长的一类工作,但是对于整个的数据库产品了解不够全面),我沉下心重新梳理官方文档和官网的OBCE培训教材。一步步练习,从集群搭建,proxy部署,租户创建,到参数设置,扩缩容,日志分析,tcpdump,sql优化,主备搭建切换等等,我把官网上有的,我能想到的一遍遍练习,不懂的地方就去社区等地方寻求帮助,争取把所有的知识都嚼烂,所有的操作都了然于心。

到了杭州之后有个同事也要一起考试,我们碰头,又再次过了一下官方文档的大纲,当晚我睡得特别踏实,因为理完大纲之后我发现,这大纲内容我都准备的很充分了!

8月12号参加OBCE的上机考试,打开考试题目,过了一遍,心慢慢落了地,因为这次准备侧充分都在射程之内。安装部署,高可用配置,扩缩容,调优,tcpdump分析问题,链路管理,内存管理,数据迁移,我按照题目一个个做,越做越心安,最终提前了一个半小时交卷,走出考场,两天后工作日查询成绩通过。

马不停蹄约考OBCE面试,期间感谢同事帮我分担了很多工作,能让我准备考试。我把官网OBCE的培训教材翻了不下三四遍,OB的官方文档3.2.3和3.2.4以及4.2的文档不断去翻阅,尽量不漏掉每个细节,对比版本变化,理解其中的原理知识,对于有疑问的地方找环境去测试,找人去咨询。OBCE的定位比较高,主要面向数据库架构师以及运维专家所以相应难度也很大,所以单单去熟读官方文档的知识不一定可以满足相应的深度,一定要有探索精神,对于好多问题去想为什么,去弄明白为什么。比如OB的行列混存编码是怎么实现的,SSTAB的宏块和微块大小是多少,可以调整吗,数据空洞是怎么产生的,这些问题都需要你对OB的各个方面的知识有理解和思考,有好多研发同学也在官网博客和论坛给大家不断分享相应的原理和交付案例,都可以多去学习。

9月20日面试,有一个多版本合并消除的一个点因为我的理解有偏差之外,考官的其他的问题都根据自己的理解进行相应的解答。涉及内存模块,优化器的分布式计划,多层合并,备份策略,备集群切换,数据库设计中的网络设计,迁移,备份恢复,副本同步,sql诊断,国产化项目整体流程思路等等问题。答辩完之后舒了一口气,一个是答辩的顺利,另一个也验证了我这两年的成长,是我自己的一个交代。

两天后成绩出来考试通过。

备考总结

永远用100分的态度去对待60分的考试(当然OBCE难度更高是80分通过),对于问题要有刨根问底的态度,会对个人的成长和数据库的理解有很大的帮助。多看官方文档,官方文档是OB的精华描述,基本可以覆盖每个知识点和细节,对于原理了如指掌,那相应的操作才能如臂指使。还有就是多练习,有条件的同学一定要多操作多练习,我一直奉承每遇到一个问题都是成长的一个台阶,每个问题的产生和解决都能帮助你学习和更深入的理解相应的原理。咱们论坛有问答区,千万别怕遇到问题,有问题去解决就好。

真诚的建议,有条件一定不要像我这样去裸考,有机会一定要参加obce的培训,对于OB的技术细节和底层原理能有很好的认知,更重要的是OBCE培训会对数据库架构、应用架构设计等进行讲解,这可以帮助我们对于一个完整的国产化项目的成功实施打下基础。我是因为疫情错过了去OBCE培训的机会,我用三年的生产经验和项目上的摸爬滚打才走通这条路,我知道这是我的必经之路,但是希望大家能少走弯路。

行之所向,莫问远方。当你不知道方向的时候,不妨先去做,有时当你抬头时,会发现你已经到了山顶。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论