OceanBase连破世界纪录:蚂蚁技术人的砥砺前行
副标题[/!--empirenews.page--]
2019 年 8 月,阿里巴巴自研分布式关系数据库 OceanBase 圆满通过 TPC-C 测试,超越老牌数据库巨头 Oracle,登顶世界第一。2020 年 5月,OceanBase再次登顶,将自己的纪录刷新了 11 倍。这两张漂亮的成绩单来自于 OceanBase 诞生至今走过的十年艰辛之路,这背后既有前辈元老的筚路蓝缕,也有无数蚂蚁技术人的砥砺前行,薪火相传。 2019 年 8 月,那条性能曲线平稳地出现在了杭州蚂蚁总部的大屏幕上。 第一次 TPC-C 测试圆满结束,团队成员欢呼雀跃,沉浸在登顶世界第一、超越老牌数据库巨头 Oracle 的喜悦当中。当时没有人会想到,这个刚刚崭露头角的自研分布式关系数据库 OceanBase,会在半年之后将自己的纪录再度刷新 11 倍。 登顶世界第一后,对 OceanBase 的质疑也接踵而来: 有人说,Oracle 的数据是 9 年前测的,它的硬件提升早已今非昔比;还有人指出,2013 年 Oracle 单台工作站跑分达到 800 万,而它最多可将 27 台工作站联在一起组成集群。换句话说,Oracle 有实力跑出数千万甚至上亿的分数。 团队心里憋着一股气。OceanBase 创始人阳振坤皱起眉头,说:“再测一次吧。” 2020 年 5 月,OceanBase 第二次参加 TPC-C 跑分测试,最终成绩达到了 7.07 亿 tpmC,新创造的纪录是去年的 11.6 倍。相比于去年的兴师动众,杭州、北京两个团队昼夜攻坚,第二次测试就显得轻车熟路、高歌猛进。用 OceanBase 技术专家曹晖的话说,这是因为“该踩的坑都已经踩过了”。 如今的盛况,在十年前简直是一种奢望,OceanBase 这个由阿里自研的分布式数据库,刚起步时可说是举步维艰。2010 年,阳振坤提出独立开发数据库的设想时,几乎所有人都提出了质疑:“到底行不行?” 数据库是企业的命脉,尤其是金融机构的数据库,出一点问题就意味着巨大的损失。谁也不敢冒着风险使用不成熟的技术。 就在这样无人问津的窘境中,OceanBase 从无到有,一点一点艰难地扎根和生长。从最初唯一的业务是淘宝收藏夹,到 2017 年双十一承载包括整个支付宝账务库在内的核心系统,年轻的 OceanBase 逐渐成为阿里业务的一大支柱。2019 年,这个诞生 9 年多的数据库首次参加了全球事务处理性能委员会组织的 OLTP 数据库权威测试 TPC-C,以 6088 万 tpmC 的数据傲立世界之巅。 再到 2020 年 5 月,这个纪录又被自己打破。 “第一次感觉不可思议,第二次就在意料之中了。”谈及短短 8 个月内的两次“高光时刻”,曹晖复述了自己从激动到平静的心路历程,“第二次测试的准备时间比较久,模拟的时间也足够,不可预知性就会小很多。” 千帆过尽,只余从容。OceanBase 的两度登顶之路,从惊险刺激到闲庭信步,离不开背后这些蚂蚁技术人的倾力支撑。 01 “这不是一个人能干成的事儿” 谈及 OceanBase 的第一次测试,曹晖仍然心有余悸。 “预审计前的那段时间是最困难的,真的快熬不住了。”曹晖告诉我们,从 8 月 1 日第一次上 200 台服务器集群开始,TPC-C 项目组几乎有两周的时间不眠不休。甚至在审计抵达杭州之后,OceanBase 的压测曲线还是不满足要求。组员白天和审计员沟通,晚上通宵排查问题,“每个人都在超负荷运转”。 从调研阶段的存储空间摸底,到攻坚阶段的性能优化,再到后来操作压测集群、与审计员沟通和修改测试脚本……身为 TPC-C 项目的核心技术人员,曹晖肩上的担子不比任何人轻松。压力最大的那段时间,他直到每天早上五六点钟才离开公司。 逢山开路,遇水搭桥,在首次登顶世界冠军后,团队成员终于摸清了 TPC-C 严格测试流程中的那些坑。时隔半年,面对阳振坤定下的“小目标”,曹晖不怕了,他的心态很从容:“必须要做到,也能够做到。” 压测、修改、优化,一切按部就班。结果出来的那一刻,他的感受更接近于“释然”,好像心里的一块石头落地。 耀眼的成绩背后,是一群齐心协力攻坚的战友。说到自己所在的 OceanBase 团队,曹晖用了“朴实”这个词来形容。这和他给人留下的第一印象相一致:朴实、耿直、稳重,不大会说漂亮话,唯有在涉及技术的话题上,他才打开了话匣子滔滔不绝。 “数据库是一个底层的软件,如果你太浮躁,就没办法静下心来做一个基础软件的内核开发。”回顾 OceanBase 艰难的诞生史,这句话并不难理解:自研数据库需要投入极大的人力和心力,而在短时间内根本看不到回报,相比之下,购买第三方数据库无疑是更省时省力的选择。在 OceanBase 立项之初,阿里内部曾经爆发过极大的矛盾,许多员工都不理解为什么要自研数据库,在他们看来,这无异于舍近求远,引火烧身。 这条路有多难走,辉煌背后有多少苦难,OceanBase 团队的同学们冷暖自知。 “这不是一个人能干成的事儿。”曹晖说。 刘浩(OceanBase 技术专家)参与了两次 TPC-C 项目,“在过去一年多的时间里,有幸和这么一个强悍的团队一起参与了 OceanBase 两次登顶 TPC-C 的全过程。TPC-C 登顶不仅仅是 OceanBase 每一位同学努力后的成果,也离不开很多兄弟团队的支持和协助。” 这两次 TPC-C 测试交出的漂亮成绩单来自于 OceanBase 诞生至今走过的十年艰辛之路。这背后既有前辈元老的筚路蓝缕,也有无数蚂蚁技术人的薪火相传。 02 “特别纯粹的技术人” “这是一个 Impossible Mission(不可能的任务)。” 这是 OceanBase 高级技术专家赵裕众在刚看到 OceanBase 的性能曲线时,脑海里蹦出来的第一个念头。要在 TPC-C 测试中超过世界纪录保持者 Oracle,彼时的 OceanBase 性能还有很大差距。 但团队 Leader 阳振坤很乐观:“我们的目标是服务全世界!” 服务全世界,做一个世界领先的分布式数据库,这个宏大的愿景从 2013 年赵裕众加入团队时起就鼓舞着他,也一路支撑着他度过那些难熬的时光——当然也包括初次参加 TPC-C 测试时,攻坚组成员把自己关在项目室里,南北两地同步,没日没夜地闭关加班。 (编辑:厦门站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |