乐趣区

关于数据库:为数据库性能调优插上-AI-的翅膀-调优测试框架-Matrix-团队访谈

在刚刚完结 TiDB Hackathon 2021 赛事中,Matrix 赛队的作品 Tenseigan,是针对 TiDB 的一个分布式数据库的调优测试框架,该工具可能提供:主动调参、参数影响度评估等性能,集成了多种 workload。因为我的项目的创新性和可扩展性,摘得了“最佳校园奖”和“明势资本特地资助最佳市场潜力奖”。

陈书宁代表 Matrix 赛队在现场领奖
本篇文章将通过 Matrix 团队与明势资本执行董事徐之浩的对话,揭秘团队赛前幕后的精彩故事,也心愿给开发者们将来基于 TiDB 开发本人的利用和我的项目带来一些启发。

Matrix 队名的由来

童剑: 如果把 TiDB 看成是黑客帝国的一个矩阵,咱们的我的项目 Tenseigan 就像是黑客帝国的男主角 Neo,自身有很强的学习能力,能够自我进化,最终还能够成为救世主一样的存在。所以取了 Matrix 这个名字。

我的项目的灵感起源

丁晨: 这个我的项目的灵感来源于 2017 年 SIGMOD 顶会的一篇 paper,也就是 OtterTune 框架。咱们做这个我的项目的初衷是想看看 OtterTune 在 TiDB 上的体现,是否落地到生产环境,去解决理论的问题,以及 OtterTune 框架自身还存在哪些问题,对于分布式的场景,会不会有新的钻研点产生。
Tenseigan:一个适配 TiDB 的自动化调优测试框架

投资人评委眼中的我的项目价值

Matrix 团队的精彩创意也给明势资本执行董事徐之浩留下了深刻印象,徐之浩在退出投资行业之前,也有过近 10 年研发工作经验,对这类 Infra 的我的项目十分感兴趣。明势资本执行董事徐之浩在 Hackathon 颁奖现场
徐之浩 :抉择这个队伍获得最佳市场潜力奖,次要是因为这个我的项目有很强的扩展性,另一方面也比拟有创新性。之前大家对数据库的优化更多停留在内核和优化器、执行器或者架构局部,但从用户的视角来看,通过一些配置和参数的调整就能够取得很好的性能晋升。大家都聚焦在内核的优化上,没有太多人来关注调参这部分,所以这个方向还是比拟有创新性的。
在技术栈的抉择上,抉择用 AI 代替人来抉择最优的参数也是比拟翻新的。最近 Google 也在提用 AI 自身去优化 AI 的训练框架,这实质上也是一种调参,是 ROI 很高的一个钻研方向。如果能作为产品化的插件用在 TiDB 上的话,对 TiDB 的性能是锦上添花的。这样被训练完之后的 AI 也就像一个运维老师傅一样,能够更高效地给出更好的参数倡议,是有将来机器代替人工的现实意义的。

作为学生参赛的非凡体验

Matrix 赛队能够说是华中科技大学的代表队,队长丁晨在华中科技大学读博二,钻研方向是基于新硬件的键值存储系统;熊逸钦是丁晨在同一个实验室的学弟,在读研一;童剑和陈书宁也都毕业于华中科技大学,目前在 PingCAP 做研发工程师。
丁晨: 作为学生参赛,最大的感触就是 Hackathon 是一个高强度、沉迷式的我的项目体验,这种机会在学校外面是比拟少的。在学校里做事件通常比较慢,也没有 Deadline,像这种两天内就须要写一个小我的项目,对于学生能力的挑战还是比拟大的。此外,借助这个机会接触工业界理论的问题,对于咱们做钻研还是很有帮忙的。因为咱们做钻研很多是从逻辑登程,如果理解到工业中的理论问题,就能够试着去解决理论遇到的问题。
熊逸钦: 这是我第一次加入 Hackathon,作为学生或者第一次参赛的选手来说,Hackathon 这种模式对我来说是前所未有的,而且很有吸引力。因为在短短两天的工夫内,我全身心地投入到我的项目中去,给我集体带来的晋升也是十分大的。

