我与 OceanBase 的缘分,从测试新版本开始

2024年 5月 7日 44.7k 0

自3月15日居家隔离以来,我已经两个多月没怎么出过门了。跟所有在上海的“打工人”一样,我每天都在期盼上海解封!

老实说,虽然被疫情所困,但除了不能外出,我的生活其实并没有受到太大影响。工作还是照常进行,一日三餐还是能够保障。相对于居住在浦东、徐汇这些地方的朋友而言,我已经非常幸福。而且,因为居家办公,每天节省了大量的通勤时间,这就让我有更多的空余时间去技术社区给自己“充电”。而 OceanBase ,是我最常逛的社区之一——每天工作闲暇时,我都会去 OceanBase 社区签到,找几个有意思的问题回复,顺便看看问题涉及到的官方文档。

更多人知道 OceanBase,可能是去年6月1日开源的社区版。但我早在2018年就已经知道 OceanBase ——我的甲方单位南京银行、西安银行,因为看到 OceanBase 企业版在天猫双十一的精彩表现,很早就选型了 OceanBase 企业版。

当然,那个时候我对 OceanBase 还只是有所了解,并且,那也还是 OceanBase 企业版。真正认识 OceanBase ——更准确的说,应该是 OceanBase 社区版,是在2021年。一次机缘巧合,就让我走进了 OceanBase 的世界。

不期而至的线下约会,OceanBase 的 Meetup

2021 年的 9 月份,网上冲浪的我,无意中了解到, OceanBase 将在上海长城大厦举办线下 Meetup 活动。官方活动嘉宾基本都是 OceanBase 的技术专家团,包括纪君祥老师,王运来老师, 架构师梅庆,DBA 专家徐力佳。单从活动的人员配置来看, OceanBase 可以说是诚意十足。

因为在上海,又赶上周末,得天时地利之势的我,决定去现场感受一次 OceanBase !

Meetup 活动当天,第一位发言的是纪君祥老师。纪老师非常正式地给大家介绍了 OceanBase 。这样的介绍,对很多还不是很熟悉 OceanBase 的用户来说,非常友好:你可以从介绍中了解 OceanBase 的基本功能,了解 OceanBase 周边工具支持程度,了解 CDC 工具,了解 OceanBase 的版本发布节奏······

但对我来说,王运来老师《 MiniOB --帮你从底层深入了解数据库的实现》、以及徐力佳老师《蚂蚁 NoSQL 业务迁移到 OceanBase 实践》的演讲更有吸引力。王老师深入浅出,分析 OceanBase 的底层逻辑,徐老师巨细无遗,讲解 OceanBase 业务迁移,这些是我想要学习的。

OceanBase 上海站的 Meetup 之旅,我收获颇丰:除了更深入的了解 OceanBase ,认识几位热爱 OceanBase 的朋友,我还了解到, OceanBase 会在10月18日(2021年)云栖大会发布 OceanBase 3.1.1 社区版 。作为一名开发工程师,我很想知道,相比较 MySQL、TiDB、Oracle, OceanBase 社区版会有哪些惊喜。

如约而至的新版本,发现 OceanBase 的 小 bug

云栖大会上,OceanBase 3.1.1 社区版如约而至。

官方透露,此版本包含五大核心特性:全面提升内核兼容、完善生态工具、更多开放接口、支持物理备份与恢复、强化开源 OS 支持和易用性,持续增强开源产品化应用能力。

值得一提的是,在提升内核兼容这一块,OceanBase3.1.1 开源版适配支持 MySQL 5.7 驱动协议,新增 MySQL 8.0 的通用表表达式,支持租户/用户最大连接数设置,全面加强 MySQL 兼容,对企业选型非常友好。

看着新版本,我迫不及待想体验一把。当然,迫不及待想体验的不只是我,还有我的一群同事:因为单位将要选型, OceanBase 是首选对象,所以我们要提前感受 OceanBase 。当然,单位选型主要考虑企业版。我们体验社区版,主要是想看看社区版跟企业版有哪些区别。

说干就干!利用单位的机器安装完 OceanBase 3.1.1 社区版之后,我们开始测试。测试的结果就是: OceanBase 宣传的高可用和易用性,名副其实;OceanBase 宣传的生态,果然强大。

我与 OceanBase 的缘分,从测试新版本开始-1

