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

一次OBCP认证的心路历程总结

2021年5月28日,笔者考试通过OBCP,有图有真相,见下图。为什么笔者要参加数据库考试,为什么选择OceanBase?考试得到什么收益,考试后何去何从,笔者从解决方案的角度撰写此文,把OBCP考试当成一个项目,项目立项后围绕需求痛点、需求分析、规划设计、落地执行、运行维护去阐述介绍。人生亦是,学习没有尽头,学无止境,要有方向去学习,跟着心里的主线去奔跑,考试是阶段性的任务,我们的目标在更远处。

1.png

需求及分析

十年前你考个OCP认证,可以当做DBA入行的敲门砖,十年后的今天可能OCP证书已经非常普通,不值一提。由于本人常与数据产品打交通,工作上的任务常接触国产数据库等相关产品,本人需要对国产数据库要有一个体系结构的认识,迎合工作的需求。从行业的发展来看,国产数据库也得到国家政策的正面支持,以后红利下发不断,掌握国产数据库有助于以后的事业发展。于是下定决心拿下一个证书,证明自己有这方面的理论认知和实践操作,以后工作遇到问题可以迎刃而解,碰上同行可以有话可聊,一方面彰显科学技术知识水平的同时,另一方面也表现技术前瞻性的IT屌丝气质。

选择哪一个厂商?笔者调研市场上主流数据库,有TiDB、OceanBase、 OpenGauss三个选择,比较三者不同,首先过滤的是OpenGauss,因为OpenGauss是一款单体数据库,而TiDB和OceanBase是分布式数据库,Gauss要用商业版才能是分布式,果断否决了OpenGauss。TiDB和OceanBase之间的选择? TiDB出现的早,笔者最早学习的就是Tidb,对TiDB已经有一个基础的认识了,操作体验上tidb就是大号的mysql。唯独对OceanBase雾里看花,不知深浅,当时OceanBase还没有正式开源。众所周知,阿里的去IOE计划最难的一块就是去O,那么OceanBase是如何替代Oracle?曾经OceanBase开源了一段时间,后面马上又闭源了。我相信从事IT的工程师都会对OceanBase的技术工程特性有强烈的兴趣 ,笔者报考OBCP一个原因是因为好奇心,在互联网公司的知名度很高,可能性原因它灵活方便,兼容 MySQL比起MySQL又有不俗的性能。TiDB自称是继承Spanner,但是本人觉得它更像CockRoachDB,CockRoachDB是Spanner的开源版,变化还是很大的。另外一个原因笔者认为数据库市场 分为ToB、ToC 、ToG三个领域,TiDB的活动范围主要在ToC一带 ,而ToB和ToG领域尤其传统企业更偏爱完全100%自主研发的企业,它们对并发的要求不高,考虑更多的是产品的安全性、可靠性、稳定性。OceanBase是100%自主研发,技术上具备伸缩性和分布式性,本身又是民营企业,曾经又取得不菲的成绩。就这样一方面相信OceanBase会后居而上,一方面我好奇它面纱的下面是什么,所以我选择了OBCP。

准备考试

项目正式立项,我就注意OceanBase相关的信息,知道考试的题目都是从官方的pdf里面出来,工作休闲时就打开PDF看一下。一次与同行聊,得知他们公司组团5个人自学考试报OBCP,居然全部都没有通过。比较经过培训的通过率和没有经过培训的通过率,我毫不犹豫选择了培训,于是我找到了云和恩墨。

当时培训机构有两个,一个是新炬,一个是云和恩墨,新炬提供的是线下的培训,全部费用加起来是几千块,报价比云和恩墨贵得多。笔者选择云和恩墨,不是因为云和恩墨便宜,而是笔者的目标很明确,1是通过考试, 2是体系的学习OceanBase相关知识。田老师允诺 如果第一次考不过,第二次还可以加100块补考,视频的内容涉及OceanBase所有的组件的工作原理和相关交互。考试是学习检验成果的一个标准,我看到既能够学习,又有一次补考的机会,如果补考不通过只能怪我自己了。于是选择了云和恩墨。

云和恩墨提供视频和题库,我把视频从头到尾看了一遍,对OceanBase得到一些理解。当时OceanBase仅是2XX版本,我安装后并把习题实机操作了一下练习题 ,加深印象。田老师说80%的题目都在题库里,20%在视频和PDF里面出,我把题库由头到做了一遍又一遍,有些自信了。再把OceanBase安装,通过实验操作固化对OceanBase的认识,更加自信了。2021年5月17日我昂头挺胸走入考场,结果如下。

2.png

80分是及格线,我差3分,我的总结是题库做得不够熟炼。这一次,我给自己定了一个要求,我记得题库约220道题,我要保证完成220道题 ,不超过5道题出错,如果超过5道题,马上从头开始重做。并且把视频再从头到尾看一遍,尽量不错过20分的内容。我的熟练程度在连续3次通过题库,不超过5题出错的基础上步进考场,终于92.5通过考试。