团队合作独特攻克技术艰难

丁晨 :后期次要是我跟逸钦负责集群搭建和框架部署,以及一些 TiDB 适配的工作。前期书宁和童剑次要是把生产环境的一些 Workload 给结构进去,而后让调参的成果凸显进去。咱们别离结构了一个 TiDB、PD、TiKV 的 Case,起初我就去写问难的 PPT 和 Demo 了。 陈书宁和童剑在 Hackathon 广州现场

Q

在较量过程中你们遇到过什么比拟大的技术艰难?是如何解决的?间隔真正生产可用还差多远?

丁晨: 最开始,咱们针对典型的 TPCC 的负载做性能测试的时候,发现 OtterTune 对于调参的成果不太显著。因为 TiDB 对于这种规范的测试,默认配置参数曾经优化得比拟好了。起初咱们就去尝试结构一些在实在生产环境中遇到过的、有瓶颈的 Case。只有在有瓶颈的 Case 上面,调参的成果才可能比拟好的体现进去。这是咱们遇到的一个技术难点,就是如何结构一个实在的环境,把调参的成果给展现进去是咱们遇到的一个问题。
在框架的易用性方面的话,其实 OtterTune 的框架还是不太好用的,咱们这个我的项目也是做了很多很多个脚本,就像是跑了一个脚本集。如果要让它更加易用的话,能够在框架上做一些改良,比方能够把脚本放在网页上,一键运行,让运维和研发更加不便地应用。将来如果可能把 OtterTune 跟 TiDB Cloud 联合起来,在云上能够给运维提供更好的环境,而把复杂性暗藏起来,应该是一个更有想象力的场景,这也是将来咱们这个我的项目心愿去扩大的中央。

老本问题 & 因为工夫起因未实现的遗憾

徐之浩: 我还是比拟好奇,你们有没有算过要构建这么一个训练的集群,须要破费多少老本?如果真要把它做成生产可用的产品的话,我了解还是须要有很多数据筹备的,在这种状况下,如何保障训练老本仍然可控呢?
丁晨: 老本这个问题是一个关键问题,咱们在做的时候其实并没有太思考这个问题。咱们跑的数据也就是几百个点的规模,后续如果要用在生产环境的话,可能须要一个专门的调参集群,去做 AI 模型的训练,把各种各样的用户数据收集到这个集群外面,让 AI 模型去学习不同业务的 Workload,以及不同硬件配置下的教训。这个教训是能够复用的,也能够进步数据的应用效率,当这个训练足够多当前,老本是能够升高的。

Q

这次 Hackathon 的工夫无限,你们在较量过程中还有什么遗憾吗?

丁晨 :目前咱们的我的项目只能给出一个最优的参数。但没方法解释这个参数为什么最优,就是说咱们的 AI 还是不足可解释性的,咱们还想做一个可视化的模块,直观地展现性能和最优配置之间的关系,从而帮忙运维和研发去剖析参数背地的起因。但因为工夫起因,可视化这里还没做得很直观,只是做了一个列表。另外还有一些 Case 的测试后果不太合乎预期,这一点跟 Workload 还比拟有关联,后续如何让框架整合更多 Workload,让不同 Workload 之间的调参教训能够互相复用是一个须要思考的问题。
熊逸钦: 因为工夫关系,咱们测试的覆盖度还是不太够,包含测试数量和测试参数都不是太欠缺。
童剑: 其实一些有教训的 DBA,对于参数应该怎么调整是有本人的教训的。但他们通常只能给出一个方向性的倡议。咱们想做的实际上是把这种关系给具体化,可能晓得参数的变动关系,从而疾速定位到最优参数的地位。这样能减速收敛这个过程。
陈书宁: 我这边次要有 2 个遗憾,一个是因为疫情关系,2 位队友没有方法来到现场一起 Coding。另外因为这次参赛者比拟多,预赛和决赛离开,没有方法保留残缺的 24 小时继续编程的工夫。其实那种间断 24 小时不间断 coding 的体验是很吸引人的。

