文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

TiDB SQL Infra Team:一起打造从计算层到存储层的完美桥梁 | PingCAP 招聘季

2020-02-05 04:27

关注

TiDB SQL Infra Team:一起打造从计算层到存储层的完美桥梁 | PingCAP 招聘季

TiDB 作为计算存储分离的数据库,在 SQL Layer 层上要做的东西有很多,比如对上层查询的模式控制,对下层 KV 数据的映射构建。TiDB SQL Infra Team 所做的工作正是成为连接 KV Store 和 SQL Layer 的桥梁。这也是其 SQL Infra 名字的由来:Infra 意为基础架构,得益于在线一致性模式变更的存在,使得在各个 TiDB Server 上都可以自下而上地在 Raw KV 上构建起一套成熟的结构化查询体系。

随着 TiDB 研发团体逐渐壮大,TiDB SQL Infra Team 也逐渐从原来数人研发团队中划分出来,工作内容更加形象化,具体化,模块化。TiDB SQL Infra Team 目前更加聚焦于 TiDB 的模式信息处理和维护,DDL 语法控制流程,SQL 诊断数据集成,以及和 Placement Driver(PD)、KV Storage 的数据交互。随着 TiDB 更加注重计算和数据源亲和性,由算子下推衍生的 Coprocessor 协处理逻辑也划分在 TiDB SQL Infra Team 的工作范畴之内。

我们在做什么

TiDB 元信息管理

元信息的管理对于一个数据库的重要性不言而喻。因此,SQL Infra 组内的工作大头就是 TiDB DDL。大家可能知道,作为一个分布式数据库,TiDB 同时基于 Google F1 Online Schema Change 支持在线 DDL 变更,这个理论本身比较简单,但实际进行工程应用的时候,有许多的事情需要考虑:

在这些情况的考虑下,我们对持续对 TiDB 的 DDL 进行了改进:提供在关键时刻可以救命的 FLASHBACK 表级闪回功能,避免“操作不规范,亲人两行泪”。表级锁可以更好地让 TiDB 支持数据的批量导入/备份/恢复。在极端情况下,TiDB 元数据坏了/丢了,ADMIN REPAIR 也可以对元数据进行修复以避免整个集群不可用。正在开发的 SEQUENCE,则为业务提供了更加灵活的持久化自增值数方案。除此之外,我们还在做进一步优化和探索工作。

TiDB 集群数据收集和诊断

TiDB 是一个存储计算分离,包含多组件的分布式系统,大家可以想象一下,运维起来其实要考虑很多问题:

针对上面的问题,我们参考 MySQL/Oracle/DB2 等已有系统的 SQL 审计功能,开发了 TiDB STATEMENT SUMMARY,对 TiDB SQL 执行过程进行基于语句和执行计划指纹的统计,并滚动更新和归档,方便用户/ DBA 对不符合预期的性能问题做排查。而开发中的 TiDB 性能诊断框架,则以内置的方式直接提供对 TiDB 全集群、全模块、全链路的指标状态进行收集和展示,可以说你能想到和想不到的指标,都可以通过这个框架获取到。举个例子,你可以使用一条 SQL 获取 TiDB/TiKV 运行时的 CPU 和内存火焰图。

我们的团队

关于地点

TiDB SQL Infra Team 的组员均匀分布在各个 Office(北京、杭州、成都、广州),因为 TiDB 是一个诞生于开源、依托开源社区发展成长的项目,这使得我们认为远程的交流和办公是一个常态。所以 PingCAP 并不按照工作地点来划分工作模块,只要你有兴趣加入 TiDB 研发团队,你可以自由地选择工作地点。

关于工作内容

其实,TiDB 是一个非常开放的项目,我们的工作内容是不受限的:无论是提升 TiDB 性能、改善易用性、甚至只是让某个功能更加酷炫,只要你能想到有任何的事情能够让 TiDB 变得更好,并且有兴趣挖坑,都可以申请去做。在 TiDB SQL Infra Team,我们不希望大家只是按照既定的 TODO List 去做事,我们希望每个成员都能打开思路,在不断的思考中工作。

关于成长

底层系统软件开发是一个极具挑战性的任务,早期数据库系统是在八九十年代用 c 代码垒起来的,庞大体系难以现代化理解和调试。现代数据库本身就是非常有挑战和有意思的一个项目,如何将传统的 AST 解析,计划优化,物理存储用现代语言实现出来,并赋之以 Raft 高可用实际,这对我们来说也是一个巨大的挑战。对于 TiDB 这种以 HTAP Workload 为目标、希望部署在各种用户场景下的数据库来说,挑战尤甚。

坦率的讲,这对工程师的要求是非常高的,而我们也非常重视大家在工作中的个人成长。公司定期举办 Infra Meetup、Paper Reading 以及各种内外部技术交流分享,我们 Team 内部有学习小组,你可以把自己感兴趣的方向放到学习小组的主题池中,每周我们都有专门的时间供大家学习,并相互交流分享。我们相信这些机制可以让你打开思路,多了解业界的动态,多思考。

闲话二三

TiDB 是一个从零写起来的数据库,与基于某一个成熟的数据库做改进、开发中间件相比,这种从头写代码的做法自然要做很多的工作。但好处在于,你可以自由地按照自己的想法做设计、做实现,甚至为理想中的功能添加新的语法,并思考在各种场景下,数据库的用户在使用这些语法时的场景是什么,希望解决什么问题,后续的如何维护?这些事情,都可以在 TiDB 团队实现,去推送给广大的 TiDB 用户使用。

如果你喜欢研究极致的性能,乐于思考数据库的设计,喜欢对数据库刨根问底,欢迎加入我们!

加入我们吧!

我们认为优秀的工程师或多或少有以下共同特质:

· A Quick Learner
· A- n Earnest Curiosity
· Faith in Open Source
· Self-driven
· Get Things Done

如果你符合以上特质,欢迎进入招聘页面查看目前开放的工作机会:

https://www.pingcap.com/recruit-cn/join/#positions

简历投递通道:hire@pingcap.com

实习生:公司的各项福利和学习资源对实习生全面开放,更重要的是实习生还未毕业就有机会接触工业级项目,而且实习期间表现优异者将有机会获得校招绿色通道特权。针对实习时间并不充裕的小伙伴,你可以先通过 Talent Plan 丰富基础知识(https://university.pingcap.com/talent-plan/),也可以通过参与 TiDB 开源社区获得更多实践机会!

伯乐推荐:如果你身边有符合以上要求的小伙伴,也可以找我们聊一聊,推荐成功就有机会获得伯乐推荐奖励。伯乐推荐邮件格式:[伯乐推荐] 候选人姓名-职位名称-推荐人姓名-推荐人手机号。

延展阅读

是的,我们在招人!PingCAP 2020 招聘季正式开启

TiDB Architecture Team:挑战数据库的本质难题

揭秘 PingCAP 年轻前沿的团队:用户生态

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