查看原文
其他

蚂蚁集团师文汇:从码农到高P,到业务中去会大有作为

乐于分享的 OceanBase 2023-09-28


在阿里技术体系,P8 已经是大部分“码农”的职业天花板;P9 属于资深技术专家,一般是二线团队负责人,不仅要求专业能力绝对过硬,还需要业务的敏感度和团队领导力;而 P10,往往是带领过业务从 0 到 1 的技术大佬,代码能力只是其专业技能之一,更多的是对业务、甚至是公司的前景思考,对技术和团队通常有着极高的追求。


师文汇(花名:虞舜)2011 年入职阿里,从一名普通的“码农”做起,如今已经成长为蚂蚁集团数据库存储团队负责人。能有今天的成绩一方面得益于他的机遇,他是和 OceanBase 一路成长起来的;同时也得益于其对技术的长期投入、对业务的深刻洞察,以及众多前瞻性的思考。师文汇的成长之路值得众多普通“码农”和 DBA 借鉴。

🙋‍♀️ 🙋‍♂️ 目前,多平台完整版访谈均已上线:

🎬 B站、微博:搜索用户 OceanBase数据库

🎧 小宇宙:搜索 DB大咖说 进行订阅

📲 联系我们:搜索 obpublic 添加微信小助手



师文汇是计算机专业出身,不过,他的第一份工作却是研发PLC(可编程控制器)。出于对数据库的兴趣,2011 年,师文汇进入淘宝工作,参与到国产分布式数据库 OceanBase 的研发与实践中。


2011 年 2 月份,师文汇正式入职淘宝的数据库团队,比 OceanBase 创始人阳振坤入职晚了半年,当时阳振坤所领导的 OceanBase 项目也才刚刚起步,准备做第一个项目——淘宝的收藏夹,入职一个月后,师文汇就投入到 OceanBase 的研发中。


收藏夹当时用的是 MySQL,这个业务有其特殊性,MySQL 数据库很难满足。因为收藏夹不仅涉及到用户,也涉及到商品,还涉及用户和商品之间的关系。每一次用户打开收藏夹,就需要对用户收藏的所有商品信息进行一次更新,看看是否有价格变动。如果用户收藏夹有 100 件商品意味着要有 100 次的 IO,会产生严重的查询放大,对后台数据库产生很大的压力。当时已经上百台设备,如果不想办法接下来只能继续加。


而 OceanBase 很巧妙地解决了这个问题。开发人员通过给每个用户的收藏夹建了一张大表,其中存放了用户收藏的所有商品信息,在每天凌晨2点对大表中所有商品信息进行一次更新,2 点以后如果商品信息有更新会保持在内存中。这样当用户打开收藏夹的时候,只要读一次 IO 再结合内存中的数据就可以得到所有商品的最新信息,从而把上百次的 IO 变成了一次 IO,设备数量立马减下来了。


“完成 OceanBase 对 MySQL 的替换后,服务器从原来的 100 多台减少到20多台,效果非常好。”师文汇表示,虽然这个过程也充满曲折,比如期间不停的测试,但项目的成功能为 OceanBase 找到了存在的价值,还是让整个项目的每个参与者都非常兴奋。


师文汇分享,当时收藏夹这个项目赢得了阿里高层的赞赏。10 多年以后的今天,师文汇依然还记得那天项目上线后的情形,这也是后来每每遇到困难时的精神动力,尤其是在 2017 年的“双十一”前夕的那段艰难的日子里。




2017 年的 11 月是师文汇职业生涯最艰难的一段时间。当时,支付宝已经确定在这一年双十一完成去“O”,将全部流量切到 OceanBase。师文汇清楚地记得,进入到2017年11月的时候 OceanBase 1.0 才推出不久,但是系统不太稳定,经常发现Bug。一直到 11 月 3 日深夜,OceanBase 在进行压测时指标仍然上不来,当时的 CTO 就站在自己身边,满脸关切地问,“你们到底行不行?”

“肯定行!”虽然心虚,但师文汇还是做出了肯定的回答。折腾一晚上,好不容易指标达标了,但师文汇很不放心,接着进行了异步化的演练,结果发现仍有指标不达标。“当时,项目组的人都已经疲惫得不行了,但是我还是要求他们尽快弄清楚。后来经过排查,发现是一个重要的 Query(查询)没有走索引。要是当时不发现,双十一当天一定会出问题的。”他说。

