---
title: 'TiDB Committer | 男友力 max 的典型工程师马钰杰'
date: '2020-11-30T00:00:00+08:00'
status: publish
permalink: /blog/tidb-committer-tipical-engineer-yujiema
author:
    - PingCAP
    - PingCAP
    - PingCAP
excerpt: '本篇文章将介绍拥有多个身份的他成为了 TiDB 新晋 Committer:mmyj。'
type: post
id: 2916
category:
    - 社区动态
tag:
    - Committer
    - TiDB
post_format: []
profile:
    - PingCAP
algolia_posts_post_records_count:
    - '3'
---
他是第一期 Talent plan 的学员，也是第一期易用性挑战赛优秀参赛选手，拥有多个身份的他成为了 TiDB 新晋 Committer，他就是来自 Execution SIG 的马钰杰（mmyj）。

他是游戏云玩家，也喜欢研究电子产品，总是第一时间入手，也逃不过第一时间吃灰。目前在星火网校做后台开发，工作中接触最多的语言是 Golang。他自称是个典型的程序员，但在采访的间隙突然让我稍等他一下，去给女友煮汤圆，着实让小编酸了一把～

今天，让我们来看看 mmyj 在 TiDB 社区的心路历程吧！

![1-certificate](https://img1.pingcap.com/prod/1_certificate_3e7bece0b0.jpeg)第一次贡献 TiDB，感受如何？
----------------

2019 年 10 月，我第一次听说 TiDB，也是第一次接触到开源，之前并没有特别关注这个领域。因为公司使用 golang，所以我想找一些 golang 的项目学习，后来无意中在 GitHub 上发现了 TiDB 的文档和源码阅读活动，这让我参与社区得到了很大帮助。我还记得第一个 PR 是 execution 向量化的活动。

![2-expression](https://img1.pingcap.com/prod/2_expression_89cc21a65d.png)当时觉得学习的门槛不高，正好那段时间有易用性挑战赛，就尝试参加了。  
最开始的时候会有点手足无措，不知道如何提交 PR 才能被采纳。不过社区小伙伴都很耐心，逐渐的我也就适应了贡献流程。

为什么会持续给 TiDB 贡献？
----------------

我在易用性挑战赛花了挺多时间，一下班八点多到家就开始做 issue。除了有周边可以兑换，我对 Reviewer 也很向往，觉得 Reviewer 是我努力的一个方向。我很感谢 Execution SIG 的 mentor 给了我很多帮助，我也希望自己可以反哺社区，像当时 mentor 们帮助我一样，指导社区的同学来贡献回馈社区。

有一次我印象特别深刻，当时我有一个问题不太明白，立元就给我画白板来解释，可惜我当时太害羞，害怕麻烦他所以不好意思开摄像头，如果是现在我一定会更大胆的和导师交流。

**TiDB 社区氛围很好，我希望可以把这份善意传递下去。**

贡献过程中遇到过困难吗？中途是否想过放弃？
---------------------

有一个 PR 我断断续续做了很久，优化灵感的来源是一篇论文，我先花一个月时间看完了论文，然后再花一个月时间看 TiDB 代码，研究怎么修改才能达到论文的效果。难点在于，这个 PR 有很多优化的小点，把所有优化点都做完，整个战线就需要拉的很长。

![3-pr](https://img1.pingcap.com/prod/3_pr_40a6da4308.png)在学习 Talent plan 课程的过程中也遇到了一些困难，因为课程的学习是在已知的框架内找一个未知的答案，对我来说是一个挺有挑战的事情。当时卡在优化器部分，不过最后我也没有寻求导师的帮助，自己去看 TiDB 源码找到了答案，感觉是有一点小作弊了哈哈。

贡献过程中最有成就感的事？
-------------

上面提到解决的最难的一个 PR 对执行器优化巨大，引入了滑动窗口的优化，提升了某些常用窗口函数的 10 倍计算效率。

![4-executor](https://img1.pingcap.com/prod/4_executor_b9dcf1c79e.png)这个结果让我很满意，觉得自己的贡献很有意义。

你认为开源是什么？
---------

很多项目只是把代码公开在 GitHub 上，我认为这并不能算是真正的开源，维护一个项目需要花费时间和精力，能像 TiDB 一样拥有一个活跃的社区，并且用心的去维护它，这很不容易。

给 TiDB 社区新人们的一些建议？
------------------

**一定不要害羞，社区的同学都很 nice！TiDB 社区期待你们的加入！**

与 Contributor 同行，相信开放的力量
------------------------

随着越来越多的人了解和使用 TiDB，作为社区贡献者，我们选择了相信开放的力量，做自己真正喜爱和擅长的事情，与全球的开发者共同协作，打造我们梦想的数据库，帮助大家解决问题，让更多用户一起受益，在数据库历史的发展上留下自己的一笔，我们感到兴奋而且自豪！

聚沙成塔，集腋成裘。社区每一个微小的贡献都让 TiDB 距离「数据库界的事实标准」更近一步。很荣幸能和一群志同道合的朋友一起做酷且正确的事情。

在开源的世界，一切皆有可能。