【OceanBase】 OBCA考试Tips

OceanBase OBCA考试Tips

最近花了半天时间学习并通过了OceanBase OBCA认证。总结一些经验和小贴士,供有同样需求的网友尤其是“考怪”参考。


OBCA认证目前免费

第一次通过后无法再考刷分,通过后可申请证书

OBCA备考资料

首选备考资料是官网最下方的《OBCA培训学习材料》,切记不要只看视频,考试中会有很多视频中没有讲到的东西,比如OBCA参数和变量部分,我就是吃了这个亏没得满分。考试中有道题是多选,其中一个选项是OceanBase是否分动态和静态参数,我在视频里没看到,但按常理讲应该是要选的,最后还是趋于保守没选。考完后反复翻视频没找到对应内容,后来在认证页面底部左下端的OBCA文档pdf中找到了。

OBCA重点与心得

重点学习OBCA参数和变量部分RootServiceLSM-Tree的MEMTable的转储(Minor Compaction)和合并(Major Compaction)
其他的智商正常不用看视频、文档都能答对,只要安心做个舔狗,OceanBase吹的高大上的点就是正确的,说不支持的功能、与传统数据库无差别的缺陷就是不正确,基本100%全对,稳过。如果只为了通过,60分就行,你甚至不用看OceanBase的任何资料,本文章针对的群体是想考满分的、完美主义“考怪”。

《OBCA培训学习材料》中的错误

1、“不可重复读”和“幻读”定义模糊不清

《OBCA培训学习材料》中引用的关于ANSI和ISO/IEC采用的SQL标准中“可防止的现象”中对“不可重复读/模糊读”和“幻读”有误,与原文阐述不符。
SQL标准
SQL标准中对“不可重复读/模糊读(Nonrepeatable/fuzzy reads)”的定义是事务重新读取之前读过的数据,查到了其他已提交事务修改或删除了这些数据(的部分或全部),对象是已有行
SQL标准中对“幻读(Phantom reads)”的定义是事务重新运行返回满足指定查询条件的结果集时查到了其他已提交事务插入了满足查询条件的**“额外”行**,对象是原来不存在的新行

而OceanBase 《OBCA培训学习材料》中相应的描述是:

  • 不可重复读:指的是在同一事务内,不同的时刻读到的同一批数据可能是不一样的(期间被别的事
    务更新数据)
  • 幻读:指的是在同一事务内,在操作过程中进行两次查询,第二次查询的结果包含了第一次查询中
    未出现的数据或者缺少了第一次查询中出现的数据(期间被别的事务插入或者删除了数据)

奇怪的是,OceanBase在官网“文档”部分的V3.2.3 系统架构->事务管理->事务隔离级别->事务隔离级别概述 章节描述的却是对的,与《OBCA培训学习材料》相矛盾。想来可能是后者是在V2.x版本创建的,后续文档更新时未作同步更新。

2、支持的隔离级别存在三种答案

同样,在MySQL和Oracle租户模式支持的隔离级别部分,OceanBase文档还犯了一些错,

  • 《OBCA培训学习材料》中说“Oracle模式支持读已提交和序列化;MySQL模式支持读已提交和可重复读”;
  • 而考试的试题中有一道多选题四个选项有两个明显错误,所以答案是“Oracle和MySQL模式均支持读提交和序列化”;
    注意这里是多选,而不是不定项选,前者表示答案包含两个以上,后者表示一个以上。
  • OceanBase官网文档V3.2.3又是另一种表述:Oracle和MySQL模式均支持读提交、可重复读、序列化三种隔离级别”。

导致我现在对此很困惑,也可能是版本增强,新增支持了RR可重复读隔离级别。但为了考试,还是应将错就错。

你可能感兴趣的:(OceanBase,oceanbase,数据库)