师文汇想起来都后怕。他发现这个问题后,立刻要求同事们重新检查了所有 Query 的 Plan,确定没有问题才罢手。这一年的双十一,零点时峰值流量一直持续了 30 分钟。最关键的时候,单位的领导和大佬就在站在师文汇的身后,时不时过来问一下“有问题没有?”

师文汇说当时他紧张得不行,但还是硬着头皮说没有问题。好在前期的准备没有白费,双十一大幕落下,OceanBase 挺住了,并通过了“出道”以来最大的一次考验。

这一年师文汇收获满满,但年末还是被告知因为当年数据库故障频出,也因此收获了工作生涯中唯一的一次低绩效 3.25,还被领导要求其去给其他部门道歉,这份经历让师文汇终身难忘。每次回首这段往事,师文汇提醒自己,以后都要避免把自己置于那种境地。

提及 DBA 的价值是不是要在“解决故障”的过程中体现,师文汇强调:不管是自己带的团队还是 DBA,都告诉他们一定要把功夫放在平时,提前做好准备,做到对系统、对业务充分的了解,到出问题的时候才能迅速定位并解决,“平时多出汗,战时少流血”,应急能力固然重要,但平时的准备充分更重要。

师文汇自己在工作中坚持做到这一点,而这一习惯让他成长得很快。2015 年,阿里准备成立网商银行,在讨论数据库的选型时,当时蚂蚁集团的绝大多数架构师都认为 OceanBase 不行,而师文汇也正是凭借他平时对 OceanBase 以及银行业务的了解,力排众议,向大家证明了网商银行用 OceanBase 是可行的。

无数个深夜,师文汇详细对银行业务进行了梳理,并从业务逻辑、架构选型、数据库范式设计等多个角度论证了 OceanBase 的可行性,并为此写出了 60 多页的文档。师文汇说,那段时间,天天写,每天写到十一、二点。这也是他到目前为止写文档最多的一次。

师文汇的文档出来后,大家接受了他的说法。后来网商银行选用了 OceanBase,今天,网商银行的系统架构基本还是师文汇当时设计的架构。

师文汇特别强调技术人员要把问题说清楚、把来龙去脉弄清楚,只有说清楚了,才证明你真的明白。而这一切都是基于平时对业务、对系统都非常了解这个前提。“如果 OceanBase 做了升级,我会要求做升级的这个人一定要弄清楚,这个新版本做了哪些修改,会影响哪些业务系统。”他说。



大多数人在职业成长道路上总有一些磕磕绊绊,师文汇也有这样的经历,其中有一件事他记忆尤为深刻,因为这件事改变了师文汇的思维方式和工作习惯。

师文汇说,他刚进入淘宝时,给自己的定位是一名“码农”,思考问题的方式也很“码农”,只要做好自己的工作就好,对业务等其他什么的并不太关心,觉得与自己关系不大。

当时,OceanBase 还在做收藏夹,需要和下游的数据仓库做数据对接,师文汇开发了一个数据迁移的工具。开发工作很顺利,师文汇用了不到两周就完成了。完成后师文汇就放下了这件事,没有督促上线,等到要用到这个工具的时候才发现没上线,领导自然很不满意。

“我的领导告诉我这件事上我犯了两个错误,其一,没有管理好合作人的预期;其二,没有业务意识,没认识到自己的工作最终是服务于业务。” 师文汇说。

经过了这件事,师文汇在头脑中开始有了业务意识,有了“技术最终是要为业务产生价值”这样的认知。他把这种转变称为从码农思维到 Owner 思维,而且很快师文汇也从这种改变中找到了乐趣。

师文汇回忆说,当年 OceanBase 在完成收藏夹业务后,有段时间没有找好下一发展方向。当时,技术部门有很多解决不了的问题都会找到 OceanBase 项目组,有的是数据库的问题,有的不是,师文汇和同事们也都会去帮助解决。在解决这些业务问题的过程中,师文汇也增加了对业务的理解,为自己的职业成长奠定了很好的基础。

“在后来带团队以后,我经常给他们说,如果要想快速的成长,就一定不要给自己设限。比如,做 DBA 就不能只是关心数据库的那点事情。”师文汇说。

