关于数据库:TiBI-的-SQL视界DBA-的-BI-工具-Hackathon-优秀项目分享

37次阅读

共计 2891 个字符,预计需要花费 8 分钟才能阅读完成。

近日,由 TiDB 社区主办,专属于寰球开发者与技术爱好者的顶级挑战赛事——TiDB Hackathon 2020 较量圆满闭幕。往年是 TiDB Hackathon 第四次举办,参赛队伍规模创历届之最,共有 45 支来自寰球各地的队伍报名,首次实现寰球联动。通过 2 天工夫的极限挑战,大赛涌现出不少令人激动的我的项目。为了让更多敌人理解这些参赛团队背地的故事,咱们将开启 TiDB Hackathon 2020 优良我的项目分享系列,本篇文章将介绍 HundunDM 团队赛前幕后的精彩故事。

咱们邀请到了 HundunDM 队的四位选手:nolouch、hundundm、CheneyDing、lhy1024,以及评委徐成选老师,聊聊所谓 SQL「视界」。

SQL 的「可观测性」

TiDB 4.0 在性能晋升的同时,对于本身性能的监测做出了更多的致力,减少了很多的内存表,让 DBA 可能及时监测到 TiDB 集群的数据分布、实时状态。nolouch 发现,在日常剖析调度问题的过程中,数据的散布状态是很重要的指标,然而运维人员往往须要输出一段不短的 SQL 或者找到适合的脚本能力进行更加细粒度的剖析,最初的成果也不是十分直观。

查问表的数据分布

查问后果并不直观

于是他便萌发了做一个可视化工具的想法。

这次的 Hackathon 正好给了他们一个把想法落地的机会。TiDB 作为一款 HTAP 的数据库,既有高效的事务处理能力,也有弱小的数据实时剖析能力,能够利用 TiDB 自身的劣势,将 BI 工具联合到 TiDB 生态中。

他们心愿可能借鉴 Metabase 等开源工具的形式,将获取到的数据以表格,线状图,柱状图,饼状图等形式出现进去,联合 TiDB Dashboard,帮忙用户能间接在 TiDB 中进行数据可视化剖析。而且在 TiDB 外部有很多和本身状态的一些统计表,也能通过该工具间接对 TiDB 的一些问题进行诊断。

Metabase 能够将数据可视化展示

实际:群策群力,各司其职

星期五晚开始作战会议,因为 TiDB 外部曾经有了很多内置的零碎表供剖析,对能够展现的 demo 进行了探讨,其中包含了表 region 的散布,leader 的散布,异样日志条目工夫散布,流量散布,然而这些都不够施展它的想象力。进一步,HundunDM 心愿可能对底层引擎 sst 的散布的数据也可能进行展现,就这样,一人负责一个模块,HundunDM 小分队就开始口头了。

我的项目整体分为数据获取和数据可视化 两个步骤

  • 数据获取

用户从 TiBI 组件抉择指定表,过滤条件,以及聚合函数和聚合列,主动生成相应的 SQL。Dashboard 间接获取 TiDB 地址,通过 Client 获取对应的查问数据。

  • 数据可视化

借鉴 Metabase 等开源工具的形式,将获取到的数据以表格,线状图,柱状图,饼状图等出现形式。

此外,他们心愿将 TiBI 集成到 TiDB Dashboard 中:

  • 插件化

相似诊断插件,TiBI 以插件的模式做到 Dashboard 中。如果未来 TiDB Dashboard 能反对插件市场,能够作为第三方凋谢给社区保护开发。

十分偶合的是,他们刚好每个人操刀一门语言:nolouch 负责 TiKV 层 API 相干的工作,应用 Rust 语言;lhy1024 负责从 TiDB 中解决数据和相干内置表,应用的是 Go 语言;CheneyDing 负责 RocksDB 中 SST 局部的数据的统计,应用的是 C++;而 hundundm 负责的前端工作,应用的是 JavaScript。

