开源社区怎么玩?明星项目 TiKV 的 Maintainer 这样说……

知乎技术平台团队负责人孙晓光有一个新的身份:开源分布式事务 Key-Value 数据库 TiKV项目的 Maintainer。Maintainer 是 TiDB/TiKV 开源社区的角色之一,是社区中较高级别的代码贡献者,项目的规划和设计者,拥有合并主干分支的权限。通常来讲从开始贡献代码的 Contributor 成长为 Maintainer,最明显的变化是,对项目有更全局、深刻的了解,对项目将来的发展也有独到、准确的看法。git

孙晓光以为,其实从 Contributor 到 Committer 再到最后成为 Maintainer 这个过程,最大的感觉是本身逐渐融入到了 TiKV 社区中,真正有了归属感。今天咱们就带着 TiDB/TiKV 社区伙伴们的期待,和孙晓光聊了聊,打探了一下他成为 Maintainer 的经历,以及对 TiKV 社区将来的想法。github

初识:寻找原生的分布式存储方案

> 与 TiKV 项目初识,实际上是带着明确的目标的。数据库

孙晓光 2007 年毕业回国,当时国内刚开始作云,他进入一家作私有云的公司,从事私有云相关产品开发工做 7 年多时间,他坦言,这段工做经历让他我的积累了许多云相关底层系统的工做经验,这也是他对平台类技术比较感兴趣的核心缘由。2017 年孙晓光加入知乎。
刚到知乎时,他负责已读服务的开发,知乎的存储层采用的仍是 MySQL 分库分表技术方案。“项目上线后,就我我的而言是难以接受这种方案的,因而我就开始寻找原生的分布式存储系统来替代它。借此机会我尝试了 TiKV,在测试的过程当中我发现一些性能有改善的空间,因而我就边测试边上手作了一些优化工做,最后提了一个大 PR 上去。PR 提出后,PingCAP 首席架构师唐刘很快就跟我创建了联系,慢慢的我也进入到了 TiKV 社区当中。这就是我第一次接触 TiKV 的经历。”架构

更加理解「开源社区」

> 我对开源社区的理解更加清晰了。分布式

孙晓光之前也用过不少开源软件,可是当时并无深入理解开源的价值。开源的第一目标应该是对别人有帮助、有价值,这个目标就已经拦住了无数的开源项目。不少项目仅仅把代码开放出来,可是没有任何后续的支持与维护,在这样的状况下社区是没法发展的,天然也难觉得他人创造价值。性能

其实当你持续的认真投入到开源后,项目和社区就会产生双向的交流,再也不只是你单向的投入,社区也会给予你反哺,这时就会造成正向循环,对项目发展会起到很是大的推进做用。我对开源的理解正是在 TiKV 社区慢慢创建起来的,TiKV 有一个很是开放友好的社区,PingCAP 和社区伙伴们热心的帮助及鼓励让我切身感觉到活跃的开源社区所具备的独特魅力。在参与共建社区的过程当中,我不但学习到了如何同开源社区中众多优秀的贡献者更加高效的交流,同时也对开源的价值理念和开源在基础软件领域的重大意义有了更加深刻的理解。”学习

「持续贡献,长期活跃」的动力何在?

> 硬核的项目 + 开放的氛围测试

过去多年在云方向的工做经历让孙晓光坚决的相信,云是将来的趋势,而 TiKV 做为云原生架构中承载状态的基石组件,它的重要程度毋庸置疑。做为一个技术控,TiKV 这样一个既硬核口碑又很好的项目很天然地吸引着他。同时 TiKV 社区互帮互助、开放双赢的良好氛围也是孙晓光持续参与社区建设的重要动力。优化

“以前也为其余开源项目作过贡献,多是这些项目对社区建设并无投入太多精力,大部分的 PR 合并完成就没有后续了。可是在 TiKV 社区,我感觉到当我参与社区后,后续会有不少追踪的动做,这会激励我保持兴趣,持续在社区中去作贡献。同时在这个过程当中,我也在社区中学习了不少知识,获得了不少帮助,这也是我长期坚持在 TiKV 社区中保持活跃的一个重要缘由。”spa

