「DBA 100人」专访计划是OceanBase围绕资深DBA(数据库管理员:Database Administrator)进行的人物专访活动,旨在通过人物故事、职业发展经历以及日常工作中遇到的技术难题和实践案例,未来对技术趋势的想法,希望他们的成长之道能够给到各行业DBA一些建议和思考。
《DBA 100人》第2期带你了解云南某银行担任信息科技部数据库管理工程师胡中豪——拥有Oracle OCP,OCM认证,MySQL OCP认证,OceanBase OBCP认证专家,巨杉数据库SCDD认证专家,希望他的经验能给你带来参考价值。
随着新核心系统的上线,云南某银行信息科技部运维中心工程师胡中豪也有了新的标签——国产分布式数据库 DBA。胡中豪全程参与了云南某银行新核心系统数据库的建设,从早期的市场调研、中期的 POC 和招投标、后期的部署和上线,因而成为银行系统内为数不多真正全面了解国产分布式数据库的 DBA。虽然过程中经历了不少挑战和折磨,但胡中豪认为非常值得,正是它们让胡中豪从一个 Oracle DBA 转变为一名国产分布式数据库 DBA。
胡中豪 2014 年毕业于华北理工大学,大学专业为地理信息系统。虽然大学里学过一些数据库的知识,包括微软的 SQL Server 和地理数据库 ArcCatalog 等,但到大四参加毕业实习之前,胡中豪对于数据库并没有特别的兴趣,更没有想到以后会做 DBA,是最后一次实习让胡中豪有了做 DBA 的想法。
“大四在北京实习的那个单位,有一工程师负责 Oracle 的技术支持,给我留下很深的印象,当时感觉他好厉害,很多问题只有他能解决,大家都很尊重他。看得出,他也为做一名 Oracle DBA 自豪。我想成为他那样的人,于是就有了做Oracle DBA 的想法。” 胡中豪说。
刚好胡中豪有个认识的朋友在 Oracle 公司工作,他很支持胡中豪的想法,通过自己的关系介绍胡中豪到一个 Oracle 的技术培训班,参加了 4 个月的实操培训。4 个月后胡中豪正式走上了 DBA 的岗位,直到今天,虽然工作岗位换了不少,但一直从事的都是数据库相关的工作。
胡中豪说,在这些年的工作经历中,最为难忘的是作为数据库运维人员在云南移动做驻场工程师的那一年多的时光。谈到那段经历,胡中豪至今记忆犹新,充满感激。那是他经历过的压力最大、最为忙碌,也是收获最大、成长最快的一段时光。
“基本上市场上 Oracle 可能遇到过的故障场景我都遇到过,尤为重要的是自己心理承受能力得到了特别大的锻炼。” 胡中豪说。
那时候的胡中豪随时都处于可以工作的状态,就是在外面吃一碗面条,也都把电脑带在身边。一旦接到电话可能要马上打开手机热点开始工作,至于半夜被叫醒更是家常便饭。其中的一次经历至今仍然让胡中豪倍感自然。那一次云南移动更新了一个系统,正赶上移动会员日,交易量非常大,系统卡住了,影响到周边的系统,最后人们交不上电话费了,投诉电话打爆了,领导非常着急。
“当时,客户领导就站在我背后,看我查找故障原因,那一刻的压力太大了。” 胡中豪说。
好在胡中豪还是凭着扎实的基本功,很快找出了原因并给出了解决办法:建立了两个索引,问题很快就解决了。那一刻胡中豪似乎找到了当年实习时见到的那个 Oracle 技术支持人员的状态。正是这个经历让胡中豪对于抗压能力有了切身的体会。
那段时间,他还交付了云南省很多大型企业的数据库,比如:电网,富滇银行,云南白药,诚泰保险,云南电信,物流,医院等,这为胡中豪积累了非常丰富的实际经验,也让他有了充分的自信。2018 年云南某银行招聘 DBA 时,胡中豪凭借之前自己的努力通过面试,成为了云南某银行的一名 DBA。
进入云南某银行以后,胡中豪和另一名同事一起负责银行的 100 多套 Oracle 数据库和几十套 DB2、MySQL 数据库。每天的工作平稳而有序,和之前担任驻场工程师相比,压力少了很多,但偶尔也会有些富有挑战性的工作,比如,为云南某银行搭建上线了首个 Oracle RAC 集群。
这种平稳有序的日子因为新核心系统项目戛然而止。2020 年 10 月,领导告诉胡中豪银行的核心系统需要换,出于国产化以及公司未来发展的考虑,这次新核心系统准备用国产分布式数据库,让胡中豪着手准备。
要换核心系统,胡中豪对此不觉得意外,现在这个核心系统基于 IBM AIX 小机搭建,系统与数据库都在这台机器上,已经运行多年,架构比较老,周边系统都已经升级了,核心系统已经成为瓶颈,迫切需要升级,但直接上国产分布式数据库是之前没有想到的。
接到任务,胡中豪才发现自己这些年的所有工作经历都是围绕 Oracle、DB2 和 MySQL,对国产数据库的认知实在有限。国产数据库目前是什么状态,市场主流玩家有谁,和 Oracle 相比有哪些自己的优势和不足,生态建设如何?这些问题都等着胡中豪去了解和学习。
好在有多年 Oracle 数据库的使用经验作为基础,这些问题难不住胡中豪。经过一段时间的调研和与厂商的接触,对市场有了初步了解,敲定了包括 OceanBase 在内的 4 个候选厂商来云南某银行现场测试,进行 POC。
这段时间胡中豪的所有工作精力都扑到了新数据库上,每天面对的都是新的知识,让胡中豪倍感充实和兴奋,同时也让胡中豪对国产数据库有了比较全面的认识。
他介绍说,国产分布式数据库大体可以分为两类:一类是基于开源数据库引擎开发、采用分库分表实现的分布式数据库,一类是原生的分布式数据库。 基于分库分表的数据库线性扩展能力比较好,底层大都采用开源引擎,因此开发成本比较低,但在分布式事务的实现、全局时钟和全局索引等方面有所不足。而原生的分布式数据库,具有高可用、高弹性的特点,并且因为不用分库分表,因此不必感知数据的分布,对应用的侵入性比较小。
“当时我们测试和评估完以后,就倾向于云原生的分布式数据库。” 胡中豪说。后来,为了把准备工作做得更扎实点,云南某银行还特意拜访了一家部署了国产分布式数据库的银行,除了解它们的使用体会外,重点探讨了全局分布式事务、全局时钟以及全局索引这些非常关键的问题。到 2021 年 4 月份进行了公开招标,最后选定了 OceanBase。
“最终选定 OceanBase 是综合了各方面因素做出的决定,除了技术和生态也包括厂商的实力。毕竟我们不希望过几年都找不到公司了。” 胡中豪说。
从 2020 年 10 月份胡中豪开始关注国产数据库,到 5 月底 OceanBase 顺利上线,在差不多近两年里,胡中豪全身心地投入在国产数据库中。谈到国产数据库,他说,国产数据库给了他很多惊奇,他之前没想到国产数据库技术进步这么快。
胡中豪介绍,相比 Oracle,国产分布式数据库的 3 个特点给他留下了非常深刻的印象,这就是高可用、高弹性以及高并发下的负载能力, 它们给云南某银行的数据库运维带来了很多方便。
比如,云南某银行的核心系统采用的是两地、三中心、五副本的部署模式,现在任何一个地方系统挂了,都不影响业务,而且国产分布式数据库可以很容易实现双活,遇到故障可以自动切换,维护非常方便。
“测试时,我们采用过很多极端手段,包括杀进程、关服务器、断网、拔硬盘等,基本上 30 秒以内业务都能恢复。”胡中豪说。
同样,国产数据库在弹性扩缩容和高并发的支持能力也让 DBA 的工作变得容易了很多。比如,OceanBase 扩容时只要把设备接入,配置好就可以,不会干扰业务的正常进行,而以往使用集中式数据库的时候,加一个节点和加个存储设备都必须仔细挑选时间,因为扩缩容会严重影响业务的正常进行。
“虽然单机表现弱一些,国产分布式数据库比不上国外集中式数据库,但国产数据库几乎可以无限增加设备,性能会随着线性增长,这一点很方便。”胡中豪表示。
从当年在朋友的引导下进入了 DBA 这个行业,这些年来胡中豪一直在数据库领域摸爬滚打,早已不是刚入行的那个懵懂少年了。多年的经历让他对这份职业有了更深入的认识。回顾这些年的经历,他很感激当初带他入行的大哥,让他少走了不少弯路。
他说,DBA 是一个对从业者有比较高要求的职业,入行之前需要对此应该有个清醒的认识。
“DBA 首先需要严谨、细心和强大的心理素质,这些要比拥有专业技术知识更为重要,其次是需要持续地学习和良好的沟通能力。”他说。
胡中豪特别强调了学习能力。他表示,过去作为一名 Oracle DBA 是非常有地位的,工作也比较好找,但今天新技术驱动下的国产化,以及国产数据库本身的崛起使得数据库行业发生了很大变化,DBA 必须不断学习跟上变化, 这也是使得学习能力在今天显得非常重要。
“有时间一定要多看看官方文档,自己搭建测试环境,进行测试,多注意进行总结,一定要多总结。”胡中豪建议。
胡中豪透露,他自己就有一个保持多年的习惯,就是写工作笔记, 每天学到了什么东西都有记录和总结,包括这次新数据库的选型、上线的整个过程,胡中豪都记录下来了。“这是总结也是记录,等到回头看的时候,可以看到自己的一点一点地进步。”
谈到今后的规划,胡中豪说,近期目标是今年能拿到 OceanBase 的最高级认证 OBCE(数据库认证大师);远期目标是在掌握数据库技术之外,多懂一些业务,把自己变成一个懂得业务的专家,而不仅仅是一个技术人员。
“通过不断的学习,技术有了成长,同时,心理承受能力跟上来,今天无论遇到了什么问题我都能自信地从容面对,这是我这些年最大的收获。”胡中豪总结说。