我与OceanBase|一位DBA老兵的国产数据库探索之旅

news2024/11/13 9:44:04
本文作者:尚雷,有超过十年的工作经验,目前就职于南京一家上市互联网企业,担任DBA。Oracle 11g OCM,Oracle及PG的 ACE认证,并有AWS及国产知名数据库等多项认证。他热衷于技术交流与分享,爱交友,喜健身。他是OceanBase南京社区的组织者,还创立了TechTalk技术交流社区,致力于推动技术领域的互动与成长。

一、引言

于我而言,2024年的六月的意义非常。端午假期的第一天,我与公司龙舟队的队员们并肩作战,共同代表公司出征南京市外企协会举办的盛大第二十一届龙舟锦标赛。那天,江宁百家湖上,我们奋力划桨,为公司争得了荣誉。6月中旬,我也迎来了自己的生日,这一切都使这个月变得特别难忘。

这是我第三次代表公司参加龙舟比赛。在中国的数字文化中,3是奇数、阳性之数,寓意吉祥如意。老子的《道德经》中有云:“道生一,一生二,二生三,三生万物。万物负阴而抱阳,冲气以为和。”这段话蕴含了丰富的哲理。

在OceanBase开源社区三周年之际,我想和大家分享我与OceanBase结缘的故事。其实,有太多的话想说。我也希望通过我的叙述能让更多朋友讲述他们和OceanBase的故事,同时也更希望能有更多的朋友加入到OceanBase开源社区建设中来。

二、我的职业历程

我先做个自我介绍,我叫尚雷,目前在南京一家互联网公司从事DBA工作,在IT行业十多年了。2020年离开工作了十年的北京,来南京工作定居。我曾在东北读书、工作一段时间,2010年,怀揣梦想踏上北京的征途,因为工作原因,在这期间,我虽然接触到了数据库领域,但并未立即投身于DBA的专业工作。然而,正是这样的经历,为我日后的转型埋下了宝贵的伏笔。

这样的经历持续几年后,受一个同事影响,深感数据库行业还是很有“钱景”,我意识到,是时候做出改变了。于是,我自费参加了专业的数据库培训,并成功通过了OCM认证考试,正式将数据库作为我的职业发展方向。这一决定,无疑是我职业生涯中最为明智的选择之一。

从事数据库这么多年,我也接触了多个行业,比如通信、银行、文化传媒、互联网等,甲方和乙方都做过。

来到南京后,入职了一家上市互联网公司,我是以Oracle DBA的身份入职,最开始主要从事公司Oracle方面的管理维护、迁移、升级。后来随着业务的发展,公司的Oracle也逐渐迁移到MySQL等数据库,Oracle也越来越少,我呢,也逐渐从Oracle DBA转变为从事更多种类数据库的运维。特别是随着国产数据库的蓬勃发展,有些业务也在探索迁移到国产数据库的可行性,我就接手了领导交代的任务,去考察评估国产数据库。

三、我和OceanBase的结缘

2022年年初,由于工作需要,我开始考察和学习国产数据库。最初,我研究了一些PG系数据库,包括基于PG代码修改的openGauss系数据库,逐渐对国产数据库有了初步了解。

从2022年起,我开始在墨天轮网站撰写技术博客,记录自己的学习心得和日常工作中的问题处理过程。在墨天轮,我看到了不少关于OceanBase的文章和活动,于是我开始关注OceanBase数据库。

到了2022年下半年,刚好我们有个业务需要测试OceanBase。当时选择的是OceanBase企业版3.2。我参与了这个项目的验证测试,通过这个项目,我第一次真正接触到了OceanBase,并结交了几位OceanBase原厂的朋友。这个数据库的神奇之处令我深深着迷,一个完全自研的数据库竟能兼容Oracle和MySQL特性,实在太奇妙了。

我也亲自参与了这套测试库的部分安装部署、数据库迁移等相关工作,并进行了一些验证测试。

这次亲密接触后,我更加渴望深入了解这款数据库。但由于这套测试库主要用于业务验证测试,我不能随意进行测试,且OceanBase企业版对服务器硬件配置要求较高,我的测试环境难以满足其安装需求。

正在我感到困扰时,OceanBase的朋友建议我尝试开源版。开源版虽然对Oracle没有高级兼容,但对MySQL高度兼容,完全可以满足测试学习需求。于是,我第一次在自己的测试服务器上亲手安装了OceanBase数据库,并结识了OceanBase开源社区。