但 OceanBase 还不是那么完美,我们在测试中发现了不少小问题,例如:

1、安装时非常吃资源,个人电脑配置低的,根本装不了。

2、大事务导致 oblogproxy 宕机重启后无法继续同步。

3、DDL并发导致同步链路中断。

这些问题看似不大,但很影响用户体验。尤其是安装的高门槛,会让很多个人用户“望洋兴叹”。

发现问题,我们第一时间就去联系 OceanBase 社区版技术人员。几经周折,我们最终才在 OceanBase 企业版工作人员的牵线搭桥下,联系上社区负责 CDC 模块的研发老师。

听到我们的反馈,CDC 研发老师非常重视,他们马上一对一对我们进行指导。社区版的老师们既敬业又专业,后面两个问题很快就被彻底解决。但关于安装吃资源的问题,暂时还无法解决。

OceanBase 刚刚起步,有一些小问题在所难免。但是,按照他们解决问题的速度,我们有理由相信,他们一定能把 OceanBase 做大、做强。

全面升级的核心技术,测试 OceanBase 的性能

继 OceanBase 3.1.1 社区版之后,今年的 1 月 6 日, OceanBase 发布了 3.1.2 版本。短短 7 个月,这已经是 OceanBase 发布的第三个版本!

CTO 杨传辉介绍,新版本包括三大核心技术升级:

第一,秒杀性能提升300%。

第二,生态适配全面加速,支持 Hbase 对接能力。

第三,推出全新社区版工具体系(社区版 OCP、社区版 ODC、社区版 OMS),提供白屏化集群管理、租户管控、开发调试、数据同步、导入导出等完整功能,协助社区用户快速上手。

我与 OceanBase 的缘分,从测试新版本开始-2

新的版本,新的期待!这一次,没有同事的参与,我决定自己来测试 3.1.2 版本的性能。

我找来单位的7台物理机,使用 OBD 直接部署为 2:2:2 架构的 OceanBase 3.1.2集群。 OLTP 测试场景,测试工具使用的是开源版本 BenchmarkSQL5.0。然后就是优化参数,关闭 SELinux,关闭防火墙,chrony服务检查,安装chrony服务,安装 Benchmark SQL,配置安装用户,格式化分区······详细过程可以参考我的这篇文章《OceanBase 社区版 3.1.2 压测性能测试报告》。

测试结果:

1、2000仓,200并发

我与 OceanBase 的缘分,从测试新版本开始-3

2、2000仓,400并发

我与 OceanBase 的缘分,从测试新版本开始-4

3、2000仓,600并发

我与 OceanBase 的缘分,从测试新版本开始-5

4、2000仓,800并发

我与 OceanBase 的缘分,从测试新版本开始-6

单从测试结果来看,新版本确实比之前好了不少,官方所言非虚。但并不是说这个版本就很完美,因为在测试中,我还是发现了一些小 bug:

1、sys 租户修改系统参数,OBD 重启 OceanBase 集群后,参数不生效。

2、通过 sys 租户修改了server_cpu_quota_max 参数,然后使用 OBD 重启生效。再重启后,又变回16C。

3、经过测试发现社区版OB不支持对二级分区的添加和删除 ,但官方文档显示支持。

实际上,没有完美的数据库,只有不断更新、与时俱进的数据库。Oracle 是这样,MySQL 亦是如此, OceanBase 自然也不能例外。发现问题,解决问题,才能做到更好,才有机会成为行业翘楚。

别有洞天的社区问答,荣获 OceanBase 月度之星

从开源到 3.1.2, OceanBase 社区版在不断的更新,而我也在不停的成长。

在体验 OceanBase 的过程中,像手动部署 OceanBase 3.1.2集群、迁移 MySQL 数据库到 OceanBase 、使用 ODB 部署一个三副本 OceanBase 集群,我都会记录成文档,因为这样的文档,会有用户需要它;在学习时遇到问题,我会在 OceanBase 社区的问答板块进行求助,因为这里很活跃,一般问题都能很快得到解决······当然,很多时候,我也在 OceanBase 社区帮助别人解决问题,也会去参加 OceanBase 社区直播······

就这样,频繁出现在 OceanBase 社区的我,逐渐有了小小的知名度。

4月的一天, OceanBase 社区运营人员找到我,她们说鉴于我对 OceanBase 社区建设的贡献度,给予我“月度之星”的称号。哈哈,官方的肯定,对我来说,是一种莫大的鼓励。