迄今为止,孙晓光已经为 TiDB/TiKV 项目贡献了 18 个 PR,推进了 TiKV 重要功能 Follower Read 的开发和落地,这个功能同时也解决了知乎业务场景中极端热点数据访问的吞吐问题。他在一年中完成了 Contributor -> Committer -> Maitainer 的角色升级,可谓是开挂式的速度,但他并无就此止步,而是开启了一个新的挑战。

新的挑战

今天 TiKV Engine SIG(SIG = Special Interest Group)正式成立,这是 TiKV 项目成立的第二个 SIG 社区组织,孙晓光将做为第一个非 PingCAP 的 SIG TechLead,将与其余 TechLead 一块儿,组织你们推进 TiKV Engine 的相关开发和完善。

对于 TiKV Engine SIG,孙晓光很是兴奋。

“我认为 TiKV 很是适合 SIG 这个模式,由于 TiKV 是一个很是庞大且复杂的系统,进入的门槛很高,而且它还在以飞快的速度继续演进着。在这样一个庞大的系统里,想让你们参与进来实际上是很是有难度的。但 SIG 能够为你们创造一个更容易参与的小环境,且在这个小环境中是有组织有领导的,有人会帮助你们指方向,指导你们要作什么样的事情,这样一方面下降社区参与 TiKV 建设的门槛,另一方面也能够更好的将对特定领域有经验且感兴趣的伙伴们汇集起来,高效的推动 TiKV 每个关键方向的前进速度。

在我我的看来,存储引擎是 TiKV 中最关键的组件之一,它影响着整个系统的稳定性、功能特性以及性能表现。相信 Engine SIG 成立后,咱们能够清晰的定义存储引擎同 TiKV 其它部分的契约,提供强大且易用的存储引擎抽象,借助 TiKV 完备的分布式能力,咱们能够为 TiKV 拓展更多的领域和可能。”

TiKV Engine SIG 是主要职责是对 TiKV 的存储引擎的将来发展进行讨论和规划,并进行相关开发和维护。目前 TiKV 仅支持默认存储引擎 RocksDB,可是经过扩展接口,但愿将来 TiKV 能够支持更多的存储引擎。近期 Engine SIG 的工做会围绕在对 TiKV 已有存储引擎的改进上面。

*关于 TiKV Engine SIG 的更多信息,感兴趣的朋友们能够查看 这篇文章,也能够加入 Slack [#engine-sig]( https://tikv-wg.slack.com/?re...
) 和孙晓光等社区伙伴们一块儿讨论。*

指望

做为 TiKV & TiDB 重度粉丝,孙晓光但愿在将来能更好的促进「知乎」和 TiKV 社区的共建。一方面依托 TiKV 社区的进步为「知乎」的业务发展提供更好的支撑基础,同时但愿可以基于「知乎」的业务场景为 TiKV 的发展提供足够大的施展空间。

“我很是但愿咱们的团队也可以真正参与进来,成为社区的贡献者。相信将来 TiKV 可以保持开放双赢的风格,建设更成熟更大规模的社区。咱们这些社区伙伴会一块儿推进 TiKV 的高速持续发展,让 TiKV 成为将来有状态系统基石的第一选择。”

TiKV Logo

TiKV 是一个开源的分布式事务 Key-Value 数据库,支持跨行 ACID 事务,同时实现了自动水平伸缩、数据强一致性、跨数据中心高可用和云原生等重要特性。做为一个基础组件,TiKV 可做为构建其它系统的基石。目前,TiKV 已用于支持分布式 HTAP 数据库—— TiDB 中,负责存储数据,并已被多个行业的领先企业应用在实际生产环境。2019 年 5 月,CNCF 的 TOC(技术监督委员会)投票决定接受 TiKV 晋级为孵化项目。

源码地址:https://github.com/tikv/tikv

更多信息:https://tikv.org

相关文章
相关标签/搜索