为了更好地学习OceanBase,我除了经常登录OceanBase社区查找资料外,还加入了OceanBase的钉钉和微信群,经常在群里咨询问题。让我感触最深的是OceanBase的技术人员响应速度非常快,每次我在群里提问,都会很快有技术人员联系我,帮我分析并解决问题。即使问题不能立即解决,也会在较短时间内给予答复,真的非常感动。

随着我们业务基于OceanBase的进一步测试,我对OceanBase数据库的了解也逐步加深。从2022年下半年起,我在墨天轮网站上发表了多篇关于OceanBase的博客,涵盖安装部署、故障处理、备份恢复等主题。

前面提到,我曾有过10年一线城市工作经历,深感一线城市技术交流氛围浓厚。如果想学习新技术或结交朋友,一线城市有很多这样的活动可以参加。然而,来到南京几年后,我深感这里缺少这样的氛围。起初我以为是疫情原因,后来发现这似乎是基因决定的,这里缺乏技术交流的沃土。我一直在想,难道这种情况会一直持续下去吗?有没有办法改变呢?我萌生了想要改变这种局面的念头,但很长一段时间,这个念头一直停留在想法阶段,我没有迈出这一步。

当我看到OceanBase在很多城市举办线下和线上技术交流活动时,我更加心动了。我把这个想法与OceanBase开源社区的人分享,没想到得到了OceanBase社区负责人纪君祥老师的全力支持。纪老师还安排了部门的其他同事与我对接,由此我认识了OceanBase开源社区团队的少婷、丽华,她们非常热情。我们进行了多次沟通,并不断优化方案,最终推出了以南京站为标志的OceanBase线上直播交流活动。那次直播非常成功,吸引了很多数据库爱好者观看,纪老师还进行了技术分享。这次直播让更多数据库爱好者认识了OceanBase开源社区,同时也让大家知道南京并不缺技术交流。我们成立了OceanBase南京站微信群,聚集了很多关注和热爱OceanBase的朋友,大家经常在群里讨论技术话题。

通过这个群,很多未曾了解过OceanBase的朋友也开始关注和学习OceanBase数据库。我们还组建了一个OceanBase认证群,很多希望考取OceanBase证书的伙伴加入进来。

虽然目前我们只举办了线上活动,但未来一定会在南京举办更多关于OceanBase的线下技术交流活动。

今年4月20日,OceanBase开发者大会在上海召开,邀请了很多重量级嘉宾进行技术分享。我非常希望能参加,但那天正好有龙舟队的训练,无法请假,错过了OceanBase开发者大会,很遗憾没能到现场去聆听很多老师的技术分享,也没能见到很多想见的朋友。

四、如何学习OceanBase

上面聊了很多我和OceanBase的故事,接下来,我将和大家一起聊聊如何学习OceanBase这款数据库。

对于如何学习OceanBase数据库,我相信这会因人而异,很难有一个统一的学习方法,我只能根据我的学习经验来和大家简单聊一聊。

4.1 学习官方文档

无论学习什么数据库,我都会推荐先学习该数据库的官方文档,就像Oracle数据库,虽然市面上Oracle各种书籍、资料汗牛充栋,但Oracle concepts 官方文档还是一众大佬都推荐大家反复研学的。

OceanBase数据库也是如此,当前也有不少作者在多个网站上发表自己的技术文章,但这些文章在文档质量方面也参差不齐,会导致一些读者尤其是该数据库的初学者难以理解或者产生歧义。而OceanBase官方文档本身是由官方一些有经验的技术人员编写的,这些文章也是经过了实际检验和文档审核。另外官方对这些文档也都相应的学习指导,并根据知识的难易程度做了分类分级,非常适合不同层级的技术爱好者学习。

1719708774

官方文档知识库版块还汇聚了大量 OceanBase 产品使用和问题处理的实践案例,可以更好地辅助OceanBase使用者快速定位和解决遇到的问题。

除了上述这些,OceanBase开源社区还提供了大量电子书,这些电子书涵盖了如OceanBase从入门到实践的基础理论、OceanBase源码等,而且这些电子书还可以方便下载以便反复随身阅读。

