半路出家的DBA,如何平衡架构复杂度与运维的简单化

2024年 5月 7日 70.3k 0

“如果连稳定性都保证不了,那业务体验就太差了,数据库只有满足最基本的能力后才能提供给使用者。至于性能或其他方面再好,不能稳定服务客户,提供不了业务价值,也是没有用的。”

作为数据库的使用者,作业帮DBA刘强认为稳定性是第一位的,尤其是在业务架构较为复杂的企业,这是他从事DBA岗位七年来的经验总结。

“半路出家”的DBA

作业帮就是业务架构较为复杂的一个企业,作为在线教育的领军品牌之一,其旗下多款软硬件产品拥有不同的特性和诉求。多元化的业务需求对应多款数据库产品,如MySQL+Orch、Redis-Cluster、MongoDB、Elasticsearch、TiDB 、OceanBase。同时,在云原生浪潮下,作业帮也采用多云架构(阿里云、腾讯云、百度云)以保证业务的连续性。在此业务背景下,从2020年至今,刘强不仅对数据库稳定性需求有了更深刻的认知,而且能够更好地平衡架构复杂性与运维简单化。

“我们在保证架构稳定性的基础上,尽量做到架构的简单,以便于我们的维护和管理”,刘强说道。首先,需要一套产品使用规范,比如产品官方文档、使用经验总结等,可以避免操作不当带来的问题。其次,合理利用运维自动化工具,将各数据库产品的类别及使用场景统计、录入运维自动化管理平台,减轻运维人员手动操作、重复操作的负担。再次,完善监控系统,这是保证业务稳定运行的关键。最后,定期对使用数据库的人员进行培训,包括使用场景、使用规范、经验交流等。

当聊到DBA工作及工作方法时,内向的刘强显得侃侃而谈。大学毕业后,刘强从事了与专业对口的船舶制造业,进入软件领域还是通过亲戚和同学的引导。

从已有经验的领域转向陌生领域从零开始,需要一定的勇气与执行力。当时,已经对计算机产生浓厚兴趣的刘强果断参加了计算机软件培训班。从硬件转向软件,“它们的共同点是维护一套系统,处理告警和异常”,刘强评价道。

刘强在计算机领域的第一份工作是Oracle DBA,随着国内数据库升级风潮愈演愈烈,各大银行开始试水MySQL,他也通过自学转向MySQL DBA,一边工作,一边学习,一边面试,最终进入互联网行业。在刘强看来,DBA这份工作很适合自己,可以在相对安静舒适的环境下、专注于自己所做的事情,发挥自己的优势,不用分散太多精力和人打交道。

目前,刘强已经完成了在DBA领域的从零到一,而要做到得心应手,在他看来还需要较长时间的积累。“对于半路出家的DBA而言,需要自己建立一套IT相关的系统概念,或者说思想体系。这需要在工作中通过时间和经验不断填补知识框架,最后把所有知识串起来。而对于工作中的细碎问题,遇到就想办法解决,解决不了就寻求社区平台的帮助即可。

DBA不止“增删改查”

或许在许多技术人看来DBA的工作就是增删改查,不该存在解决不了的问题。对此,刘强认为,增删改查只是数据库运维管理工作中最基础的一部分,还需要承担DevOps的角色,根据业务情况定制开发运维与监控管理体系,保证业务的稳定性。同时,需要针对业务部门做好数据库的选型与使用规范,提升业务部门的使用效率。选型中最关键的两点是:适合、稳定,需要DBA根据业务场景判断使用哪类数据库、有哪些使用权限与规范等。另外,随着技术的发展与融合,许多企业选择业务上云,也要求DBA熟悉各个云厂商,以及合理、高效地利用资源,节省成本。

因此,DBA需要具备一些基础的能力与特性。

第一,责任心。做到7✖️24小时保障业务平稳运行,通俗地讲,就是对负责的业务多用心。

第二,警觉性,只要发现异常,不论大小,都要及时排查原因,定位问题,因为哪怕是一个很不显眼的异常都会导致后续问题的通胀。

第三,了解业务,熟悉数据库使用场景,能够根据业务需求设计数据库架构和使用方案。

此外,塑造个人影响力也较为重要。无论是DBA还是研发人员,影响力能够使自己接触到更多的人脉资源,为自己带来更多的机会。而站在DBA视角,刘强指出的方法包括参加数据库社区活动、在社区或自媒体平台写作、在线上或线下会议中演讲,以及在技术交流场合结交朋友。

显然,刘强已经深谙DBA生存之道,并决定围绕几个方向持续深入。一是更加深入地了解云平台技术,结合云的特性设计更好的基础架构,为业务打造更加高效、稳定的数据存储环境;二是学习数据安全相关知识,比如,如何防范安全漏洞、数据泄露等;三是持续关注国产数据库的发展。掌握分布式数据库的使用规范。

对此,刘强补充解释道,近几年分布式数据库的大规模应用,是技术发展的必然也是市场选择的结果。但是,相较于集中式数据库,分布式数据库具备一定的复杂性,以至于目前市面上的分布式数据库产品的掌控性都不是特别好,出现问题时难以及时解决。这又回到了刘强看中的稳定性问题,“如果一款数据库稳定性很强,那么掌控力低一点也没问题,如果又不稳定又难以管理,就会给用户带来担心。”

“另外,因为自主创新和自研是目前提倡的主流价值观,所以我们会越来越多的采用开源或国产的数据库。”作业帮之所以选择开源的数据库产品,也是因为开源赋予了产品更多的创新性,让产品更有活力及更快速地迭代,同时降低了使用成本。

DBA对数据库的期待

目前,作业帮使用开源分布式数据库OceanBase已有半年,刘强作为推动者和使用者深有感触。虽然对分布式数据库的复杂性早有预期,在使用过程中也会遇到问题,但整体使用体验不错,在比较稳定的同时有及时响应问题的社区。对此刘强表示“OceanBase社区论坛与钉钉用户答疑群有值班人员能够及时响应问题,使用任何数据库不可能一点问题都没有,重要的是快速处理。这除了靠我们自己学习,目前OceanBase社区的企业内训也很有帮助。”

此外,刘强也道出了选择OceanBase的其他原因。“它的功能比较全面,比如多副本类型、多租户等非常契合我们的业务场景,能够较好的节省资源;它的架构比较灵活,可以针对不用等使用需求灵活设计;它的社区活跃,对用户及时响应而且支持力度大。”

除产品特性与社区动态外,刘强也关注着OceanBase的发版动态与GitHub仓库,未来,他希望OceanBase能将版本升级流程做得更加流畅,架构更加简单,持续强化稳定性。

半路出家的DBA,如何平衡架构复杂度与运维的简单化-1

受访嘉宾:刘强,作业帮高级DBA。多年数据库运维经验,要负责MySQL、Redis、TiDB和 OceanBase 等不同数据库的使用与探索,数据库管理平台的开发工作。重点工作方向是分布式数据库在公司内部的推广和使用;配合业务部门进行需求测试以及方案落地。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论