总结考试还是简单的,你要拼命的练习做题库,当时笔者的肌肉记忆训练做到30分钟能够做完200多道题。

试后总结

至此OBCP考试认证项目已经有阶段性成果,但是离目标仍然很远,前面我说了我的一个目标是熟悉OceanBase有综合的体系结构的认识,如果我熟悉了,那么我知道OceanBase上千个参数有哪些,关键核心指标有哪些?如果我熟悉了参数,最佳性能根据不同硬件参数应该调优成为多少。 这些都是视频和PDF无法给你的。OBCP考试只是形式,学到你脑里的知识总结的越深,你才有更多的收获。考OBCP之前,我读了一本书《大规模分布式存储系统》,里面有关于OceanBase最初设计的介绍,但是与我现在接触的OceanBase2XX的系统结构完全不同,这个好奇心驱使我去了解OceanBase2XX的去中心化特性、paxos协议以及多租户的ZONE资源管理机制。

我的总结围绕OBCP考试出现的技术章节,包括OB运维、监控与异常处理、OB分布式事务高级技术、OB分布式架构高级技术、OB存储引擎高级技术、OB备份与恢复、Obproxy路由策略与使用运维、OB SQL调优、OB SQL引擎高级技术等方面,结合OBCE考试涉及的章节安装部署、管理业务租户管理网络连接、SQL调优、管理系统资源、执行分布式事务、备份恢复、管理内存、运维。从这些考试维度方方面面认识OceanBase,由于本人工作内容多与解决方案有关,所以我的OBCP考试总结以解决方案的表现形式固化下来,算是我的最终成果。

我的总结如下,现在产品化的OceanBase是一个去中心化、实现paxos协议、支持多租户、高可用、健壮的分布式的HTAP数据库。它的技术优势和亮点是去中心化、paxos协议、多租户,这是区别于TiDB的地方。选择去中心化架构,可能性原因是为了集群的稳定性、可靠性,笔者特意调研了同样的架构cassandra相对于hbase是不是更具备集群健壮性,elasticsearch的脑裂性的风险相对于中心化的主从架构是不是机会率更低。选择paxos协议,是为了更好辅助的去中心化架构,因为paxos协议,副本之间对称平等也能正常选举出leader,不像raft那样,需要leader做更多的事情。具备多租户的特性,是为了与oracle形成对比标杆。Oracle自12c开始演化到现在的21c,一直标配两个基本功能,一个是In-memory,不遗余力用尽硬件的性能,使应用得到最大的提升。 一个是通过PDB的主流容器技术做到多租户资源共享,做到细粒度的权限隔离,让开发者解放轻松做到高效的应用开发部署。 匆论OceanBase的Zone租户资源管理技术做的怎么样?但是有了一个与Oracle对标的地方。OceanBase有一个市场宣传自称是准内存数据库,其实就是LSM机制,充其量是充分利用了内存,不算是真正内存数据库。为什么这么干,我猜测是为了与Oracle的In-memory对标。估计OceanBase的产品路线图贴近Oracle12C开始就有的功能。

上面是偏重解决方案方面工程师的OBCP考试总结,如果我是运维工程师,工作要面对一个OceanBase集群,可能总结偏重数据库运行过程,从内存缓存到数据不可变性,数据不可变化到数据落盘持久形成有序sstable文件,整个过程中相关的参数都是影响数据库性能的关键核心指标,有哪些参数,调参范围有多大?做实验动手去验证它们。冥想一下,转储是minor freeze,而合并是major freeze,如果是bigtable还有一个merge freeze,那么merge freeze在OceanBase是如何体现?通过实践测试还原minor freeze和major freeze的场景。 通过root service宏观分布式OceanBase的状态,那么涉及元数据的表有哪些?验证当前SQL什么情况使用本地作业,什么时候条件使用了远程作业,什么条件使用了分布式作业?如果通过实验验证出来,这样一点一点把所学的OBCP考试知识固化下来。

如果是开发工程师,可以想想OceanBase为什么选择了去中心化和paxos,而TiDB为什么则是raft?OceaBase的2PC改进据说把4次日志延迟,2次RPC延迟 优化到 1次日志延迟,2次延迟。相对TiDB基于2PC优化基础上的percorlator模型,两者的区别在哪里? TiDB是存储计算分离,TiDB与TiKV是独立两个进程,而Observer则是存储计算耦合在一起。那是为了什么?

以上是OBCP认证的心路历程总结,持证未必可以上路,考试认证只是其中一个形式,结合自己的初衷需求,有目的学习考试,也许收益才是最大的。

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

文章被以下合辑收录

评论