另外针对DBA的学习资料还有一个《DBA从入门到实践》教程,是根据电子书定制的系统化直播教程,4.x版本的电子书刚迭代完,预计9月份会将在社区版推出。

1719708849

4.2 学习官方视频

如果有些朋友觉得学习官方文档还是比较慢的话,还可以通过OceanBase开源社区提供的其他资料进行学习。打开OceanBase开源社区官网:  OceanBase 社区 ,这里提供了很多视频学习资料,这些视频包括从入门到实践、数据库基础理论教程、开发者入门教程等,非常适合运维和开发DBA学习。

1719708860

OceanBase开源社区,还提供了大量用户实践方面的技术视频,这些都是很多客户在实际使用OceanBase时总结下来的宝贵经验分享,非常适合大家参考学习。

除了这些,OceanBase开源社区还会举办一些直播活动,通过这些直播,用户可以就有些问题对直播老师进行提问,通过这种方式也可以更快速的获得一些问题解答。

4.3 动手实操

学习官方文档以及视频资料的最终目的还是为了能更好地实操,实操才是对学习结果的最好检验。如果公司有业务在使用OceanBase数据库,自己又能参与到该数据库的日常运维,这将是提升自己学习能力的最佳途径,因为只有在实际运维中,有一定的数据体量,才会遇到各种各样的问题,对这些问题的处理会让自己积累很多实际经验。

如果很多朋友说自己公司还未使用OceanBase数据库,那我们完全可以通过搭建OceanBase开源版测试环境达到学习目的,可以通过虚拟机或者在阿里云上购买云主机进行测试学习。

OceanBase 官网:OceanBase分布式数据库-海量数据 笔笔算数 [快速体验 OceanBase 社区版],有各版本的安装部署资料供大家学习。

1719708878

4.4 参加OceanBase认证

获得数据库证书可以更好地展示自己的技能,证明自己具备拥有数据库管理能力和相关行业的认可,同时拥有相应级别的数据库证书也可以增强个人竞争力,能增加自己求职和晋升的机会。

获得OceanBase数据库证书也是如此,当前OceanBase数据库有三种证书,分别初级的OBCA、中级的OBCP、高级的OBCE。当前全国获得OBCE证书的人还特别少,据说截止到2024年中旬,全国才有不到20位OBCE。

和Oracle OCM 相比,OBCE不仅含有笔试题、上机题,还有面试题,其获得难度可想而知,所以如果能获得一个OBCE的顶级证书,对于自己的求职和晋升都是非常有帮助的。

我认识的一位OBCE朋友张瑞远,非常年轻,也曾考取过OCM证书,后来公司从事OceanBase相关业务,他也开始接触OceanBase,通过自学和生产运维,他也经常写一些相关技术博客,并参加了OceanBase的相关认证,最终获得了OBCE证书,目前也是OceanBase认证的培训讲师,现在我也邀请他为我们OceanBase认证站队群的义务培训老师,非常受到大家的欢迎。

4.5 其它学习方法

除了上述的一些学习方法,其实还有很多,比如,持续的技术输出,我们在对OceanBase有了一定认知了解后,就要想办法整理并输出这部分学习内容,比如在OceanBase 官网博客专栏或者墨天轮等网站发表自己的技术博客,通过写博客不仅可以整理自己的思路、提升自己的文字表达能力,还能以文会友,通过博客结交更多朋友。

另外还可以通过加入OceanBase 官方群或者其它一些技术交流群,实时提问、参与问题讨论、获得官方和一些有经验者的技术分享,加入这些群是一个快速获得帮助也是可以结识很多朋友的好渠道。

除了上面这些,还有就是要多参加一些技术分享,比如线下活动和线上技术直播,通过这些途径不仅可以锻炼自己的口才表达能力、锻炼自己的胆识、更是可以通过这些方式能够快速的获得大家的认可,拓宽自己的知识和视野、也能结识不同领域的朋友。

五、结语

作为一个工作十多年的IT从业者,从事专职DBA也有多年,当前国产数据库也是数量巨多,但我们每个人都精力有限,如何从这些庞杂的数据库中选择最适合自己的,是我们每个DBA要深入思考的。

根据墨天轮网站国产数据库排名,OceanBase数据库在众多国产数据库中经常是排名第一的数据库,单凭这一点,就证明其是一个有前途也是一个非常有“钱”途的数据库。

1719708907

