E.T. 团队:TiDB 开源生态宇宙构造者|PingCAP 招聘季

百家 作者:PingCAP 2020-04-06 20:29:55

Welcome ! The Builders !  这是一篇招募 TiDB 生态宇宙创造者、工程师、看管者的文章。

众所周知,PingCAP 一直坚定地拥抱「开源」,“自由灵魂”、“人文主义”   的信仰也深植每个 PingCAPer 的内心,我们无时无刻不在尝试扩展 TiDB 开源生态宇宙的版图,同时也希望借此吸引来更多志同道合的朋友。

经过 5 年的迭代,TiDB 内核逐渐趋于稳定和强大,未来也会继续朝着数据库领域的先进技术标准前进。同时,构建一个基于 TiDB 的、具有生命力的生态系统也是不容忽略的使命。这也正是我们 Ecosystem Tools(E.T.)团队的重要职责所在。下面简单介绍我们重点研发的几个 TiDB 生态工具的发展历程和规划,希望志同道合的小伙伴能加入我们,一起玩转 TiDB 开源生态宇宙!


CDC


Change Data Capture(CDC),是用来识别、捕捉、交付  TiDB/TiKV  上数据变更的工具系统。CDC 作为 TiDB 的数据出口,在商业和生态上有着非常重要的地位,作用包括但不限于: 构建 TiDB 主从、灾备系统;链接到其他异构数据库;自定义业务逻辑。

ticdc(github.com/pingcap/ticdc)是基于 TiKV 实现的 row data changed capture

  • 具备可随 TiKV 集群规模扩展的处理能力;

  • 在不依赖 TiDB 事务模型实现的基础上还原事务的能力;

  • 拥有更加开放和完善的 open protocol;

  • 自身进程服务的高可用;

  • 最重要的是可以提供秒、甚至毫秒级别的增量数据变更交付能力。

目前这套系统仍在快速成长中,还存在不少技术难题需要攻坚和优化,我们正在招募真正的「屠龙勇士」!


Backup & Restore Tools set


大家都知道,新一代的数据库一般通过 raft/paxos 一致性算法保证自身拥有多副本数据。严肃场景下的数据库系统依然需要严肃的托底方案,这时候就不得不提备份和恢复。

TiDB 备份和恢复工具集由 BR(Backup&Restore)(github.com/pingcap/br)和 TiDB Lightning(github.com/pingcap/tidb-lightning)组成:

  • 如何做到 10T 集群的数据安全备份、1GB/s 的快速恢复?BR 就是答案!BR 是一款专门为 TiDB 定制打造的快速备份和恢复工具,支持从TiKV 直接备份出 SST 文件,并且将这些 SST 文件快速恢复到目标 TiKV 集群中。

  • TiDB Lightning 支持将 mysql dump sql/csv 格式的文件快速地导入到 TiDB 集群中。

这些备份和恢复类工具的迷人之处在于:如何在保证不影响线上业务的前提下,以极致快的速度实现数据的正确备份和恢复?

  • “不影响线上业务”,要求必须深入了解 TiKV 的实现原理;

  • “极致快”,要求还要拥有一手好的调优手段;

  • “正确备份和恢复”,要求工具具备自我证明备份和恢复过程正确性的能力。

这些工程问题都在不断的被优化,也期待更多的青年才俊带来更有质地的解法。


Data Migration


Data Migration(DM) (github.com/pingcap/dm) 是 PingCAP 自研的从 MySQL 迁移数据到 TiDB 的同步工具,支持 MySQL 数据的全量和增量迁移这个工具的核心是个「简约而不简单」的 binlog replication 处理单元,考量的是下面的实现要求:
  • 能够低延迟地并发地将 mysql binlog event 输出到 TiDB;
  • 确保有冲突的 binlog event 顺序同步,以及同步后数据的正确性;
  • 支持重放任意范围的 binlog event,确保重放后数据的正确性。
此外,支持 MySQL 分库分表数据合并也是该工具的一大亮点:
  • 如何解决分库分表合并中存在冲突的数据?
  • 分库分表的 DDL 如何合并执行?
  • 如何在严肃场景,尤其是金融核心场景,支持分库分表 DDL 灰度执行?
也是我们面对的一部分有趣的难题,而我们也都在不停的给出更漂亮的解决方案。
最后从工程实现来审视——如何将这类工具做到长期稳定运行?怎样尽可能地从各种错误中自动恢复以减少运维成本?这是一个更大的工程实现上的挑战!


TiDB Dashboard


图形化工具往往能带给用户更直观的体验,TiDB Dashboard 通过 Web 界面帮助用户「看见集群」,通过界面可视化地定位热点、分析性能问题、执行常见诊断操作。TiDB Dashboard 虽然是一个跨团队协作的产品,但它也是 TiDB 生态工具的重要一员,ET Team 的小伙伴可以为它尽情添砖加瓦。



TiUP


如果用户想要实现 1 分钟部署一套 10 节点规模的 TiDB 集群,那么肯定是 TiUP (tiup.io)没错了。

可以简单的把它当做一个工具,但是我们赋予了它更大的使命和愿景,希望把它打造成 TiDB 生态的基石,通过它来重塑整个生态。如果以前我们说某一个工具是 TiDB 的周边生态工具,自 TiUP 之后,正确说法将改变为:“TiDB/TiKV/PD/... 是 TiUP 的组件”。TiUP 将是 TiDB 集群和用户之间坚实的腰部力量,通过合理的管理和维护这些组件为用户提供一致、完整的使用体验。

优秀的 Geek,你是否也想用 TiUP rewrite 一切呢!


写在最后


除了上面介绍的目前正在做的工作,我们还有更多关于 TiDB 生态的想法正在计划中。把 TiDB 打造成一个更透明、可控性更高,更具有操作性的数据库系统,是我们今年的首要目标。

最后想对看到这里“有所心动”的小伙伴们再说一句:这里是你可以贡献新想法和从零开始创造新事物的地方,而不仅仅只是供养的栖身之选。如果你也认同我们的想法,就快加入我们吧~


关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接