专访天数科技创始人兼CEO李云鹏:充分尊重工程师的个性差异

时间:2024-03-29 15:20:07

李云鹏,天数科技创始人兼CEO;曾任美国甲骨文公司全球研发总监,从事甲骨文数据库10g至12c的研发工作。日前,笔者采访了李云鹏,请他分享国内外数据库发展的差异性,以及如管理一支优秀的技术团队。他认为:1.尊重工程师的个性差异;2.量化指标,信任数据;3.认识团队特色,积极发展。

专访天数科技创始人兼CEO李云鹏:充分尊重工程师的个性差异

天数科技创始人兼CEO李云鹏

CSDN:请先做个自我介绍,所在公司以及负责领域。

李云鹏:我是天数信息的创始人兼CEO李云鹏,之前任甲骨文数据库研发总监,自美国威斯康辛州大学麦迪逊校区完成硕士学位后,2006年加入甲骨文公司主要从事数据库10g至12c的研发工作。

现在我创立的南京天数是一家专注于大数据产品及服务的高技术创业公司,团队中既有美国硅谷数据库和大数据领域的精英工程师,又有国内基础软件从业者中的中坚力量。

在大数据时代,以数据为核心的获取、存储、管理、分析等一整套流程,对传统的基础软件如数据库,提出了强烈的新挑战和更高需求,南京天数计划推出一系列产品以解决当前大数据应用中的痛点,如为解决大数据Volume问题的“数据湖”解决方案;针对大数据的“Variety”特征而研发的新型数据库;以及行业应用而打造的高速数据分析引擎等。

CSDN:你是如何走上技术这条道路的?10余年的大型数据库开发和设计经验,你是如何保持对这份技术的热情?

李云鹏:可以说是命运也可以说是缘分,我的专业是计算理论,在南大就读期间参与的上海宝钢数据库课题小组给我打开了一扇门,而麦迪逊校区的两年时光,更在相关领域获益匪浅。于是在2005年底,收到甲骨文数据库研发组的Offer后,我来到加州旧金山湾区,不经意间花了十年沉浸如此!

今天我依然保持对数据库技术的炽热之情,主要有两方面因素:

首先当然是对技术本身纯粹的热爱。在甲骨文期间,我亲眼目睹了一家行业标杆的数据库厂商,如何在自己最核心的领域不断推翻和超越自己,非有对技术的*不足以支持其壮士断腕的决心和投入。

举个例子,Oracle 11gR1的Cluster解决方案,经过9i, 10g的磨练已经获得了极大的市场成功后,Oracle 11gR2又推出的全新GI解决方案。从用户角度看这次变化不甚明显,然而研发内部把此次改造称之为“TrailBlazer”(拓荒者),足见实际工程量的巨大,而且最终发布时间也因此拖延了近半年。结果是诞生了一个更加稳定且轻量的Cluster软件,为之后Exadata(注1)的成功奠定了坚实的基础。

Exadata在其发布伊始的2008年,Oracle就率先将自己的协同工作系统Beehive从传统EMC Power Storage和High-end SMP服务器的部署迁移至Exadata V1的架构中。得益于这一巨大的变动为后续Exadata产品的研发反馈的无数信息,直到今天这套系统还是全球最强大的Exadata OLTP系统。

在一个这样的公司待上十年,试问怎么可能不被这种技术*感染?同时,也是受业内大牛的影响。比如甲骨文PDML(并行数据操作)的领军人物Allen Brumm,他对于Coding不仅限于高效简洁的实现方式,更有近乎严酷的“优雅性”要求,挡住无数个有违优美原则的具体实现方式。虽然他的英年早逝令人憾然,而如Allen这样的研发者们将“精益求精”的制度融入自己的研发理念,让甲骨文数据库在严苛的企业级软件市场上屹立三十年。

我有幸见证了10g至12c这段历史,也有幸能和这样的技术人才共事这么长时间。所以到今天,我仍能保持这份热情。

