单刷 3 届 Hackathon,朝着理想中的数据库出发丨TiDB Hackathon 选手访谈

单刷 3 届 Hackathon,朝着理想中的数据库出发丨TiDB Hackathon 选手访谈

TiDB Hackathon 2022 正在火热报名中,截止目前已经收到 230+ 位参赛者报名,组队近 60 组。想必各位选手已经摩拳擦掌,开始准备自己项目的 RFC 了。在等待比赛日的这段时间,TiDB 社区采访了多位 Hackathon 参赛选手,通过访谈为大家分享一下他们对 Hackathon 的理解和感悟,同时探讨开源给他们的个人生活和工作带来了哪些改变。当然,作为老选手,也会有极其珍贵的参赛经验分享。已经报名参加本届 Hackathon 的选手或是对 Hackathon 感兴趣的小伙们,赶紧看过来!

今天与大家见面的参赛选手是目前在南京邮电大学读研三的陆涣冰同学,其实他的专业方向本来是卫星通信,但内心却十分热爱计算机底层技术,业余时间基本 all in 在开源分布式数据库上。

涣冰同学与 TiDB Hackathon 的缘分源自研一那年:当时看到比赛的信息后就非常想参加,但苦于自己技术水平不够,同时也没找到人组队,差点错过。幸好当时社区的运营同学给了很多鼓励,并说明个人参赛也是规则允许的,这才被引入了 Hackathon 这条路。之后涣冰就一发不可收拾,研一、研二、研三接连三届都参加了 TiDB Hackathon。

以下为采访记录:

Q1:为什么选择单刷的方式参加 TiDB Hackathon?

陆涣冰:其实单刷主要是因为自己想做的一些东西,对于很多人而言比较抽象,比较困难。举例来说,我去年做的题目就是用 eBPF 去加速 TiDB 的底层存储路径。这个项目可能需要比较多的底层知识的铺垫,当时问了一圈发现没人对此感兴趣,最终还是自己一个人参赛。其实拿不拿奖无所谓,玩得开心就好。

参加 TiDB Hackathon 帮我整个研究生的三年开了一个头,之后我又参加了各种开源的比赛,比如阿里的天池数据库大赛、 open Euler 高校开发者大赛等等。

我能开启这条路要感谢两个人。第一个人就是当时的社区运营 yanqing,她对我有某种程度上的知遇之恩,如果没有她我后面的这些经历应该都不存在。第二个人是当时在 P 社实习时的 mentor 施闻轩,他对于我在技术上理解的影响是比较深远。

Q2:最早是在什么时候对编程感兴趣的?

陆涣冰:我本科的专业是网络工程,研究生的专业是信息网络,乍一听起来好像都是计算机学科的分支。那时候其实走了一段弯路,当时整个人掉进了安全的圈里,觉得黑客好酷,什么病毒、逆向都觉得非常酷。但是在深入学习了安全一段时间,就感觉做安全好玩归好玩,但是真的要把这个当做职业,心里感觉还是缺了一点什么。在 2019 年 2 月 1 日,那天是我的生日,所以我印象特别清晰,在跟朋友聊天时,我问自己以后确定要做安全了吗?还是想更深入地写代码?因为当时身边很多做安全的朋友只是敲敲命令行跑跑脚本,感觉中国的安全确实青黄不接,厉害的确实非常厉害,但菜的实在是太菜了。那时候我这方面的技能,不谦虚地讲可以说是炉火纯青了,但是写代码的功底还是一塌糊涂。

和来自美团、百度的一些圈内朋友聊了聊,他们建议可以考虑一下前端业务应用开发或编译器、数据库、操作系统等更底层的开发。当时也是年少无知,就说要不学个数据库吧。于是从那天就一直学到了今天,然后就发现一入数据库深似海,这里面的东西实在是太庞大了。不仅要有系统知识,还要涉及编译器的知识,分布式的知识。伴随着这个学习过程,自己编码的水平也逐渐上来了。

说实话,身边除了自己,再也找不到第二个人做软件开发或者数据库开发。平时在学校的教研室里基本清一色都是前端开发,这三年来,就我一个人坐电脑前自学了三年。在接触到 PingCAP 时,有一种突然找到组织的感觉。

Q3:开源带来的乐趣或收益是什么?

陆涣冰:学习数据库的时候其实已经对开源有了一定的认知,基本上 99% 的知识全部来自于开源,无论对操作系统还是对计算机体系的理解,基本都是构建于开源软件之上的。

