欢迎访问OceanBase官网获取更多信息:https://www.oceanbase.com/
还记得 2021 OceanBase 数据库大赛中
令人羡慕的神雕侠侣 “NoPassCET4”吗?
打比赛,也打蚊子的“两只老虎吃萝卜”吗?
一个人扛起一支队伍的 “lying_flat”吗?
(点击回顾👉 2021数据库大赛)
时隔 1 年
2022 OceanBase 数据库大赛
又到了最激烈的冲刺阶段
12 强团队即将开启新一轮巅峰对决
完整榜单
从 1180 支挑战团队到 50 强晋级(点击查看👉50强名单),再到 12 强对决,比赛的难度持续升级。决赛阶段,参赛选手从 MiniOB 实训走向了真实的业务场景性能调优,由浅入深走向 OceanBase 数据库内核,通过创新思维,实现导入方式更底层、更直接,且性能更优的旁路导入功能,开启了数据库性能边界的探索。
毫无疑问,比赛的过程中充满挑战,除了赛题本身,时间管理、团队协作、心态调整也都是需要去克服的难题。那么走到最后的 12 强团队,是如何克服这些挑战的?比赛期间又发生了哪些有趣的事情?
带着强烈的好奇心,小丸子采访了部分选手,每期 4 支团队分享。
TA们说
82445721 团队—冯惠(北京大学 )
“制造工具比使用工具更有意思”
0xc0 团队—高弘毅(电子科技大学)
“不能提前立 flag,是会被打脸的!”
晨曦团队—王海涛(浙江大学)
“DDL 是最大的动力”
426 白给突击团队—王炳杰(西北工业大学)
“卡点成功,第二名”
下面就跟着我,一起去看看吧~
第一支分享的团队,是来自北京大学的 82445721。
为什么会来参加这个比赛?
冯惠(北京大学)
我从本科到研究生,都是学计算机专业的,个人觉得制造工具比使用工具更有意思。自己更感兴趣的方面是可以掌握系统和框架的原理,理解更底层的一些思想设计以及实现,然后在有时间、有能力的时候,去手动把它们实现出来。
我是从 2022 年 4 、5 月份通过国外的公开课,才开始了解到数据库这个方向,前半年都在自学,刚好用这个比赛来检验自学成果。而且这个比赛可以接触 OceanBase 项目,积累大型项目开发经验,在比赛的高压环境下,学习效率会比较高。更现实的一点,是为接下来的秋招做准备,如果能有好的名次,简历上也比较有亮点。
女生在理工科有什么优势?
冯惠(北京大学)
优势的话,其实不太好对女生整体去下一个判断,但我观察一些优秀的女同学之后发现:第一,她们都比较能沉下心,集中注意力在一件事情上。第二,比较有韧性,遇到挫折和问题的时候,可以保持理性和耐心去攻克,去解决。最重要的一点是细心,无论是理论知识的学习,还是代码的编写,细心都很重要。
我之前其实也怀疑过自己适不适合在计算机领域深入学下去,在暑期的时候,做过产品经理,想转换一个方向试一试,在做产品经理的工作中,我发现技术更纯粹,自己更想朝着技术方向去努力。
所以女生,如果不确定的话,可以多尝试,确定方向之后就坚持做下去。当你真正收获到一些外界的表扬,或者一些别的果实,这是对自己能力最好的肯定,会让自己变得更有自信心。
参赛中,遇到的最大挑战和成长?
冯惠(北京大学)
一开始题目出来的时候,我们就比较有规划了,而且比较确定自己的方向是对的,只要朝着定好的目标去努力,过程中遇到的都是小挫折,都可以解决,没有什么是特别大的挑战。
对于我自己的话,因为 OceanBase 本来的代码是很庞大的,我在看代码的时候,比较容易深入到某一个细节里面了,缺少对全局的理解和把控。所以在读代码的过程中,提高了对大型代码的阅读能力和对代码功能的抽象能力,积累了很多实战经验。
此外,还有对复杂问题进行拆解能力。因为复赛的题目,其实很容易拆解成几个部分,拆成这些部分之后怎么去优化?每个问题还能继续拆解,这个能力是很重要的。
第二支分享的团队,是来自电子科技大学的 0xc0!
比赛过程中最大的变化?
高弘毅(电子科技大学)
主要还是心态变化,比赛最开始,我们其实是落后很多的,后面从落后插到前面,就开始膨胀了。但最后一周,分数到 60 万左右的时候,其实特别煎熬,因为看到很多队伍超上来,我们甚至快被挤出前六。每天晚上都在想到底还有什么点可以优化,比较明显的点大家都已经用了,你没有想法,就没有办法去实践,只能干坐着。
非常感谢我的队友最后几天没有摆烂,一直在尝试各种新的思路,而且很多想法是在失败的过程当中冒出来的,然后继续咬牙坚持下去。
比赛中,有什么印象深刻的经历吗?
高弘毅(电子科技大学)
复赛的时候,我们从十一二名突然跑到第一,当时分数在 35 万分,超了第二名十多万分,我们就膨胀了,觉得这个比赛好像优化点就这些了,没有其他优化点了,就非常膨胀地给我们的一个版本取名 ultimate,就是最终版,然后我们就去图书馆外面的草坪上散了会儿步。
结果才高兴一两天,就被一个 40 多万的超了,我们就被打蒙了。周六又加班到晚上两三点,才把名次提上去,那个时候就觉得不能提前立 flag,是会被打脸的。
通过大赛,对数据库有什么新认知?
高弘毅(电子科技大学)
因为我之前接触的数据库实现,跟 OceanBase 这个企业级数据库比起来,其实就是个小玩具,到 OceanBace 之后,感觉之前掌握的那些太不值得一提了,才知道在学校和在实际生产当中,其实差距蛮大的。
第三支分享的团队,是 3 位分别来自上海交通大学、浙江大学、中国科学院软件研究所的同学组成的晨曦。
你们是怎么组队、参赛的?
王海涛(浙江大学)
我们是三个不同学校的,当时我了解到比赛信息后,在一个课程交流群里面看到了求组队的信息,互相聊了以后觉得挺合适的,就决定一起组队。目前,我们主要是在微信上面交流,每周打个电话,期待决赛线下面基。
其实,我之前不是一个特别主动去沟通问题的人, 但我的队友沟通特别主动,有什么问题,直接群里面问出来,现在我也开始学着跟他们一样,有什么问题就马上抛出去,不会憋很久,想不出来才问他们,变得更爱分享了。
比赛中最大的动力?
王海涛(浙江大学)
DDL 是最大的动力。因为复赛开始的时候,我们基本上摸鱼了两周左右,后面才讨论思路,慢慢开始实现。复赛倒数第三天,才第一次出分。
第四支分享的团队,是来自西北工业大学的 426 白给突击。
队名和口号有什么含意?
杨俊琨(西北工业大学)
我们都是西工大计算机学院 CBase 项目组的,平时就在学院楼 426 教研室,所以选择 426 为最开始。“白给”是我们玩游戏的一个名词,就是说参加比赛主要是去锻炼一下自己,也没什么信心,不期望能够走到最后,重在参与重在提升。最后的“突击”则是说我们会勇于去尝试,在比赛中学习成长,有敢于突击的勇气。我们的决赛口号“不怕白给,勇于突击”也是对队伍名称的阐释。
比赛中,有什么有意思的事情吗?
王炳杰(西北工业大学)
初赛的时候,有一天提交代码后 320 分,剩了一个小 bug,在教研室没改出来,回到宿舍,大概在 11 点 52,想到了这个 bug 出在哪里,然后就立马改了测试,大概在 11 点 56 分的时候,用了当天最后一次提交机会,大概 58,59 分的时候跑出来了 340(满分),卡点成功,拿到了初赛第二名。
复赛的过程比较坎坷,整个赛程中要经历两次数学考试。
第一次是组合数学。当时复赛刚开始一周,我们还在消化吸收实践很多新知识,再要加上复习考试的话,时间上就非常紧张。我们商量后给出的方案,是让我们数学能力强、也会讲题的琨琨先行复习,等考前四五天直接给我和成林讲题,节省了总复习时间。
第二次是数理统计,复赛结束的第二天要考。这门课程有难度,可能要花半个月的时间复习才稳,但我们当时就留了一周复习时间,同时期待疫情志愿返乡、考试延迟的通知。如果最后一周前还不出通知,那我们只能放弃比赛开始复习。最终我们等到了通知,利用最后的一周时间,把提测分数提了将近 30 万。(PS:新学期初,我们接受采访的时候都在复习数理统计考试)
本期的分享就到这里了,下期将为大家带来另外 4 支入围 12 强的团队,请保持期待~
最后,透露一下 12 强团队的行踪~
2023 年 3 月 25 日,大家将去「OceanBase 开发者大会」现场,共赴这场专属数据库爱好者的大 Party,欢迎来北京面基~
欢迎访问OceanBase官网获取更多信息:https://www.oceanbase.com/