刘强
作业帮高级 DBA ,多年数据库运维经验,要负责 MySQL、Redis、TiDB 和 OceanBase 等不同数据库的使用与探索,数据库管理平台的开发工作。重点工作方向是分布式数据库在公司内部的推广和使用;配合业务部门进行需求测试以及方案落地。
“如果连稳定性都保证不了,那业务体验就太差了,数据库只有满足最基本的能力后才能提供给使用者。至于性能或其他方面再好,不能稳定服务客户,提供不了业务价值,也是没有用的。”
作为数据库的使用者,作业帮 DBA 刘强认为稳定性是第一位的,尤其是在业务架构较为复杂的企业,这是他从事 DBA 岗位七年来的经验总结。
“半路出家”的 DBA
作业帮就是业务架构较为复杂的一个企业,作为在线教育的领军品牌之一,其旗下多款软硬件产品拥有不同的特性和诉求。多元化的业务需求对应多款数据库产品,如MySQL+Orch、Redis-Cluster、MongoDB、Elasticsearch、TiDB 、OceanBase。同时,在云原生浪潮下,作业帮也采用多云架构(阿里云、腾讯云、百度云)以保证业务的连续性。在此业务背景下,从 2020 年至今,刘强不仅对数据库稳定性需求有了更深刻的认知,而且能够更好地平衡架构复杂性与运维简单化。
“我们在保证架构稳定性的基础上,尽量做到架构的简单,以便于我们的维护和管理”,刘强说道。
首先,需要一套产品使用规范,比如产品官方文档、使用经验总结等,可以避免操作不当带来的问题。其次,合理利用运维自动化工具,将各数据库产品的类别及使用场景统计、录入运维自动化管理平台,减轻运维人员手动操作、重复操作的负担。再次,完善监控系统,这是保证业务稳定运行的关键。最后,定期对使用数据库的人员进行培训,包括使用场景、使用规范、经验交流等。
当聊到 DBA 工作及工作方法时,内向的刘强显得侃侃而谈,但谁能想到他进入软件领域是通过网上冲浪偶然间看到的一则小广告。
大学毕业后,刘强从事了与专业对口的船舶制造业,四年后的一次偶然,他从小广告上面了解到计算机行业并产生了浓厚兴趣。从已有经验的领域转向陌生领域从零开始,需要一定的勇气与执行力。在程序员亲戚的介绍下,刘强果断报了计算机软件培训班,从硬件转向软件,“它们的共同点是维护一套系统,处理告警和异常”,刘强评价道。
从机构毕业后,刘强在计算机领域的第一份工作是 Oracle DBA。而随着国内“去O”风潮愈演愈烈,各大银行开始试水 MySQL,刘强也通过自学转向 MySQL DBA,一边工作,一边学习,一边面试,最终进入互联网行业。在刘强看来,DBA 这份工作很适合自己,可以在相对安静舒适的环境下、专注于自己所做的事情,发挥自己的优势,不用分散太多精力和人打交道。
目前,刘强已经完成了在 DBA 领域的从零到一,而要做到得心应手,在他看来还需要较长时间的积累。“对于半路出家的 DBA 而言,需要自己建立一套IT相关的系统概念,或者说思想体系。这需要在工作中通过时间和经验不断填补知识框架,最后把所有知识串起来。而对于工作中的细碎问题,遇到就想办法解决,解决不了就摇人儿。”
DBA 不止“增删改查”
或许在许多技术人看来 DBA 的工作就是增删改查,不该存在解决不了的问题。对此,刘强认为,增删改查只是数据库运维管理工作中最基础的一部分,还需要承担 DevOps 的角色,根据业务情况定制开发运维与监控管理体系,保证业务的稳定性。同时,需要针对业务部门做好数据库的选型与使用规范,提升业务部门的使用效率。选型中最关键的两点是:适合、稳定,需要 DBA 根据业务场景判断使用哪类数据库、有哪些使用权限与规范等。另外,随着技术的发展与融合,许多企业选择业务上云,也要求 DBA 熟悉各个云厂商,以及合理、高效地利用资源,节省成本。
因此,DBA 需要具备一些基础的能力与特性。
第一,责任心。做到 7✖️24 小时保障业务平稳运行,通俗地讲,就是对负责的业务多用心。
第二,警觉性。只要发现异常,不论大小,都要及时排查原因,定位问题,因为哪怕是一个很不显眼的异常都会导致后续问题的通胀。
第三,了解业务。熟悉数据库使用场景,能够根据业务需求设计数据库架构和使用方案。
此外,塑造个人影响力也较为重要。无论是 DBA 还是研发人员,影响力能够使自己接触到更多的人脉资源,为自己带来更多的机会。而站在 DBA 视角,刘强指出的方法包括参加数据库社区活动、在社区或自媒体平台写作、在线上或线下会议中演讲,以及在技术交流场合结交朋友。
显然,刘强已经深谙 DBA 生存之道,并决定围绕几个方向持续深入。
一是更加深入地了解云平台技术,结合云的特性设计更好的基础架构,为业务打造更加高效、稳定的数据存储环境;
二是学习数据安全相关知识,比如,如何防范安全漏洞、数据泄露等;
三是持续关注国产数据库的发展。掌握分布式数据库的使用规范。
对此,刘强补充解释道,近几年分布式数据库的大规模应用,是技术发展的必然也是市场选择的结果。但是,相较于集中式数据库,分布式数据库具备一定的复杂性,以至于目前市面上的分布式数据库产品的掌控性都不是特别好,出现问题时难以及时解决。这又回到了刘强看中的稳定性问题,“如果一款数据库稳定性很强,那么掌控力低一点也没问题,如果又不稳定又难以管理,就会给用户带来担心。”
“另外,因为自主创新和国产化是目前提倡的主流价值观,所以我们会越来越多的采用开源或国产的数据库。”作业帮之所以选择开源的数据库产品,也是因为开源赋予了产品更多的创新性,让产品更有活力及更快速地迭代,同时降低了使用成本。
DBA 对数据库的期待
目前,作业帮使用开源分布式数据库 OceanBase 已有半年,刘强作为推动者和使用者深有感触。虽然对分布式数据库的复杂性早有预期,但在使用过程中仍然会遇到问题。对此刘强表示“好在 OceanBase 社区论坛与钉钉用户答疑群有值班人员能够及时响应问题,使用任何数据库不可能一点问题都没有,重要的是快速处理。这除了靠我们自己学习,目前 OceanBase 社区的企业内训也很有帮助。”
此外,刘强也道出了选择 OceanBase 的其他原因。“它的功能比较全面,比如多副本类型、多租户等非常契合我们的业务场景,能够较好的节省资源;它的架构比较灵活,可以针对不用等使用需求灵活设计;它的社区活跃,对用户及时响应而且支持力度大。”