跳到主要内容

我和TiDB的故事 | 毫无准备地不期而遇,却想说与你相遇好幸运

作者:hey-hoho

写这篇文章更多的是像一篇年终回忆,春节之前一直有这么个想法来回顾这一年我和TIDB奇妙的缘分,但是总被俗务缠身搁置到现在,直到表妹前段时间约稿,我知道不得不开始了。

人群中多看了你一眼

应该是好多年以前,偶然在某个技术公众号上第一次看到TiDB这个词,那时候还是一个刚工作没多久的小开发,并不能理解TiDB背后强大的设计思想,只留下一个模糊的印象:和MySQL类似的一个新的开源数据库,仅此而已。

当时也并不觉得会和它产生太多的交集,没有需求也没有场景,作为后端开发的我没有花更多时间去了解这个产品(那时候资料也比较少)。

直到2020年10月的某一天,我正在一个新项目中写着CRUD,老板突然走过来说想在项目中试试能不能用TiDB,脑子里突然蹦出来几年前的那个文章,接着在搜索引擎中试探性敲下了“TDB”三个字,打开官网文档那一刻,故事正式开始了。然后在那一年底,公司和PingCAP成为了合作伙伴,过完年我们这个团队开始All in TiDB,打开了新世界的大门。

从事了多年的后端开发工作突然转到数据库运维上其实有过一段时间的挣扎期,但是接触下来发现,优秀的产品、充满活力的社区、可爱的小团队都是我坚持下来的动力。而且越是深入了解TiDB底层原理,越能深刻体会分布式技术的魅力,不管是开发还是运维都会受益匪浅。

能够投入到这么前沿的技术领域中,我认为是一件幸运的事。

WeChat Image_20220405213840.jpg

我使用TiDB的这一年

距离去年3月份拿到PCTA证书持证上岗开始刚好一整年,这一年我们团队围绕TiDB做了很多事情,包括项目交付、文章输出、参与社区建设、TiDB4PG开发、Talent Plan、Hackathon等等,每个人都伴随着团队一步步成长打怪升级。

可是到现在我依然觉得自己是一个TiDB新手,一方面是自己接触时间不长,无法与那些TiDB资深用户的社区大佬相比,也无法与那些做了很多年的专职DBA相比,另一方面是TiDB更新迭代太快了,需要不停的去持续学习。

src=http___wx4.sinaimg.cn_bmiddle_006APoFYly1g7ay143hhmj30dw0duabc.jpg

我们的TiDB使用场景还不太一样,不像很多TiDB用户是运维自己公司内部的数据库平台,我们团队的工作偏客户交付,会和官方一起把TiDB落地到不同的客户生产环境中。因此,过去的一年我经常天南地北的出差,在做年终汇报的时候发现已经参与了大大小小20个TiDB项目,一部分已经投产,还有一部分正在投产路上。

从一个小白到能够熟练使用,真实的项目环境以及面对各种各样的问题无疑是最快的提升方式,在和官方的合作中也得到了很多PingCAP大佬的指点,受益匪浅。在这些项目中,我走过凌晨3点空荡荡的街道也熬过通宵睡过椅子,去过好多个城市也喜提过红码隔离。

WeChat Image_20220405204959.jpg

我相信每一位热爱写代码的人都有这么一个愿望,就是希望自己写的代码能够运行在成千上万的设备上影响着用户,之于微信QQ一样。但是我着实比较菜运气也不够好,通过写代码的方式实现这个愿望遥遥无期。直到我亲手把打磨了半个多月的TiDB投产到服务了1千多万用户的生产环境当中,看到每天早上业务开始慢慢进来,热力图像黑夜一样开始变亮,有种感觉我的愿望被TiDB实现了。

20万QPS的场景至少是我后端开发生涯中从未遇到过的,我心想今后要努努力,争取让TiDB的某个功能中也能有我写的代码,这样它们就能运行在千千万万的机器中了。

企业微信截图_20220405203321.png

那段时间高强度的加班让身体压力特别大,我甚至都不敢和家里说。好几次凌晨2点多回到酒店,拎着攒了几天的衣服跑到洗衣房,就呆呆地坐在沙发上看洗衣机转啊转啊转,脑子一片空白,明明应该倒头就睡那会却异常清醒。

时隔几个月,虽然过程很艰苦,我总是会怀念和小伙伴们一起战斗的感觉。

WeChat Image_20220405205016.jpg

🌚 吐槽时间

做TiDB这一年让我的工作方式发生了巨大的变化,我需要在数不清的群聊里面对客户提出的问题及时响应答疑,下一秒不知道哪个客户电话就call了进来,随时待命说走就走的出差,晚上睡觉开始不敢关手机,电脑电源随身携带,还要投入大量时间用在招聘和培训中。这种完全转变的工作方式和各种琐碎事情,让我时不时怀疑自己的选择是否正确,我无比怀念以前那种沉浸式写代码的感觉。

🤣 害,感觉有点在卖惨,收了收了~