当前国家也在积极推广国产数据库,所以对于一些想要学习数据库的初学者,或者是一些考虑转型到国产化道路的DBA来说,我认为OceanBase是一个非常值得关注的数据库。此外,希望大家多关注AI技术、编程相关技术,通过这些技术与OceanBase数据库结合,能有相辅相成的效果。

另外,对于很多数据库行业的从业者,经常会将国产数据库与Oracle相比较,认为国产数据库难以达到Oracle的水平,从而瞧不上国产数据库。对此,我持开放的态度。我认为既要认识到国产数据库的不足,但也不能贬低国产数据库。正如白鳝老师曾说过的那样,他在二三十年前刚接触Oracle数据库时,Oracle当时也存在很多问题,经过几十年的发展才成为行业巨头。所以,我们要给国产数据库时间,相信国产数据库一定能取得更好的成绩。

其实想和大家聊的内容还有很多,不如将这些内容留到以后线下相聚时再聊个痛快。

最后,衷心祝愿OceanBase数据库越来越强大,祝愿OceanBase开源社区节日快乐,愿社区越来越好,成为更多数据库爱好者的精神家园。我和众多数据库爱好者也会一直陪伴OceanBase开源社区一起成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1907600.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache AGE 安装部署

AGE概述 概述 我们可以通过源码安装、拉取docker镜像运行、直接使用公有云三种方式中的任意一种来使用Apache AGE 获取 AGE 发布版本 可以在 https://github.com/apache/age/releases 找到发布版本和发布说明。 源代码 源代码可以在 https://github.com/apache/age 找到…

非参数检测5——双输入检测系统

在很多情况下,信号常常存在于两个带有独立噪声的信道中。所以很有必要研究双输入系统。双输入系统广泛应用于无线电天文学、水下声波检测和地球物理学等领域。

【ffmpeg系列一】源码构建,ubuntu22与win10下的过程对比。

文章目录 背景ubuntu22结论 win10过程 对比结论 背景 顺手编译个ffmpeg试试,看看不同平台下谁的配置比较繁琐。 先让gpt给出个教程: ubuntu22 使用elementary-os7.1构建,看看有几个坑要踩。 错误1: 依赖libavresample-dev未…

源码层面学习动态代理

前言 在Java中,动态代理主要分为CGLIB动态代理和JDK动态代理,我们从Hutool的源码也可一窥这两者的使用方式和区别; CGLIB动态代理 JDK动态代理 使用场景 CglibInterceptor和JdkInterceptor都是Hutool提供的代理工具,用于在运行时…

214.贪心算法:K次取反后最大化的数组和(力扣)