最终他们实现了了预计的五个模块的界面实现,除此之外,TiBI 还能进行数据的衰弱度散布统计、容灾状况疾速剖析;进行日志剖析、性能剖析;展现各拓扑层级的机器,机架散布以及展现冷热数据在 Engine 外面的散布状况,层级个性等等。

分布式场景下的 LSM-Tree 的 SST 散布

“这个我的项目的视觉效果十分赞,”评委徐成选老师对这个我的项目给出了十分高的评估,“他们可能展现 RocksDB SST table 的 level 散布,区别于个别的可视化我的项目,将 RocksDB 的存储层级和数据分布这样了解起来很有难度的内容做可视化的展现,是十分有价值的。

对于将来:升高运维人员对 TiDB 的学习老本

因为各种条件的限度,在此次 Hackathon 中他们也留下了很多遗憾。比方其实他们并没有把接口的局部齐全梳理通,而是应用了内部的工具把 TiDB 中的数据传进去,在性能和安全性上也有很大的改良空间。

提到对 TiBI 将来的期待,他们的想法很简略,那就是 合到 TiDB Master 中去,通过多维度数据可视化的实现,升高运维人员对 TiDB 数据库的学习老本,并且能够帮忙 TiDB 运维人员更加疾速的理解零碎各维度 workload、疾速定位问题。

为此,他们不仅要解决 Hackathon 中暴露出的问题,同时也须要对 TiBI 的性能做更多的扩大,比方动静察看能力、反对多种维度的灵便调整、内置丰盛定制化的模板、简化的自定义模版的疏导、插件化凋谢给社区……

评委徐成选老师也很看好 TiBI 的将来,他示意:“BI 是一个数据挖掘畛域的概念,AI 往往也是基于数据做一些统计学相干的决策。当初 AI+ 数据库是一个趋势,TiBI 看到了 BI+ 数据库的可能性。当初数据库自身的配置和指标越发简单,大家也越来越器重数据库本身产生的数据,一个更好用、更智能的工具是很有价值的。区别于传统的监控工具,把 BI 概念引入到数据库监控的畛域意义深远。”

现 TiBI 曾经进入 TiDB Incubator,将来可期!

TiDB Hackathon:一段微妙的旅程

在 TiDB Hackathon 2020 中,HundunDM 队伍中有几届 Hackathon 的老将,也有第一次加入 Hackathon 的老手。无论是第一次还是第 N 次,Hackathon 都是一段乏味的经验。

比方这次理论的较量中也呈现了各种意料之外的状况。因为负责我的项目外围 Rust 局部的同学长期须要解决客户问题,导致他们本不富裕的开发工夫雪上加霜,只能另辟蹊径将数据利用工具导出再通过前端来解决;负责前端的同学也并不是业余的前端工程师,而他们须要应用的 React 更新迭代速度又十分快,HundunDM 提到这个局部的时候也显得有些无奈:“如同每年 Hackathon 的意义之一就是要把 React 在这一年中的变动学一遍。”

徐成选老师也是一个 Hackathon 的老玩家了,2019 年他就以选手的身份缺席了较量,提到这次作为评委加入 Hackathon 的感想时,他连连赞叹:“本认为做选手会更乏味,没想到这次较量中的我的项目无论是创意还是完成度都很不错,可能作为评委第一工夫看到各个我的项目的全貌也非常激动人心。”同时他也表白了对 TiDB Hackathon 的青睐:“Hackathon 是一种十分乏味的流动,在这两天的工夫里没有工作上的累赘,能够轻松地去实现本人头脑风暴进去的想法。而且这样十分 Geek 的流动也能让大家遇到更多气味相投的敌人。

本次 Hackathon 因为疫情的起因,许多选手采取了近程的形式,提到对 Hackathon 有什么期待和倡议,选手和评委统一示意,心愿下次 Hackathon 可能提供更多线下交换的机会:喝着酒唱着歌,让代码飞起来~

正文完
 0