(注1)Exadata是Oracle推出的服务器和存储服务器的一体机,针对数据库存在的瓶颈,从硬件到软件进行优化,来提高Oracle数据库的性能。

CSDN:你曾在甲骨文从事10g到12c的研发工作,在你看来,这段期间有哪些难忘的人或事?有哪些里重要的节点吗?

李云鹏:甲骨文的时光让我难忘的,与其说是一件件事情,不如说是一个个鲜活的数据库核心研发者们。他们的名字可能并不被国内的数据库同行所知晓,然而我却很想罗列一下他们的名字 Alex Tsukerman, Mohamed Zait, Michael Zoll, Yunrui Li, Cecilia Grant, Kodi Umamageswaran, Jia Shi, Vineet Marwah, Vivek Raja, Niloy Mukherjee, Wilson Chan,Eugene Ho, Sue Lee, Rich Long, Tak Wang, Min Hank Ho, Vladimir Begun, Dinesh Das, Andy Witkowski, Jaebock Lee, Sanket Jain, Kumar Rajamani, Winston Huang…… 还有太多的默默无闻的老中青三代工程师们,他们在这个领域的前赴后继应该被铭记。

我在甲骨文的十年里,和他们一起并肩战斗,在原有Oracle DB的基础上将精益求精、研发出许多屡创佳绩的Oracle DB Options,在合作保持甲骨文在商业通用数据库界地位的同时,我们从工作上的伙伴发展到了生活中的朋友。

CSDN:你在Oracle12c方面有着深入的研究,你是怎么看待Oracle12c的核心新特性?可以给我们解读下吗?

李云鹏:甲骨文数据库的12c的第一版12.1可以说是甲骨文历史上变动最大的一个数据库。从第一版的多租户(Multitenant),到第一个补丁集中附带的内存数据库(Database in-Memory Database)无不体现着数据库技术的发展趋势。

其中Multitenant是甲骨文数据库针对云计算的正式回应。数据库容器(Database Container)和可插拔数据库(Pluggable Database)两个概念的提出和实现给离散的数据库资源整合提供了一条的便捷的途径,极大的降低了数据库运维的复杂度;更重要的是为On-Premise也是私有云上的数据库走向公有云成为数据库平台服务(Database-as-a-Service) 提供了更为可行和有效的实现方式。在即将发布的12.2版本中,应用容器(Application Container)将Multitenant进一步拓展,为SaaS服务提供了更加全面的数据库层支持。

相对其他数据库提供商,甲骨文数据库在列式数据方向的产品要缓了半拍。然而慢工出细活,甲骨文Database In-Memory 将On-Disk行存储结构和in-memory的列存储结构结合,上层应用软件可以无需任何改写即可享受到列存储带来的至少1-2个数量级的性能提升。相信Database in-Memory的Push Button的实现及在实际应用部署上带来的便利能够让甲骨文在列存储数据仓库市场有所建树!

CSDN:数据库技术或者说大数据浪潮下的数据基础软件,目前面对的最大的挑战或者说发展趋势是什么?

李云鹏:数据库技术源于70年代Ted Codd的关系型数据库论文,经过四十多年的发展后,数据库管理软件作为一款基础软件工具,在传统架构下对传统的数据应用(如OLTP, OLAP/DW等)的支持已经相当完善了。然而今天技术的发展和大数据等新兴应用给传统的架构带来了极大的挑战,可以说现在是数据库技术的“拐点”,在多个方面均有取得颠覆性突破的可能性。

在计算机技术的发展历程上,硬件和软件的发展是一直是相辅相成的。要么硬件技术发展飞跃随之引发软件技术的革命性变化,要么是软件技术发展中遇到硬件技术瓶颈后触发新一轮硬件技术的爆发。而今传统数据库软件技术的架构理念正在被当前硬件技术的发展不断冲击。

