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

本文作者:尚雷,有超过十年的工作经验,目前就职于南京一家上市互联网企业,担任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开源社区一起成长。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++·栈和队列

栈和队列是什么看这里: 数据结构栈和队列-CSDN博客文章浏览阅读948次,点赞25次,收藏26次。本节讲解了栈和队列的内容,其核心就是栈的特点是后进先出,队列的特点是先进先出。并用C语言实现了栈和队列的结构以及它们的各…

深度解析移动硬盘“函数不正确”错误及高效恢复策略

在数据密集型的社会中,移动硬盘作为移动存储的重要载体,承载着无数用户的个人信息、工作资料及珍贵回忆。然而,当遭遇“函数不正确”的错误时,这些宝贵的数据仿佛被一层无形的屏障所阻隔,让人束手无策。本文将深入探讨…

SiCat:一款多功能漏洞利用管理与搜索工具

关于SiCat SiCat是一款多功能漏洞利用管理与搜索工具,该工具基于纯Python 3开发,旨在帮助广大研究人员有效地识别和收集来自开源和本地存储库的漏洞信息。 SiCat专注于网络安全管理方面的实践工作,允许研究人员快速实现在线搜索,…

关于centos7自带的nginx1.20.1开启https后,XP系统的IE6和IE8无法显示网页的问题

CentOS7自带的nginx-1.20.1是支持HTTP/2和TLS1.3的。 软件包名称:nginx-1.20.1-10.el7.x86_64 CentOS7默认开启了HTTP/2,但没有开启TLS1.3,以及IE6和IE8的https访问。 开启方法: ssl_ciphers HIGH:!aNULL:!MD5;改为ssl_ciphers…

新增多种图表类型,新增插件管理模块,DataEase开源数据可视化分析工具v2.8.0发布

2024年7月8日,人人可用的开源数据可视化分析工具DataEase正式发布v2.8.0版本。 这一版本的功能变动包括:图表方面,新增组合图、热力地图、符号地图、K线图等图表类型,并对已有的仪表盘、明细表、指标卡、富文本等图表类型进行了功…

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

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

SpringBoot拦截器

目录 一、拦截器快速入门 (1)什么是拦截器 (2)拦截器的使用步骤 1、定义拦截器 🍀preHandle() 方法 🍀postHandle() 方法 🍀afterCompletion() 方法 2、注册配置拦截器 二、拦截器详解…

43、nginx的优化、防盗链、重定向、代理

nginx的优化、防盗链、重定向、代理 一、nginx的优化 1.1、隐藏版本号 server_tokens off;隐藏版本号 [roottest1 conf]# vim nginx.confserver_tokens off;[roottest1 conf]# nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok ngin…

顾客排队购买蛋挞问题(算法与数据结构设计)

课题内容和要求 顾客排队买蛋挞问题。有N个顾客排队,每人最多买M个。烘焙员每次烘焙1到K个蛋挞放入盘中,顾客只能购买盘中的蛋挞,未达到M个需重新排队。输出每个顾客购买情况和完成顺序。 例如—— 输入:N9,K5&#x…

Linux安装elasticsearch单机版

一、检查内核 uname -a uname -m 二、下载版本 下载版本选择自己服务器相同的内核版本 我这边是aaech64 ES下载地址 Kibana 下载地址 二、上传服务器解压 tar -xvf elasticsearch-8.14.1-linux-aarch64.tar.gz 三、安装ES 因为ES不能用root用户启动先创建用户 #新增 es …

Django QuerySet对象,all()方法

all()方法 在Django中,all()方法是QuerySet对象的一个方法,用于获取模型的所有实例。 当你调用ModelName.objects.all()时,Django会生成一个SQL查询,从数据库中获取该模型的所有记录,并返回一个QuerySet对象&#xf…

【产品运营】Saas的核心六大数据

国内头部软件公司的一季度表现惨不忍睹,为啥美国的还那么赚钱呢?其实核心是,没几个Saas产品经理是看数据的,也不知道看啥数据。 SaaS 行业,天天抛头露面、名头叫的响的 SaaS 产品,真没有几个赚钱的。 那为…

中国计量大学理学院访问赛氪网:共探校企合作新篇章来

2024年7月5日,中国计量大学理学院代表团莅临环球赛乐(北京)科技有限公司,进行了一场深入的调研交流活动。代表团成员包括中国计量大学理学院副院长王义康教授、数据科学系副主任刘学艺副教授以及金世举老师。此次访问旨在进一步强…

江洲的《家书》,岂止抵万金

题记 今晨6点钟,像往日一样的背上鱼具包,欲驾乘清凉舒适的晨风,前往味江河堤享受钓翁乐趣。孰料开门一看,朦胧的天空竟下着淅淅沥沥的小雨。 今年的天气异常,是笔者寄居“西川第一天”古镇5年来所未见:再…

stm32——外部中断EXTI

上回书说到定时器的级联,今天来谈谈外部中断EXTI。我使用的是STM32F103C8T6的学习板。仅供大家参考。 什么是中断呢?中断是指计算机在执行程序的过程中,当出现某些异常情况或特殊事件(例如外部设备请求、定时时间到达、程序错误等…

YOLOV8花朵实例分割实战

原文:YOLOV8花朵实例分割实战 - 知乎 (zhihu.com) 一、代码: https://github.com/ultralytics/ultralytics​github.com/ultralytics/ultralytics 与先前几个版本相比,YOLOv8 模型更快、更准确,同时为训练模型提供统一框架,以执行以下基本任务: 目标检测;实例分割;图…

奇安信20240513笔试

题目一 解题思路 n转为字符串,如果位数为偶数,取前一半设为x,后一段为y,从x最低位开始,9,9*10,9*10*10。。。 到最高位,加x,如果x大于或等于y,加1. 位数为奇数…

武汉免费 【FPGA实战训练】 Vivado入门与设计师资课程

一.背景介绍 当今高度数字化和智能化的工业领域,对高效、灵活且可靠的技术解决方案的需求日益迫切。随着工业 4.0 时代的到来,工业生产过程正经历着前所未有的变革,从传统的机械化、自动化逐步迈向智能化和信息化。在这一背景下&…

全志A527 T527 cat /proc/cupinfo没有Serial问题

1.前言 我们有些客户是使用cpuinfo节点去获取系统的cpuid的,如下: cat /proc/cupinfo processor : 0 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp CPU impleme…

代码随想录-Day51

115. 不同的子序列 给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 109 7 取模。 示例 1: 输入:s “rabbbit”, t “rabbit” 输出:3 解释: 如下所示, 有 3 种可以从 …