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 是基于 TiKV 实现的 row data changed capture:
- 具备可随 TiKV 集群规模扩展的处理能力;
- 在不依赖 TiDB 事务模型实现的基础上还原事务的能力;
- 拥有更加开放和完善的 open protocol;
- 自身进程服务的高可用;
- 重要的是可以提供秒、甚至毫秒级别的增量数据变更交付能力。
目前这套系统仍在快速成长中,还存在不少技术难题需要攻坚和优化,我们正在招募真正的「屠龙勇士」!
Backup & Restore Tools set
大家都知道,新一代的数据库一般通过 raft/paxos 一致性算法保证自身拥有多副本数据。严肃场景下的数据库系统依然需要严肃的托底方案,这时候就不得不提备份和恢复。
TiDB 备份和恢复工具集由 BR(Backup&Restore)和 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 (http://tiup.io)没错了。
可以简单的把它当做一个工具,但是我们赋予了它更大的使命和愿景,希望把它打造成 TiDB 生态的基石,通过它来重塑整个生态。如果以前我们说某一个工具是 TiDB 的周边生态工具,自 TiUP 之后,正确说法将改变为:“TiDB/TiKV/PD/... 是 TiUP 的组件”。TiUP 将是 TiDB 集群和用户之间坚实的腰部力量,通过合理的管理和维护这些组件为用户提供一致、完整的使用体验。
的 Geek,你是否也想用 TiUP rewrite 一切呢!!
写在后
除了上面介绍的目前正在做的工作,我们还有更多关于 TiDB 生态的想法正在计划中。把 TiDB 打造成一个更透明、可控性更高,更具有操作性的数据库系统,是我们今年的首要目标。
后想对看到这里“有所心动”的小伙伴们再说一句:这里是你可以贡献新想法和从零开始创造新事物的地方,而不仅仅只是供养的栖身之选。如果你也认同我们的想法,就快加入我们吧~
加入我们吧!
我们认为的工程师或多或少有以下共同特质:
· A Quick Learner
· A- n Earnest Curiosity
· Faith in Open Source
· Self-driven
· Get Things Done
如果你符合以上特质,欢迎进入招聘页面查看目前开放的工作机会。
简历投递通道:hire@pingcap.com
实习生:公司的各项福利和学习资源对实习生全面开放,更重要的是实习生还未毕业就有机会接触工业级项目,而且实习期间表现优异者将有机会获得校招绿色通道特权。针对实习时间并不充裕的小伙伴,你可以先通过 Talent Plan 丰富基础知识(https://university.pingcap.com/talent-plan/),也可以通过参与 TiDB 开源社区获得更多实践机会!
伯乐推荐:如果你身边有符合以上要求的小伙伴,也可以找我们聊一聊,推荐成功就有机会获得伯乐推荐奖励。伯乐推荐邮件格式:[伯乐推荐] 候选人姓名-职位名称-推荐人姓名-推荐人手机号。