老婆看我荣获“月度之星”有点眼馋:做技术的真好,有这么好的社区平台能让你们深度学习。只是学习也就算了,你们还能答题拿奖品!有点过分了······

我老婆是一名医护工作者,她们学习的途径要么进修,要么临床。很少有像技术社区这样的医生社区,能让她们一起学习,共同进步。所以,对于技术的社区,她也只能是羡慕。

老婆调侃我:作为“月度之星”,你有什么感受?

感受嘛?还真有!那就是在 OceanBase 社区这么长的时间里,我发现 OceanBase 社区版的官方文档真心不错!从基础概念、到操作上手,文档介绍的非常详细。对我来说,他既是 OBCP 考试的学习资料,也是我学习 OceanBase 的主要途径。我强烈建议新手一定要好好学习,这个文档能帮助“小白”用户解决很多问题。至于其它的感受,那当然是开心啦。

据悉, OceanBase 又要发布新版本了!我已经准备好了。

隔离在家的忙里偷闲,凌晨两点社区捉虫

4月18日, OceanBase 社区发起了文档捉虫活动。活动一发布,我就报了名。

本想大显身手的我,却因为项目赶工,工作非常忙。再加上,这个月我家添了一名新成员:哈哈,我的闺女,出生啦!所以,一边忙着工作,一边忙着带娃,我是忙的不可开交。

在这里,我想吐槽一下,虽然初为人父甚是喜悦,但带娃是真的累,比工作累多了!工作基本上都是在白天,晚上你就可以休息。带娃可不是,带娃是全天候24小时待命。娃只要一哭,你就要起床,不管她是饿了、尿了、拉了,还是咋了,只要她哭,你就得起来,不分昼夜。这一阵,我这闺女可把我跟我老婆折腾的够呛!累归累,但只要看到她那粉嫩嫩的小脸,我是非常幸福的!那种幸福是始于新生命的诞生,始于对生命的敬畏,始于你能真真切切感受到血脉的延续。所以,你所有的辛苦都是值得的,你愿意为她付出你所有的一切。

虽然忙碌着,但我还是没有忘记捉虫活动。眼瞅着活动马上就要结束,我知道不能再拖了。终于,5月17日,下班后我就开始捉虫。大概从下午5:00开始,一直捉到夜里两点。我是越捉越兴奋,越捉越精神。但迫于第二天要上班,我不得不停止。

5月18日,也就是捉虫活动结束的最后一天,没睡几个小时的我,匆匆忙完手头紧要的工作,就继续捉虫。最后,赶在截止时间点,我提交了最后一个 pr 。这两天的忙碌,我一共提交了90多个 pr。

捉虫活动结果公布,我拿到了第二名,获得3970的积分!哈哈,这个结果虽然是意料之外,但也是情理之中。因为虽然我是在最后两天才“补”的作业,但我花在捉虫的时间,总共也有20个小时,差不多是完整的两个工作日。

不过,我想奉劝一下各位朋友,千万别学我熬夜捉虫。因为熬夜真的累人!

新的捉虫活动又开始了,但这次,我不能再打“突击战”了,我要好好准备,冲击更高的名次!

写在最后

近几年,在国家大力支持自主研发核心技术政策的支持下,国产数据厂商库百花齐放、百家争鸣,这就给国内企业选型带来了更多的选择。

虽然国产数据库在某些性能方面已经超过了国外的数据库,但数据库想要涌立世界潮头,仍然任重道远。希望所有国产数据的研发者们,不忘初心,砥砺前行。

最后,衷心祝愿国产数据库越来越强大,致敬每一位为国产数据库发展而奋斗的工程师。

最后的最后,您有任何疑问都可以通过以下方式联系到我们~

联系我们

欢迎广大 OceanBase 爱好者、用户和客户随时与我们联系、反馈,方式如下:

社区版官网论坛

社区版项目网站提 Issue

钉钉群:33254054

我与 OceanBase 的缘分,从测试新版本开始-7

相关文章

pt-kill工具的使用
pt-ioprofile工具包的使用
数据库管理-第216期 Oracle的高可用-01(20240703)
DBMS_REPAIR EXAMPLE SCRIPT WITH PARTITION
数据库事务的四大特性: ACID 
使用BBED修复损坏的SYSTEM文件头

发布评论