技术开发 频道

PingCAP黄东旭:爱开源 走不一样的路

  【IT168 专稿】他,很小的时候就开始写程序,亲眼见证了近20年计算机发展历史。喜欢硅谷的文化,崇尚自由软件运动和Hacker精神;工作之余,他竟然最爱写程序(我没笑.jpg)!如果没有此选项,那你会发现不一样的他——画画,看美剧,摇滚乐,周末会去 Livehouse 看乐队演出,每年去一个没去过的国家自驾…

  作为一名首次参加团战(DTCC2016中国数据库技术大会嘉宾采访)的小编,一血竟幸运的采到在分布式存储领域有着多年的积累和实战经验的大牛,嘻嘻嘻(掩嘴.jpg),情绪失控的小编早已迫不及待的要分享了!

PingCAP黄东旭:爱开源 走不一样的路

  PingCAP 联合创始人,CTO 黄东旭

  对技术的尊重让他们“共鸣”

  之前在豌豆荚从事infrastructure相关工作的黄东旭,现在在创业公司PingCAP,方向依然是分布式存储领域(NewSQL)。加入豌豆荚一个很大的原因是他们对开源的态度和对技术的尊重,这在国内很是难得,并且当时豌豆荚的Infrastructure团队聚集了国内很顶尖的一批工程师。

  他说:“当时我在豌豆荚主要负责分布式存储系统的开发,开发了Codis并开源了出来,解决了很多公司的分布式缓存问题。缓存的问题解决后,决定解决关系型数据库的扩展问题。当时我们使用的是 MySQL 中间件的方案进行数据库的水平扩展,也自己开发了一个 MySQL 中间件,但是中间件的方案不管是对于业务层还是DBA来说都有很多问题。对于业务层来说,很多场景没法平滑的使用事务,不能跨节点Join,不支持子查询,同时分库分表的带来了更多的心智负担;对于DBA来说,集群的扩容和缩容是个很头大的事情,另外对于DDL的一些操作,在集群场景下的操作的复杂度会更大, 业务中断的时间更长。

  开源社区里也并没有太好方案,我坚定的认为分布式是未来,但是关系型数据库的弹性方案太不优雅,一定有更美的方案完成这个事情,我个人也一直在关注学术界的一些工作,比如 Google 在 2012 发表的 Spanner 及 F1 的论文,F1 在 Google 内部正是用来替换 MySQL Sharding 方案的,而且 2014 年 Deigo 关于 Raft 的博士论文发表,社区第一次可以绕开 Paxos 实现等价的工业级别的分布式一致性协议,感觉整个理论基本齐备了,具体设计也想得差不多了,同时觉得分布式 OLTP 在全球范围内都有一个很大的机会和市场空白,于是和几个小伙伴一起在 2015 年中成立了 PingCAP,早期的伙伴来自豌豆荚,金山和360的基础架构团队都是前同事或者互相都很认可的技术很强的朋友,后来开源版本一出来就在社区里吸引了一批很强的工程师加入,大家的三观也都比较一致,希望用开源的商业模式在国内走出一条不一样的路,做一个在基础设施领域全球顶尖的技术公司。

  热爱技术分享 线上线下超活跃

  黄东旭很喜欢做技术分享,那各种跟技术有关的活动、沙龙自然少不了他。虽然他说自己的演讲水平不那么高,讲的东西听上去好像还很累,但这并不影响他那份热情。他说“有趣的是,会认识很多新朋友,而且线下见到很多在微博上认识很久的熟人,但因为是线上,之前从未见过面,感觉还是蛮奇妙的。”

  当然,黄东旭最最希望的是能在国内营造真正关注技术本身的社区和 meetup,而不仅仅是某个公司的广告。

  大数据时代的分布式存储领域的技术难点

  随着大数据影响力的不断扩张以及其相关技术的深入发展,大数据从互联网领域向其他行业急速蔓延,行业、金融、政府等领域爆发大数据风潮,大数据对传统行业的影响越来越深重。

  在采访中,对于即将举行的2016第七届中国数据库技术大会(DTCC)就大会主题“数据定义未来”,存储系统从单机走向分布式,黄东旭表示:

  第一点,分布式数据库,尤其是分布式关系型数据库(NewSQL)的架构和优化器的设计一定和传统单机数据库非常不一样,不管是理论还是实现上,所以很多基于已有的单机数据库的简单集群化是很难做得比较完善的,可以说在这个领域各个厂商又重新站到了一个起跑线上。目前更看好SQL on NoSQL 的方案,也是 Google 的选择,无状态的 SQL 层和支持 ACID 事务的分布式 KV 层,设计上偏重吞吐,适当延迟牺牲(因为有 RPC 和 Replication 开销)。

  另一个趋势是在分布式数据库时代 OLAP 和 OLTP 再也不会像单机数据库时代那么模糊,支持复杂查询,大表 Join 等的偏 AP 场景会有专有数据库和查询引擎;而专注在线读写事务,高并发,强调一致性的场景也会有专门的数据库来提供服务。这也是为什么我更看好 SQL on NoSQL 的一个原因,比如 Spanner 提供了无锁的历史数据读的特性,很适合数据分析的场景,不影响当前正在进行的读写事务。针对不同的业务场景,同一份存储,切换不同的SQL引擎和优化器也许是未来的方向。

  这个领域还有很多未解的技术难点,如受关注比较多的是多租户技术,目前工业界和学术界并没有太多的理论和实践,分布式数据库未来一定是会和云结合,不同的业务线共用一套分布式数据库是很自然的事情,这里就涉及到租户间资源隔离和调度的方案,现有的容器技术和调度器的技术如何与数据库结合,都是重点关注的方向。

  真正的开源技术是靠玩出来

  对于这句网络热词句,黄东旭认为这个“玩”代表了很多含义,用几层意思来表达:“首先态度,比如是很认真的。我们做的是严肃的基础软件,态度上必须是极端认真的,国内在测试上有我们那么偏执的公司应该不多(执拗笑的脸.jpg)。我希望构建的社区本身是各大公司都有价值的事情,让大家都能用上非常先进的分布式数据库 。再就是实力,没实力肯定玩不转。其实开源还有个很重要的东西容易被大家忽略,那就是社区协作,集合大量优秀的志愿者和程序员来一起推动整个项目的发展,目前 TiDB 上面的有些特性就是来自华为和京东贡献的,给 TiDB 贡献代码的优秀程序员有来自360, 多玩,捷克网络研究中心,日本电信,上海交大等地方的同学,名单太长了,有兴趣去项目的contributors里面看一下,也可以加入进来一起玩。

  最后,黄东旭会在大数据基础设施专场带来《使用Raft构建分布式高可用OLTP数据库之路》,感兴趣的小伙伴不要错过哦!

PingCAP黄东旭:爱开源 走不一样的路

  2016第七届中国数据库技术大会(DTCC)将于2016年5月12日-14日召开,大会云集了国内外顶尖专家,共同探讨MySQL、智能数据平台、数据治理、大数据创业、大数据深度学习等领域的前瞻性热点话题与技术,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。欲了解更多有关大会的精彩内容请访问DTCC 2016官网:http://dtcc.it168.com/

0
相关文章