同时,师文汇也要求团队成员尽量放弃技术思维,以工程化的方式来解决问题,这也是师文汇在蚂蚁集团将 DBA 队伍转变为 SRE 团队的原因。

“蚂蚁集团体量越来越大,系统如果挂了,可能会影响几十万甚至上百万人。面对这样的系统,只靠堆人是不行的,技术再强也不行。成本是一方面,效率也跟不上,因为系统太复杂。只能用工程化的方法以系统管系统,才能保证数据库、保证整个系统的高稳定、可持续。”



近年来,随着人工智能技术的进步,其向各个领域的渗透也明显加快。特别是随着ChatGPT 的成功,大模型也逐渐在各个领域落地。作为一位长期扎根在数据库领域的技术专家,师文汇深知人工智能对于数据库行业的重大影响。

“大模型一定会给数据库领域带来变革,尤其是在人机交互的效率提升上,能帮助释放数据的价值。”师文汇表示。

比如,Text to SQL 就是大模型的一个重点方向,也是当下的一个研究热点。Text to SQL 指的是把自然语言转化为 SQL 语句。众所周知,我们与数据库交互的方式是通过 SQL 语言,但是 SQL 语言有一定门槛,而 Text to SQL 让人们可以直接用自然语言,从数据库中获取数据并完成指定的操作,从而降低使用难度。

师文汇认为,大模型的落地意味着与数据库交互的范式会发生改变。目前,大模型还有很多问题要解决,如果这些问题得到解决,其应用一定会有更大的飞跃。比如,你能直接告诉系统,让它对数据库进行升级,或者告诉系统检查一下数据库是否有安全漏洞等。

而支付宝内部很早就在探索人工智能技术的应用。比如,师文汇在管理 OceanBase 团队时,就已经开始研究知识问答,比如让系统来回答如何做好 TPC-C 的 benchmark 测试;还有,让系统去比对数据库内部不同数据库中表中列名一样的是否是同一个数据。

不久前,支付宝还推出了一款开源的 DB-GPT 产品,这是一个可以私有部署的类似 GPT 的大语言模型应用产品实践,可以充当知识库回答人的问题,也可以按照要求去指定的数据源取得数据,或者根据指令生成一段 SQL 代码。

师文汇介绍,DB-GPT 已经开放到 Github 上。不过,DB-GPT 总体上还是实验性的东西,在准确性上还有很大的改进空间,距离实用还有很多工作要做。接下来,他们还会补充更多高质量的数据,进一步优化模型,使得它功能更强大、也更准确。(💡对 DB-GPT 感兴趣的小伙伴可以点击文末“阅读原文”,移步 Github 查看项目详情)

“ChatGPT 已经证明了大模型这条路可行,今天大模型在数据库的应用有很多人研究、摸索。我们中国人工程、数学能力强,算力、数据基础都不错,后面很有希望追得上世界先进水平。”师文汇说。

师文汇也强调说,作为数据库的从业者一定要有人工智能的意识,高度重视它,理解它,积极地把它引入到自己的工作中。

“某个技术如果你不想被它替换掉,你就必须积极拥抱,你要能站在它身上,把它变成你的工具,而不是站在它的对立面。” 师文汇说。

🎙️🎙️《DB大咖说》栏目简介


一档立足数据库领域,关注职业成长与前沿趋势,主要面向架构师、CTO/CIO、DBA、业务负责人、CEO 等推出的集「文音视频」于一体的原创栏目。《DB大咖说》主要围绕数据库领域的职业发展、趋势洞察、选型实践等话题,邀请领先企业的实干者、数据库领域的资深专家,从自身的职场积淀出发,结合所见所闻所思所感,与我们对谈交流输出优质内容。


每期《DB大咖说》将在 OceanBase 微信公众号发布人物专访文章,小宇宙发布完整版音频,哔哩哔哩、微博发布完整版视频,OceanBase 视频号发布精彩快剪短视频,并在大数网、CSDN/InfoQ/墨天轮/DBAplus 等技术媒体,多渠道同步发布,了解节目更多信息,可点击查《Ready!首发预告》


▼ 点击下方「阅读原文」,进一步了解DB-GPT!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存