关于 TiDB Hackathon

TiDB Hackathon 是由 PingCAP 举办的黑客马拉松大赛,选手需围绕整个 TiDB 生态做出一个完整的作品并由评审最终评选出获奖者。赛制参考了国内外知名的 Hackathon 举办模式,参赛队伍需在规定时间(48 小时)内完成作品并展示。

比赛时间:2018.12.01 至 12.02

赛事奖项归属

Award icon

TiDB Batch and Streaming SQL(简称 TBSSQL)扩展了 TiDB 的 SQL 引擎,支持用户以类似 StreamSQL 的语法将 Kafka, Pulsar 等外部数据源以流式表的方式接入 TiDB。通过简单的 SQL 语句,用户可以实现对流式数据的过滤,流式表与普通表的 Join( 比如流式事实表与多个普通维度表),甚至通过 CREATE TABLE AS SELECT 语法将处理过的流式数据写入普通表中。此外,针对流式数据的时间属性,我们实现了基于时间窗口的聚合 / 排序算子,使得我们可以对流式数据进行时间维度的聚合 / 排序。

一等奖 & 最佳贡献奖

TBSSQL

现金:¥ 60000

Award icon

为 TiDB 培训体系增加一个可以动态观测 TiDB/TiKV/PD 细节的动画教学 Lab,让用户可以一边进行真实操作一边观察组件之间的变化,例如 SQL 的解析,Region 的变更等等。让用户可以生动地理解 TiDB 的工作原理。

二等奖

TiDB Laboratory

现金:¥ 30000

Award icon

让 TiDB 支持多种外部数据源的访问,针对不同数据源的特点会不同的下推工作,使 TiDB 成为一个通用的数据库查询优化和计算平台。

二等奖

让 TiDB 支持多种外部数据源的访问

现金:¥ 30000

Award icon

验证朴素贝叶斯模型在调度 pd 算法里的运用,由此可以设想在其他调参方面这种贝叶斯模型的应用是否可行。

三等奖 & 最佳创意奖

PD 热点调度贝叶斯模型

现金:¥ 10000

Award icon

Region 信息变迁历史可视化工具,通过 PD 记录 Region 的 Split, Merge, ConfChange, LeaderChange 等信息,可以方便的回溯 Region 某个时间的具体状态,为开发人员提供了方便的可视化展示界面及查询功能。

三等奖

TiEye

现金:¥ 10000

Award icon

搜集诊断集群问题所需要的信息,包括集群拓扑,Region 分布,配置,各种系统信息,整理成结构化的数据,并在 TiDB 中支持直接使用 SQL 语言进行查询。开发和运维人员可以在 SQL 环境方便高效地进行问题诊断。

三等奖

TiQuery

现金:¥ 10000

完赛项目展示

Project background
该项目分两个小项目,分别解决了时序数据的存储与计算问题。存储主要兼容 prometheus 语法和数据格式,实现了精确查询、模糊查询,完全兼容现有语法。所有数据仅存在 TiKV 中。计算主要通过 TiKV 调用 lua 实现,通过 lua 动态扩展实现数据计算的功能。
Time Series with TiKV
Project background
该平台基于 TiDB 执行计划性能指标和数据库表结构及业务数据,通过数据可视化和优化 Query 专家规则及统计数据,提供一款程序员或 DBA 使用的 Query 优化辅助决策系统。
TiDB 执行计划辅助分析平台
Project background
利用 TiKV 实现 etcd V3 api,实现无状态水平扩展。
基于 TiKV 的 etcd server
Project background
TiDB log 检测分析工具
10gg
Project background
使用 TiKV 存储 HDFS 的元数据,让 HDFS 构建在下一代的分布式技术上,使 NameNode 在可横向扩展的前提下降低内存消耗,解决大规模 HDFS 集群海量文件存储的问题。
Less State HDFS with TiKV
Project background
一个窗口独立、灵活应变、便于维护的可视化系统。用于查看 PD、TiDB、TiKV 的物理部署、拓扑关系,以及存储、处理请求、CPU占用率的全局视图。并且使用了新视角的前端编写方法。
基于异地多机房部署全局视图、且灵活展示的构想设计
Project background
每个月总有那么几天, TiKV 又变慢了。还在花时间追查原因吗?分层 benchmark 工具定时自动运行,让拖慢性能的改动无处可逃。 The big brother is watching you!
Big Brother
Project background
基于 TiKV 实现的自由伸缩、面向云原生的消息队列服务。
Infinite Message Queue
Project background
大型企业级系统都有很多复杂的存储过程和 CRON 脚本, TiDB 不支持存储过程及临时表,迁移工作遇到了很多困难。本项目基于 NIFI,GROOVY 实现一种方案,可快速,低成本迁移到云平台( 云计算化)。本组的小伙伴没能现场,现有项目功能有较多简化。
数据库存储过程, CRON脚本 云计算化
Project background
通過 Raft Learner 实时备份和恢复。
ToG: Backup and Replay in Real-time
Project background
集成 Metrics 和 Tracing 能力达到可视化的展示,实现异常检测和预测。
Visual Tracing
Project background
TiDB 任务执行计划与监测可视化平台,实现三大功能:TiDB 执行计划可视化、TiDB 执行任务监测、TiDB 执行任务订制。解决三大问题:集群执行状态获取难,运维故障检测难,管理调优判断难。
TiDB 任务执行计划监测可视化平台
Project background
基于 gRPC 的透明代理,同时提供错误注入/网络分区/及信息流展示功能。
TiDB 故障模拟器
Project background
基于 TiKV 实现的 memcache 协议分布式缓存系统,使用 netty 实现。
Ticache
Project background
Tips 是基于 TiKV 实现的分布式 Pub/Sub 服务,得益于 TiKV, Tips 具备大规模横向扩展的能力,无论是海量的 Topic 个数,还是单 Topic 海量数据都能轻松应对,与此同时 Tips 实现了 Topic 消息全局有序以及至少一次( at - least - once) 的可靠投递。
Tips
Project background
基于 TiKV 的 Coprocessor,内嵌了 lua,来实现了简单的自定义 UDF 功能。
基于 lua 的 TiDB 自定义 UDF 实现

导师团成员

邓栓 avatar
邓栓
Cloud TiDB 核心开发工程师,Rust 语言中文社区发起人
韩飞 avatar
韩飞
TiDB 核心开发工程师
黄东旭 avatar
黄东旭
PingCAP 联合创始人兼 CTO
申砾 avatar
申砾
Engineering VP
唐刘 avatar
唐刘
首席架构师
姚维 avatar
姚维
TiDB 核心开发工程师
张金鹏 avatar
张金鹏
TiKV 核心开发工程师

精彩瞬间