第一次接触 Linux,我发现这不就是我想要的操作系统?大家都能改,都能用,改完还能 push 进项目里,开放给别人用。某种程度上开源可以汇聚全人类的智慧去做一些事情。当然开源协作也会有很多问题,比如贡献的代码好不好,有没有漏洞,能不能和别人达成一致协商等等。有些项目写一半甚至不写了,开发者跑了,撂挑子了,这都很常见。包括开源项目的商业化,哪些拿过来可以做出自己的东西,哪些可以二次开发拿去卖,哪些行为是违规的,都需要开源参与者去考虑。

但那时我还只是开源的使用者,到了读研之后,借由数据库才慢慢把手伸得更远一点,开始把自己的代码贡献给别人。

Q4:TiDB Hackathon 与其他比赛在体验上有什么区别?

陆涣冰:那实在是太多了。第一还是人,PingCAP 这边的小助手实在是太热情了,工作做得非常好。我参加了三年,基本上会和每一届的小助手成为朋友。第二点是 Hackathon 的所有项目都构建在 TiDB 之上,TiDB 有非常多的文档,有对于内核、原理的解读,我认为这点在众多参与过的比赛、项目中可以说是最优秀的。这些工作大大减少了开发者想深入了解 TiDB 所需要的时间。举个例子,我在参加某个比赛的时候,他们就干巴巴地放出赛题以及代码框架,剩下就全部交给你自己了,非常不容易上手,新手非常难做。而 TiDB 的源码与文档可以帮助开发者在比赛中减少非常多的时间。

也说说不足,我已经参加了三届,感觉其实有很多 idea 都是前面已经做过的,总会被不断掏出来翻新。建议官方可以把过往的项目整理出来,避免后面的重复。去年有人说 Hackathon 是不是已经没有太多 idea 可以提了,其实我认为随着 TiDB 的发展,加了很多新的 feature 后 TiDB 已经变得越来越复杂,大家原本对于 TiDB 3.0、4.0 的理解放在 6.0 上可能就不适用了,需要再花大精力去做一些有比较有意思的东西。但这可能就需要花很长时间读源码,深入了解 6.0 的设计,这对于外面想参加的人来说就非常困难,所以他们才会说能做的变少了。其实不是变少了,是难度变得太高了,花费的时间成本更高了。

Q5:作为老选手,能不能给新选手分享一下 Hackathon 创意的灵感?

陆涣冰:其实我有一个想法,有一天我们能把编译器、数据库、操作系统打通,把数据库直接放在与操作系统一样的等级上去。我的所有灵感一直都是围绕这个愿望出发的,不要为了比赛而想点子,而是为了做出自己理想中的那个数据库,让现在的数据库朝着理想中数据库出发,看看还有什么缺的地方,一步一步实现。

我今年的思路其实和东旭之前的想法很相似,TiDB 后端现在存储引擎用的是 target 编码,先前计算机如果出了问题,都可以通过添加一层中间件或者中间层来解决。那我就想能不能添加这样一个中间层,把 TiDB 和 TiKV 解耦,让后面的存储引擎能够无缝切换。这是我今年想做的事情,但是不知道能不能做成功,做成什么样子。

Linux 内核进入 6.2 版本之后, Rust for Linux 基本上就能稳定了。当 Rust 进入 Linux 内核之后,能和数据库带来更深层次的互动。这个就是我讲的把操作系统与数据库放在同一个 level,其实一直在朝这个目标在走。

Q6:今年是你第三次参加 TiDB Hackathon,你觉得这些年有哪些变化?

陆涣冰:作为一名底层开发者,TiDB Hackathon 最吸引我的就是比较硬核的技术,比如 TiDB 先进的存储引擎、高效的性能,它能勾起我们的好奇心,去发掘一下这个数据库到底牛在哪。

如果是对于前端开发者而言,TiDB Hackathon 对他们的吸引就是借由 TiDB 能去开发一些有意思的应用,比如说无缝切换,比如更 native 的云原生基础组件,甚至替换 Kubernetes 里的某些功能等等。

我看到今年的赛制发生了一些变化,比如去年大多数比赛环节都安排在 48 小时里,初赛、决赛答辩,时间安排得满满当当。但今年主办方把初赛提前了,这能让选手们准备得更充分。参加 TiDB Hackathon 的大部分选手都是有工作经验的,或者是有 TiDB 使用经验的。他们对于这个数据库有着非常深的理解,可以借由 Hackathon 的机会把一些 actions 提前给做了。但是对于外面的学生或者不是太熟悉 TiDB 架构的人而言,比赛周期的延长就非常有意义了,他们能够有更充足的时间去阅读源码或者阅读文章,加深理解,能把 demo 做得更好一些。我第一届参赛时连 demo 都没有,根本来不及做。