class Solution { public:int largestSumAfterKNegations(vector<int>& nums, int k) {int sum 0;// 进行k次取反操作while (k > 0){// 对数组进行排序sort(nums.begin(), nums.end());// 将最小的元素取反nums[0] -nums[0];// 减少k的值k--;}// 计算数组的总和…

12 - matlab m_map地学绘图工具基础函数 - 在地图上绘制矢量场m_vec函数和绘制风羽图的m_windbarb函数

12 - matlab m_map地学绘图工具基础函数 - 在地图上绘制矢量场函数m_vec和绘制风羽图的函数m_windbarb 0. 引言1. 关于m_vec2. 关于m_windbarb3. 总结 0. 引言 本篇介绍下m_map中绘制矢量场的函数&#xff08;m_vec&#xff09;和地图上绘制风羽图的函数m_windbarb。 1. 关于m…

语言模型的进化:从NLP到LLM的跨越之旅

在人工智能的浩瀚宇宙中&#xff0c;自然语言处理&#xff08;NLP&#xff09;一直是一个充满挑战和机遇的领域。随着技术的发展&#xff0c;我们见证了从传统规则到统计机器学习&#xff0c;再到深度学习和预训练模型的演进。如今&#xff0c;我们站在了大型语言模型&#xff…

Unity扩展 Text支持超链接文本

重点提示&#xff1a;当前的文本扩展支持多个超链接&#xff0c;支持修改超链接规则和支持修改超链接颜色。 近期在邮件文本中用到了超链接。最初是在邮件窗口中新加一个按钮用来超链接跳转&#xff0c;之后发现效果表现不如直接在文本中添加&#xff0c;后经过几个小时的资料…

STM32中的DMA:解锁高效数据传输的秘密武器(内附实例)

目录 引言 理解DMA&#xff1a;数据的高效搬运工 DMA的主要特性 多优先级请求 事件标志 数据对齐 多样化的数据传输路径 广泛的数据源与目标 最大数据长度 DMA寄存器详解 增量与循环模式 DMA中断机制 ​编辑 小实验&#xff1a;DMA-ADC串口发送 引言 在现代嵌入…

SpringCloudAlibaba基础五 Nacos配置中心

一 Nacos配置中心介绍 官方文档&#xff1a;https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config Nacos 提供用于存储配置和其他元数据的 key/value 存储&#xff0c;为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos C…

集成sa-token前后端分离部署配置corsFliter解决跨域失效的真正原因

文章目录 1.前言2.问题复现3.解决方法3.1 方式一&#xff1a;后端修改CorsFilter源码3.2 方式二&#xff1a;前端禁用或移除浏览器referrer-policy引用者策略 4.总结 1.前言 缘由请参看下面这篇文章&#xff1a;sa-token前后端分离解决跨域的正确姿势 https://mp.weixin.qq.co…

气象观测站应该怎么选?

在气候变化日益严峻的今天&#xff0c;气象观测站的重要性不言而喻。它们不仅为气象部门提供宝贵的数据支持&#xff0c;还直接关系到农业生产、交通运输、城市规划等多个领域的决策。 在选择气象观测站时&#xff0c;首先要明确自己的功能需求。例如&#xff0c;是用于学术研究…

每日一练全新考试模式解锁|考试升级

&#x1f64b;频繁有小伙伴咨询&#xff1a;我想举办一场历时一个月的答题活动&#xff0c;学生可以每天打开答题&#xff0c;活动完结后可以导出每天的答题成绩 此前我们都会让小伙伴创建30场考试&#xff0c;然后使用批量分享功能组合起来&#xff0c;对外分享一个链接就可以…

类与对象2 3 十十一 杂烩

目录 组合类 作用域 static friend 常对象常成员函数 常引用 对象指针&#xff08;指向对象&#xff09; string 组合类 类的组合/聚合&#xff1a;将已有的类的对象作为新的类的成员。 组合类初始化&#xff1a;内嵌对象成员初始化 普通数据成员初始化。 类必须先…

24下软考《系统规划与管理师》,一个超好背的核心知识点几页纸!

距离下半年软考考试的时间越来越近了&#xff0c;想要备考《系统规划与管理师》的小伙伴们趁着这两周赶紧准备起来&#xff0c;虽说系规相对较好考&#xff0c;但作为高级科目&#xff0c;它要记得东西还是不少的。 今天给大家整理了——系统规划与管理师考前几页纸&#xff0c…

C++语言相关的常见面试题目(二)

1.vector底层实现原理 以下是 std::vector 的一般底层实现原理&#xff1a; 内存分配&#xff1a;当创建一个 std::vector 对象时&#xff0c;会分配一块初始大小的连续内存空间来存储元素。这个大小通常会随着 push_back() 操作而动态增加。 容量和大小&#xff1a;std::vec…

多卡(3090)部署通义千问Qwen2-72B大模型并加速至38tps:vLLM库的使用和错误排查

前一篇文章做了Qwen1的加速&#xff0c;其中关于Auto-GPTQ的安装问题在Qwen2中依然适用。但是Qwen2比Qwen1加载模型快了很多&#xff0c;笔者也不知道为什么。 下面是Hugging Face transformer版的千问2&#xff0c;token生成速度在15个每秒左右&#xff0c;但还不够快&#x…

Spring——IOC创建对象方式

可参考官网&#xff1a;https://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-collaborators.htmlhttps://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-collaborators.html 1. 使用无参构造创建对象&#xff0…

Unity--射线检测--RayCast

Unity–射线检测–RayCast 1.射线检测的含义 射线检测,根据名称而言,使用一条射线来检测是击中了某个物体/多个物体 射线检测的包含两个部分: 射线和检测 2.射线检测可以用在哪些地方 射击游戏&#xff1a; 玩家的瞄准和射击&#xff1a;检测玩家视线是否与敌人或其他目标…

初识c++(命名空间,缺省参数,函数重载)

一、命名空间 1、namespace的意义 在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全 局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化&#xff0c;以避免命名 冲突…