评委眼中的 TiDB Hackathon

徐之浩: 这是我第一次负责 Hackathon 的评委。TiDB Hackathon 给我的感触是特地硬核,之前我还在做程序员的时候加入过公司组织的 Hackathon,但感觉没有这次这么硬核。这次有 AI 类的我的项目,也有间接在 TiKV 下面做图数据库之类的我的项目,硬核水平齐全超乎我的设想。明势资本执行董事徐之浩在 Hackathon 现场参加评审
这次 Hackathon 对于 TiDB 也是十分有价值的,有很多我的项目离进入 TiDB 产品曾经很近了,实用性方面也是十分棒的。而且这个过程中大家开了很多脑洞,产生了很多对产品迭代和产品周边十分有价值的想法。所以 Hackathon 也能够看作是社区智慧的年度大暴发,在其中能十分切实地感触到社区小伙伴的创造力和后劲。
从流动组织上来看,流动晚期的宣传造势,以及过后有个社区粉丝做得很炫酷的“找队友”的短视频,都让我印象粗浅。另外决赛环节中,一些没有进入 20 强,但在单个方向上体现比较突出的我的项目也有机会能参加独立奖项的角逐,展现本人的我的项目,这一点还是比拟贴心的。惟一比拟考验的就是咱们这些老评委的膂力,整个问难的时长还是比拟长的。

瞻望与期待

Q

徐老师作为投资人,您对该我的项目有哪些商业化的倡议吗?

徐之浩: 我的倡议还蛮多的,这个我的项目离一个能够商业化的产品还有很长的路要走。第一,咱们能够把产品做得更稳固一些,不能在某些 workload 中体现很好,在其余 workload 中没有成果。因为这个调参是针对数据库,或者其余的 Infra,对于企业都是十分外围的局部,如果体现不稳固是很难商业化的。
第二就是老本问题,须要把 AI 的算法和人的教训联合起来,比方把一些不相干的因素通过人的教训先排掉,这样能让 AI 更快地趋近好的成果,也能节省成本。
第三,倡议能够先针对某一款软件的场景打穿打透。这个过程中就须要跟软件的原厂比方 PingCAP,放弃比拟严密的单干,比方取得更多实在环境中的数据等。另外思考到商业模式,调参也不要做成一锤子买卖,尽量做成一个继续动静的调参倡议,会让咱们的商业模式更加有想象力。

Q

你们的我的项目这次取得了明势资本特地资助的最佳市场潜力奖和校园团队奖,将来心愿持续把这个我的项目继续下去吗?

丁晨: 咱们是心愿持续欠缺的,一方面是往云上做适配,另外心愿整合更多的性能,比方可视化的展现和 AI 的因果推理等。还有后面徐总提到的动静负载的调优,同时兼顾收益和老本的关系。再就是优化框架,也须要社区理论生产环境中的数据。

Q

期待明年的 TiDB Hackathon 有哪些改良?

丁晨、熊逸钦: 能够思考吸引更多高校的学生参加进来,增强在校园圈的宣传力度。
童剑: 首先,学生对 TiDB 和工程实现没有那么相熟。所以心愿能够给校园群体设立独立赛道,独立评奖。另外,对于初赛被淘汰的队员,决赛的参与度不高,能够多减少一些展现和互动的环节,让初赛选手也能继续关注决赛。
徐之浩: 心愿赛前提前给评委一些我的项目简介,帮忙评委更好地了解我的项目。另外,现场评审的强度挺高的,大脑信息曾经过载,有点审美疲劳了,两头心愿有更多劳动。也心愿在赛前看到前一年 Hackathon 我的项目的状态和落地状况等,这对选手和评委都是一种鼓励。

退出移动版