关于TiDB产品本身在这里并不想提太多,只能说你把它用在了合适的地方它就能超出你的期望,要不然可能会有很长的磨合期。这一年来踩过不少坑、吐过不少槽、碰到不少bug,作为一款诞生不久的数据库肯定会有各种各样的问题,但是这并不影响它成为行业内非常流行的顶级产品。

在国内圈子长期占据墨天轮数据库流行榜第一名的位置,在国外它是唯一上榜DB-Engines TOP100排行榜的国产数据库。今天又偶然看到一组数据,在google搜索结果统计中另一款热门国产数据库搜索量不到TiDB的二十分之一。

就像TUG中某位老师说的,如果你是一位数据库从业者,不管你现在用不用得上TiDB,先学习准没错。

不得不说的TiDB社区

很多人接触TiDB的第一印象就被它的社区所吸引,不管是从它的文档、github互动、问答、各种学习资源、各种meetup、各种年度盛会、各种硬核技术分享、用户活跃度等等方面,没有其他厂商敢说做的比TiDB更好。这一点,我相信是大家的共识,并不是说我现在从事TiDB相关的工作才自卖自夸。

作为开源文化的一部分,社区力量对一个开源产品至关重要。在TiDB社区中,有一批头部互联网用户是它的中流砥柱,他们持续输出高质量的实践经验,给我们这些新手后来者提供了方向。一年前我是个TiDB小白连部署安装可能都要折腾很久,现在我非常乐意用我的经验去帮助那些对TiDB感兴趣的新朋友。后来在表妹的邀请下有幸成为社区版主,在asktug回答问题成为了我重要的学习方式。

企业微信截图_20220326113702.png

2021年7月的DevCon大会是一场大型网友见面会,我在大会上见到了版主团队的其他成员,还有号称技术小白的表妹。这种感觉就像,每一位用户或者说TiDB爱好者都离社区和产品很近,说不定擦肩而过的人就是曾经帮你解决问题的某个大佬,CTO会亲自下场带大家写代码,和大家一起当选手参加Hackathon比赛,CEO会经常关注社区用户的声音回复你的问题。从老板到一线运营人员,大家都不遗余力地在做社区这件事情,从诞生之初这就是TiDB特有的基因。

WeChat Image_20220405205010.jpg

表妹对我们版主团队简直不能再好,各种TIDB周边礼物管够,有新周边准备上架先给我们尝鲜,每逢过节也费尽心思给我们准备礼物手写感谢信。以至于被某位版主家属“抱怨”,是不是加入了什么非法组织,三天两头就收到奇怪的快递。保守估计,我收到的TiDB周边起码50件以上,我就这么凡尔赛的说了,大家有的周边版主都有,大家没有的我们也有。

但是真要说秀儿,我还得服Kongdom大佬,秀归秀但也是我们的真实写照。

企业微信截图_20220402153135.png

某天晚上我把放在家里的礼物整理了一下,满满地堆了一桌子,这还不包括我转送给别人还有放在公司的那部分,估计P社的同学看了也要投来羡慕的目光。

WeChat Image_20220405214913.jpg

你以为表妹只会整这些物质奖励收买人心?那必然不是,除了丰富的周边,表妹还给我们争取了太多太多学习特权,比如版主资料库、P社员工才能访问的Knowledge Base、PE课程永久观看、免费考试资格、每月一次的直面产研大佬的交流会等等等等。

有时候大家会开玩笑说,版主团队是TiBD社区最卷的一拨人,举个例子,版主交流会每次都要开到晚上10点多,你能想象到我是唯一缺席过的人?太可怕了。

企业微信截图_20220402162044.png

去年12月份,经过我们公司和TiDB社区运营团队联合策划,TUG企业行活动第一次走进华中地区落地武汉,到场参会人数远远超出我们的预期。如今第二场武汉交流活动也在筹备当中,欢迎大家加入我们~

https://asktug.com/t/topic/662777

cd707db067151f8cbb53b781fd9bff9-1649163285010.jpg

做这个事情,我们不仅仅是给TiDB布道,更希望以TiDB为契机带动武汉的技术影响力,当人们谈起互联网谈起IT的时候,除了北上广深杭成,还能立马想到武汉。

042e80811dde79047e8917562cf6f84-1649163561703.jpg

我们的小团队

过去的一年,感谢老板们对TIDB的大力支持,我们成为相对稳定的小团队,大家可以专注在研发、交付、社区三件事情中。这一年有小伙伴离开,也有新人加入,我因此需要投入更多的时间在新人招聘和培训中。

但每次得知有小伙伴将要离开,我总会心情沉重,一是因为能在熙熙攘攘的人群中相遇是缘分,二是团队又少了一个中坚力量,祝福大家的同时只能为团队感到惋惜。

不管怎样,我希望立足当下的选择,和小伙伴们一起在TIDB上做出一些成绩,这样也算不辜负自己的热爱、付出的时间。

c48173041a2cd1a4eac0689f31dd17a-1649163312502.jpg

最后,希望TiDB能继续乘风破浪,一路高歌,代表国产软件在各行各业中占据不可撼动的地位。

这样,我就能抱着大腿起飞了,hhhhhhhh~