另外,其实这些年我发现身边做底层开发的小伙伴虽然越来越多,但仍旧是杯水车薪。更多的人还是应用开发者,他们关心如何用数据库,而不是开发数据库,所以应用开发这个赛道的增加就很有意义了。应用开发者可以尽可能发挥,用这个数据库做出一些非常有意思的应用,展现出 TiDB 的更多可能性。

Q7:参赛经验分享

陆涣冰:想 idea 的时候千万不能闭门造车,要集思广益,收集一下已有的 RFC 或者 AskTUG 论坛里的一些问题,看一看 TiDB 的痛点在哪儿;再从评委的角度去想一想,是不是能第一时间 get 到你的想法。

我其实还没正式开始写 RFC,我的习惯是先把想法写在纸上,确定好了再腾到电脑上。写 RFC 首当其冲是要表明你的目的,做这个东西是为了解决什么问题;其次描述一下项目的背景,让评委能明白这个项目的定位是在 TiDB 的哪一个技术分支里面;除此之外,要把图画好,这样才能讲好你的故事。我第一次 demo 都没做出来,所以答辩的结果也就不尽如人意。第二次答辩确确实实把这个东西做出来了,做得是不是完美其实没有关系,大部分选手时间都一样紧张,关键在于能把你想做的事情、要做的事情、已经做过的事情讲明白就 OK 了。至于什么花里胡哨的画图、图表、效果,都是锦上添花的东西。

关于如何设计 RFC ,可以参考这里:
https://asktug.com/t/topic/903770

我从本科到现在,参加了百余场比赛,而且每一场都是单刷。其实参加这些比赛的初衷是想把技术学好,想能为别人再做点什么事情,能做出来一些更实用的东西当然最好,不会太过于关注奖品、名次这些事情,更多还是关注于自己的项目和想法有没有实现。即便没有得到评委的认可,也是自己花时间和精力做出来的,这些写过的代码,对于自己的提升是 100% 是有帮助的。

看过涣冰的经历,你心动了吗?点击文末阅读原文了解更多赛事详情!

[图片]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/72864.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于利用postman来模拟并发请求

结论 先上结论:按csdn的一些博客的操作方式,创建文件中,创建请求,然后去模拟并发 ,是不管用的,也就是说(也有可能是我没找到正确方式) 代码 利用jmeter 进行相同的并发测试

Postman并发请求测试

Postman Postman是没办法做并发请求测试的。 它的所有集合测试都是以串行的方式执行的。 Apifox postman有的功能Apifox都有,主要是它能做多线程测试。 下载地址:https://www.apifox.cn/ 创建接口 http://127.0.0.1:8041是在测试环境中设置的,接口…

深入浅出剖析 LoRA 技术原理

吃果冻不吐果冻皮 2023-07-29 12:22 发表于四川 编者荐语: 本文详细讲述了LoRA的原理和细节;同时,对论文中的实验进行了细致的解读。 以下文章来源于大猿搬砖简记 ,作者猛猿 大猿搬砖简记. 学会计出身的码农,和大家一…

论文解读:MobileSAM | FASTER SEGMENT ANYTHING: TOWARDS LIGHTWEIGHT SAM FOR MOBILE APPLICATIONS

发表时间:2023.06.27 论文地址:https://arxiv.org/pdf/2306.14289.pdf 项目代码:https://github.com/ChaoningZhang/MobileSAM Segment anything model(SAM)是一个快速引导的视觉基础模型,用于从其背景中找出感兴趣的对…

Google人工智能面试·真·题(附参考答案+攻略)

安妮 栗子 发自 泽浩寺量子位 出品 | 公众号 QbitAI 可能每个程序猿,都想过加入Google。 然而想要“应试”成功,考验的不仅仅是开发人员的编程技术,还能侧面考验着参赛者的渠道来源是否广泛、背景力量是否强大、脑洞回路是否清奇…… 不过&am…

人工智能AI面试题分享(含答案)

目前国内人工智能领域正在高速发展,各大企业都在积极布局人工智能技术应用。想要从事人工智能相关工作,不但要了解国内整体的发展方向。而进入企业唯有基础才是最好的敲门砖。人工智能面试题去哪找?今天我从网络采编了一些关于人工智能的面试题。希望对…

[聊天机器人]:开源ChatterBot工作原理

作者:邹祁峰 邮箱:Qifeng.zou.jobhotmail.com 博客:http://blog.csdn.net/qifengzou 日期:2017.08.12 18:35 转载请注明来自"祁峰"的CSDN博客1 引言 ChatterBot is a machine-learning based conversational dialog eng…

