TiBI 的 SQL「视界」:DBA 的 BI 工具 | Hackathon 优秀项目分享
近日,由 TiDB 社区主办,专属于全球开发者与技术爱好者的顶级挑战赛事——TiDB Hackathon 2020 比赛圆满落幕。今年是 TiDB Hackathon 第四次举办,参赛队伍规模创历届之最,共有 45 支来自全球各地的队伍报名,首次实现全球联动。经过 2 天时间的极限挑战, 大赛涌现出不少令人激动的项目。为了让更多朋友了解这些参赛团队背后的故事, 我们将开启 TiDB Hackathon 2020 优秀项目分享系列,本篇文章将介绍 HundunDM 团队赛前幕后的精彩故事。
我们邀请到了 HundunDM 队的四位选手:nolouch、hundundm、CheneyDing、lhy1024,以及评委徐成选老师,聊聊所谓 SQL 「视界」。
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。
分布式场景下的 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:一段奇妙的旅程
喝着酒唱着歌,让代码飞起来~
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 习近平在澳门国际机场发表讲话 7859379
- 2 多地官宣将“取消公摊” 7997471
- 3 网红收入超千万报税竟未达5000元 7892692
- 4 “打开”活力满满的澳门 7749974
- 5 哈尔滨文旅回复刘亦菲 7612914
- 6 艺术家谢芳逝世 曾主演《青春之歌》 7551552
- 7 特斯拉一夜之间市值蒸发9600亿 7498397
- 8 男子给已婚同事发"么么哒"被开除 7359604
- 9 蚂蚁集团即将借壳上市?蚂蚁回应 7295564
- 10 11月份国民经济运行5大亮点 7175884