过去十年里,内存的硬件技术飞速发展,超大容量内存的成本不断降低,TB级内存配置的服务器趋于普及。数据库应用中的一大类,OLTP(事务处理型)应用,其数据量在一般情况下均可以完全置于内存中。常听到这样的说法:“堆硬件便能解决OLTP系统的问题”,很大程度上是指将数据表直接放到足够大的内存中,来解决系统运行效率的问题。但这种说法是不全面的,传统的数据库软件中对OLTP的ACID Transaction, Concurrency Control, Crash Recovery等方面的设计理念和具体实现并没有考虑超大规模内存场景。学界和业界纷纷呼唤针对超大规模内存的新一代数据库实现。在这个领域,近年来已经涌现了一批如MemSQL这样的内存数据库初创公司。

超量内存不仅给OLTP应用带来了新的变化,也给OLAP技术带来新的挑战。因为当内存不再是瓶颈的时候,如何充分利用CPU的L1/L2 Cache便是新的问题。我所了解的VitesseData这家公司,就是采用LLVM技术将L1/L2 Cache的最大化利用,在TPC-H中较之传统PostgresSQL取得了20-200倍的性能提升。

另外硬件生产商即将推出的NVRAM和Transactional Memory的商产品也会是一大冲击。目前数据库软件中Buffer Cache Management , Concurrency Control中的Lock/Latch/Mutex机制等都无法有效利用这类新型硬件的功能。针对此类硬件产品的设计和优化,有可能将数据库软件推进到一个新的高度。例如微软SQL Server 2014中全新的Hekaton引擎,就以纯软件的形式优美的实现了Lock-free的数据结构,摒弃了Data Lock的应用,在TPC-C/E等Benchmark中带来了1-2个数量级的加速。而Lock-free数据结构在Transactional Memory中的实现难度必会大大降低,这无疑会带来数据处理引擎的翻天覆地的革命。

除了上述几点之外,多核的CPU硬件技术,GPU和NUMA技术等方面均在不同程度上催生者数据库软件技术的变革。天数将关注于NVRAM和Transactional memory领域,基于新的设计理念,构建下一代数据库产品

CSDN:你用不到十年的时间创立并领导了30多人的队伍,在带领团队上你有哪些经验可以分享下吗?

李云鹏:带领技术团队是很有意思的经历,这方面与其说经验,更想分享下我自省之后的简单总结:

一、尊重个性:工程师在个性上有较大的差异性,如何针对每位研发者的个性特征,将其能力充分发挥到最合适的岗位,是达到1+1>2的最有效的方式。

二、量化指标,信任数据:高技术行业从需求分析开始,到原型设计,产品研发、测试、发布、维护等均有不同的指标来衡量。如何科学的量化指标呢?比如对开发者来说,是按照多少行代码,还是按照功能实现多少或者研发速度,还是根据实现的方式和效果来衡量呢? 对测试者来说,是按照发现问题的数量,还是被研发者解决的问题的数量,亦或是测试案例和自动化的研发数目来把握呢?这对团队的管理者来说,需要全面的认知项目的性质和目标,以科学、灵活的方式将指标量化(甚至动态的调整量化方式),但确认到考核中,则坚持以数据说话!

三、认识团队特色,积极发展:团队和个人的最大公约数是发展和提升。认识团队的特点,在发展时扬长避短会带来事半功倍的效果。

CSDN:对从事数据库开发的人员,有什么想说的吗?

李云鹏:虽然我长期生活在国外,但对国内从事数据库开发的人员是相当敬佩的。比如阿里巴巴的OceanBase,这是在硅谷都很知名的一个产品。作为同行,我完全能感受到成绩后面的艰苦努力。不过客观的说,较之硅谷的数据库核心研发氛围,国内在纯数据库核心研发领域依然存在人才短板,作为基础软件的数据库,对研发者的要求非常高。

一位合格的数据库研发人员,不仅需要有对相关技术和知识的深入把握,更需要时间的长期积累。个人想借一句话和从事数据库研发的人员共勉:“坐下来,钻进去,耐得住寂寞的搞好数据库软件”。

(责任编辑/夏梦竹)