ROS环境安装与配置

1.初步认识ros 1.1ros是什么? (借用chatgpt的回答) 1.2ros的发展历程 (借用chatgpt的回答) 2.在ubuntu20.04上安装ROS系统 2.1添加ROS软件源 在终端执行如下代码 sudo sh -c echo "deb http://packages.ros.org/…

【嵌入式系统应用开发第1周作业】----ROS环境安装与配置

文章目录 1.初步认识ros1.1ros是什么?1.2ros的发展历程 2.在ubuntu20.04上安装ROS系统2.1添加ROS软件源2.2添加密钥2.3更新软件源2.4正式安装ROS2.5初始化rosdep2.6更新rosdep2.7设置环境变量2.8安装rosinstall2.9验证ros是否安装成功 3.简单运行案例3.1用方向键控制…

大模型,真的有未来吗?

业界最近比较热门的应该就是大模型这个事情了,从openai发布chatgpt为开始,国内外众多公司~名人都有相应的反映。这真的是一件很有价值的事情吗,今天博主就来聊聊自己的看法 文章从这样几个点出发看下,一是业界公司的一些消息&…

第三次科技革命(一)

经典物理学天空的“乌云” 物理学发展到19世纪末期,一切物理现象似乎都能够从相应的理论中得到满意的回答。以经典力学、经典电磁场理论和经典统计力学为三大支柱的经典物理大厦已经建成,而且基础牢固,宏伟壮观。在1900年,英国物理…

四次工业革命历史

我不讨论啥叫工业4.0,我本篇文章主要是回顾梳理历史,把前三次工业革命展示出来。我个人认为很多事情都是连续的,是有来龙去脉的,有些事情看似是断代的突然横空出世的,其实仔细辨析你会发现,它的断代其实都是…

第三次工业革命背景下的人类发展之道——答高礼英才的世纪之问

IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 关注 往期 精彩回顾 重大改变!Excel即将接入Python!办公软件也要革命 2017年大数据领域薪资有多高? 上市 | 章泽天 : 刘强东用10秒钟时间决定投资这个汽车 导语:当下&a…

碳中和推动第四次工业革命

一、四次工业革命 第一次工业革命:蒸汽机时代 18世纪60年代至19世纪中期人类开始进入了蒸汽机时代。一般认为,蒸汽机、焦炭、钢和铁是促成工业革命技术加速发展的四项主要因素。 第二次工业革命:电气化时代 第二次工业革命以电力的广泛应用…

李飞飞:我更像物理学界的科学家,而不是工程师|深度学习崛起十年

来源|The Robot Brains Podcast 翻译|胡燕君、程浩源、贾川、沈佳丽、许菡如 新一轮深度学习崛起的引爆点是AlexNet,而它的爆发却离不开“燃料”ImageNet数据集。 斯坦福大学教授李飞飞正是ImageNet的发起人和推动者,在她看来&…

博士申请 | 北京大学AI院杨耀东老师招收强化学习博弈论实习生/博士生

合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 北京大学 北京大学人工智能研究院杨耀东老师课题组在强化学习,多智能体强化学习…

竞赛大佬在华为:网络专家出身斯坦福物理系,还有人“工作跟读博差不多”...

鱼羊 发自 凹非寺量子位 | 公众号 QbitAI 华为招揽“天才少年”这事儿,这几年可谓是名声在外。 但其实,论起尖端人才,更有一群竞赛大佬,早已在扎根其中,搞起了基础研发。 听上去有点离谱的是,拿下过国际物理…

火爆全网,搜狐CEO张朝阳手推E=mc²,CEO当太久都忘了他是MIT物理博士

来源:量子位 张朝阳当物理老师还真是当上瘾了。 刚刚直接完成了一场线下课,当场手推质能方程,一整面黑板墙都差点没盛下。 这个姿势,是不是有你大物老师内范儿了(手动狗头)。 ‍没地方继续推导了&#xff0…

如何制作一个自己的四足机器人

以前一直想做个足式机器人,考虑到两足机器人难度太大,想平衡都难,而6足机器人做起来没什么挑战,同时最近Boston Dymanics的mini or max dog很火,所以也就来搞个四足玩玩。 做之前先看别人都怎么做的,在you…

斯坦福后空翻机器人设计、代码全开源,人人皆可DIY

斯坦福学生机器人俱乐部(Stanford Student Robotics club)Extreme Mobility 团队最近迎来了一名新成员——一个名为 Stanford Doggo 的四足机器人。这个机器人能跳 1 米多高,还能表演后空翻。与其他四足机器人动辄上万美元的成本不同&#xf…