导语 | 4月24日,Techo TVP开发者峰会「数据的冰与火之歌——从在线数据库技术,到海量数据分析技术」的压轴环节是圆桌对话,由支流科技 CEO、腾讯云TVP 温铭主持,与偶数科技 CEO、腾讯云TVP 常雷,易观 CTO、腾讯云TVP 郭炜,腾讯云弹性MapReduce技术负责人 陈龙,腾讯云数据库专家工程师 李海翔四位嘉宾就「从行业到职业,看数据的现在与未来」的主题展开了深度探讨。本文是对本次圆桌论坛的分享整理,希望带给大家更多启发。
点击可观看精彩圆桌对话视频
一、大数据项目的“冷与热”
和大数据技术的未来
1. 大数据技术发展遇到瓶颈了吗?
温铭:首先请问常雷老师,Apache基金会有非常多知名的大数据项目,像kafka、Hadoop、Flink等等,大家耳熟能详,Apache基金会最近有一个新闻:有十几个跟大数据相关的项目都退休了,有人质疑说像Hadoop和Apache这种大数据技术是不是遇到一些发展瓶颈?常雷老师在这方面有什么观点?
常雷:其实我觉得倒不是,因为Apache基金会项目管理的流程非常好,一个项目可能经历做了开源,想贡献给Apache基金孵化,到后来成为顶级项目,可能没有那么活跃或者是PMC或commiter已经不能正常做项目的发布这样一个过程。作为一个项目管理委员会,尤其是主席有责任在每个季度或者不定期地要给Apache交报告,如果这个报告交不上,可能证明了这个项目不太活跃,慢慢地经过PMC的投票它就可以退休。
这里面有些大数据相关的项目退休了,不是说大数据不行了,而是恰恰说明大数据之前非常火,当然现在也很火;以前是百花齐放,有些项目早期做了一段时间后可能有些其它功能已经替换了这个项目,或者是做这个的人不想做了。我觉得这是很正常的情况,就和一个人从出生到成长一模一样,这并不能表示大数据不行了或者是相关的其它项目也都不行了。
2. 大数据未来3-5年内的发展趋势如何?
温铭:其实我也觉得之所以大家觉得会有很多大数据项目退役了,就是因为它之前非常火,有非常多相关的开源项目。现在大数据领域百花齐放,有非常多的技术、新的开源项目,会造成一个问题:我们在企业里搭建一个大数据平台,那么它就会遇到非常多的组件像搭积木一样搭在一起,而且这些组件还可能会有经常的替代、变更,比较复杂,运维成本、使用成本也很高。所以我想问郭炜老师:大数据未来3-5年内的发展会是什么样的?是不停有项目冒出来,还是大家的选型都趋于一致?
郭炜:其实大家都想将来变成大数据云原生的平台就一个,要么腾讯、要么阿里、要么偶数,但我认为不太可能,特别是在未来大数据的发展趋势里。因为未来的大数据和过去的大数据不一样,过去的大数据大家都是收数、存数、放报表,满足最基本的需求,现在再做大数据分析的时候,它和最后一公里的应用场景结合得越来越紧密,像 ClickHouse 这样的社区突然间就火得不得了,其实是因为它解决了大家最后一公里的问题。但它只解决了部分的问题,比如我演讲中提到的几个场景:用户分析、画像;其实还有它也不擅长的,比如产品分析、进销存,以及很多的传统的ETL场景。所以我认为最后大数据的趋势不是组件变少,而是变多,可能存储在Hadoop或者Greenplum、偶数、云原生的平台上,越接近应用场景的地方会出现各种应用场景的数据库,这是未来的一个趋势。大数据的场景化会带来更丰富的项目,而且每一个项目都特别好地解决了场景问题,所以大家不得不用它,而不是只用一个东西,所有的全是一个平台,这比较理想化。
未来组件是很多的,每个组件在自己的位置发挥不同的作用,所以在座各位不用担心会失业,未来的事情肯定会越来越多。具体到对某个场景理解的程度、使用工具的程度会越来越强,当然工具之间的应用性,像支流科技做API,像Apache DolphinScheduler能调度数据库的组件我觉得将来也会繁荣,因为这些数据会越来越多,场景结合得越来越好,对于大家来讲,应用性也要做得越来越棒,这是未来的趋势。
温铭:明白,其实在大数据领域也没有一个东西可以解决所有的问题,我觉得这对于开发者是好事,因为开发者们可以学到非常多,而且职业发展也会非常有前途。
支流科技 CEO、腾讯云TVP 温铭
3. 数据湖解决了传统数仓的什么问题?未来发展如何?
温铭:数据湖是一个很火的概念,像我这种平时工作和大数据打交道不多的人,都经常会听到数据湖这个词,我们再来问一下陈龙老师,数据湖这个概念到底解决了传统的数据仓库的什么问题?未来几年它会朝哪个方向发展?
陈龙:我结合自己的实际经验在这里给大家分享一下数据湖。我个人理解,从数据湖比较官方的概念来看,就是一句话:数据湖是什么?它是一个集中式的存储,可以存储任意规模的结构化数据或者非结构化数据;还有一点,对这些任意的结构化数据或者非结构化数据可以不需要做任何的ETL转换,就可以运行多种多样的分析。这是它的基本概念。这句话怎么理解?非常简单,它没有约定我的产品形态是什么样的,我接下来再说它现在主流的两种产品形态。
我们再看传统数仓,传统数仓的缺陷有几点:第一个是SID,这里的SID我理解和数据库里的SID可能还不太一样,在大数据领域里的SID更多针对data这一层;在海量的数据中,比如某一个数据集,可以快速回滚,或者是回滚到某个时间点。第二个缺陷是历史数据的删除、更新以及精准去重,现阶段我们国家的法规发展,对于整个数据的合规要求越来越严,对历史数据的删除、更新以及精准去重的需求是非常强的;而现在的情况,要么是有些数仓支持不了,要么能支持,但它的代价非常之大。第三个缺陷是CDC,也就是对增量数据处理的问题,举一个非常常见的例子,我的数据库里要对某一个数据库进行变更,因为这个变更,我要对下游所有的数据进行更新,现在数仓其实是很难做到的。还有一个缺点是响应时间的问题,现在很难有数仓能做到——它能告诉我它的RT要求能够在毫秒到1秒之内完成,目前这个挑战是非常之大的。
再来看数据湖,目前市面上主流的两种数据湖产品形态,第一种是类似presto架构,它的原理就是通过各种各样的连接到各种数据源,先连接到Hive、数据库、Mongo DB,有一个统一的入口,通过这个入口来运行分析,查询各种各样异构的数据源。另外一种是刚Table Format OLAP引擎,这种数据湖的产品形态,需要将所有外部的数据全部转化成统一的格式,比如转化成统一的Table Format,这种Table Format再来适配各种计算引擎,比如presto,在这些计算引擎上运行各种各样的分析,这是我对数据湖的理解。
4. 如何平衡云厂商和开源社区、开源商业公司之间的关系?
温铭:在我这个外行看来数据湖会让未来更多的人可以用数据,而不是要成为这个行业的专家才可以去分析。最后一个问题是问海翔老师,首先,腾讯有20多个各种各样数据库的产品,这些数据库产品大部分是基于开源项目来开发的,腾讯会把自己维护的部分贡献给开源社区吗?其次,云厂商用了开源项目,怎么平衡云厂商和开源项目背后商业公司的关系?
李海翔:第一个问题,腾讯确实使用了很多开源项目,在业务当中开源项目对腾讯的业务有很大的帮助,但是腾讯秉持着开源开放的精神,把自己研发的很多东西也开源了,而且将来,在公司的内部治理和倡导之下会有更多产品走向开源。举个例子,比如我们的TDSQL,TDSQL本身是对外开源的,它基于开源产品,但它也对外开源;TDSQL不仅开源自己的代码,还在给开源社区不断地贡献自己的代码,比如我们曾经做过一个全时态数据库,就直接提交到了Oracle公司MySQL的官方社区。而且腾讯不只是做了这些工作,还在做更多的工作。TDSQL在做一些基础研究,包括事务处理,比如怎么做强一致、多级一致、数据异常的体系化研究等,并且已经开源了,这是基础理论和技术层面的开源。这表明,腾讯的开源是多方位多层次的。所以从这两个维度来看,不仅是产品开源,腾讯还在做基础技术研究的技术和思想的开源。从公司内部看,有很多或者更多的产品会更加开源,不只是TDSQL,会源源不断地开源更多的有价值的东西。腾讯在这方面是一个开放的公司,必定会有更多更好的产品贡献给社区,或者直接开源。
第二个问题,谈到开源产品和商业公司之间对于产品的互用关系,早前一些云厂商并没有把一些东西反馈、回馈到开源社区里,但实际上这不代表以后不会。我们现在也看到有很多云厂商在给社区做回馈,比如腾讯云就和Mongo DB已经签署了合作协议,给予社区一些支撑支持,这实际上是一个相辅相成的过程。过去可能我们的认知并没有到那个程度,做得少一些,但随着事情的推进,做得会越来越多,而且会形成一个良性互动的更好的互生模式,这个互生模式能够促进开源社区的发展,也能够促成利用开源的产品去做业务,推动公司向前发展。
腾讯云数据库专家工程师 李海翔
温铭:我知道腾讯其实有专门的开源办公室去做这种公司内部开源项目的孵化,对外腾讯也是Apache基金会的赞助商,而且还有自己的基金会,在开源上做了非常多的贡献,感谢几位老师的回答。
二、中国如何能诞生下一个“Snowflake”?
温铭:我们进入公共讨论环节,我会提几个问题,大家一起来讨论。第一个问题也是和大数据相关的话题——Snowflake。Snowflake在去年上市,就连对科技股完全不敏感的巴菲特都去投了Snowflake,可见大数据现在在全球有多么火,Snowflake在美国市值非常高,有几百亿美金,在中国大家觉得如果要诞生Snowflake这样的公司,需要一些什么条件?
常雷:这个问题问得很好,其实我就在做类似的事情。美国相对来说IT发展得稍微快一些,基础设施、IT投入比我们好一些,规范化、包括企业付费情况等都走在前面。所以要看美国的情况,再来对比中国,我认为中国大约在五年之后会达到相近的水平,五年之后中国可能有一批云原生相关的数据库公司上市。其实这也是偶数一直在做的事,我之前在外企,在EMC做数据仓库,也看到了云原生的机遇、云慢慢地在美国的兴起,所以我们团队出来做了偶数。这是我们的判断。
郭炜:我觉得首先确定的大趋势是云原生数据库,但是国内稍微要再慢一点,常雷说5年,我觉得5-10年。它会跟什么有关系?是跟国内现在的企业对于上云的接受程度有关,美国的阶段其实先是公有云的接受程度比较高,然后开始有公有云的云上数仓,我觉得现阶段中国的公有云还没有被超大规模的企业完全接受,而美国超大规模的企业,它觉得这对它来讲是ROI最高的。但其实国内腾讯、阿里等都在做大规模云的私有云部署,私有云部署现在还占国内主要的收入情况,所以Snowflake的商业模型核心价值点是在于它可以真的像水龙头一样,在你使用和查询的时候计费,不使用、不查询的时候不计费,给你提供特别方便的使用方法,而这个使用方法是建立在你必须要用公有云的情况下,才能够把资源充分调动好,否则它就收不到这个钱,私有化部署对它来说成本很高。所以我感觉云原生和整个云上数仓一定是大趋势,但是国内可能还要5-10年的时间,先让我们的企业对公有云本身建立信任,再出现基于公有云这种云上Snowflake的厂家,这是我的观点。
易观 CTO、腾讯云TVP 郭炜
陈龙:我的看法是,中国要诞生Snowflake这种企业,需要有三个条件:第一个叫基础环境或者说基础支撑,我们都知道Snowflake完全是基于公有云的一种架构,所以在中国,现阶段像腾讯云、阿里云的云基础设施已经慢慢趋于完善,这个条件是完全具备的。第二个是市场条件,目前的数据来看,中国企业用户上云的概率大概只有40%,和北美、欧洲还有非常大的差距,一方面表明在这个领域有巨大的市场空间,但是另外一方面,这部分上云的用户中其实使用云上PaaS产品的客户占比不高,但即便这样,这个市场条件也是基本成熟的,因为你开发的东西必须得有客户、能赚到钱才能生存下去,这是市场条件。第三个是技术条件,在目前,比如Hadoop进入到中国有十多年,而且在各大厂商,比如互联网各大厂商生根落地发芽,培养了大量的技术人才,这些人才去造一个Snowflake,我觉得是一点问题都没有的。
李海翔:我用几个词来概括。我觉得“路已经开始”,其实我们已经在行进当中,前行的努力已经经历了多年,我们不断学习,不断进步,不断积累,不断创新。但是,积累还不够。所以接着用第二个词来概括,“路还漫长”,这是需要过程的,就像刚才各位老师们说可能是3-5年,有可能5年以后,我们可能会有好的进步和发展。日积月累积跬步至千里,现在我们在整体层面处理积小流的阶段,但是这不代表我们没有希望。我个人认为这个进步和发展可以用第三个词来概括,“需要高潮”。什么含义?因为在国内现在有很多人都投身到这个行业事业当中,但是还没有看到一个标志性的事件出现,虽然我们看到Snowflake上市了,但这毕竟是在美国,而不是在中国,中国这条路怎么走下去?它需要一个标志性的事件来告诉我们说:“看这个事情是可行的,而且成功了!”所以我个人认为在未来的一段时间内我们会有一些标志性的事件出现,达到一个高潮,证明这个事情走得还是不错的。我们看见了这个希望,只是需要加倍努力达成。这是我的想法。
三、大数据领域的创新前瞻
温铭:谢谢几位的观点,其实美国除了Snowflake之外,DataBreaks很快又要上市了,估计又是一个高潮。在中国,我和常雷老师一样都在To B行业里创业,中国To B的土壤和美国其实很不一样,美国的很多用户已经接受了SaaS、接受了订阅,用户群非常广,也有很多中小用户;但在中国To B其实很多是在To政府、To金融,而且用户也不太愿意接受订阅的方式,我觉得前途是光明的,但是道路肯定会充满着各种曲折。
我们再看第二个问题,和技术相关,数据库和大数据未来肯定是非常重要的技术,能够判断出未来的技术朝哪个方向发展是非常重要的。我更感兴趣的是“能够更实时地把数据告诉我”的技术——比如实时计算,或者是能让我节约成本的技术,不知道各位老师觉得未来在大数据领域你最感兴趣的技术点有哪些?
常雷:我个人感觉实时是未来的趋势,以前传统的数据仓库等等基本上都是T 1的,现在实时的需求已经层出不穷了,这是为什么很多数据流包括处理引擎等等都开始涌现了,做得还很不错。但怎么跟数仓很好地结合、怎么把整个数据都变成实时的,我觉得还有提升空间。未来的方向,整个的数据处理体系还会有进一步的进化,实时 批量,结构化、非结构化等等,这是我的观点。
郭炜:我觉得其实还有挺多的趋势,比如刚才常雷提到的云原生,大家也都在说。我觉得5年左右现在的这些大数据组件都会被颠覆,因为云来了,虽然5-10年它才能有商业结果,但未来5年大家现在在用的这些大数据组件可能都面临着怎么变到混合云、云原生、公有云、私有云底下,哪怕是私有云最后也要变成云原生,因为存算分离;包括云的调度,是5年内就会遇到的趋势。
我个人感兴趣的会更往前一步:比如我们的算法怎么能把GPU用起来,因为大家知道最近芯片陷入危机,但其实GPU还是遵循着摩尔定律在往前跑,CPU现在不行了,只有GPU算力在往前跑,怎么能利用好这样的算力去做好大数据服务,我觉得这个事挺有意思的。这两天跟几个科学家聊,他们在看下一代的光子计算,得保证摩尔定律再往前跑,我挺感兴趣的,因为这些方向可能10年左右才会实现商业成熟,但是现在去研究、去布局,就很有意思。所以5年内大家好好地看云原生、云原生的大数据组件,因为大数据组件过去都是预分配的Hadoop,现在不是了,怎么办?5年内研究这个,5年后看看GPU怎么做大数据,CPU遇到问题的时候,将来有没有更先进的一些底层技术能把这些问题解决掉。
陈龙:我从技术方面分享一下自己的看法。整个大数据基础进化的方向,它的数据更加实时,所以现在业界对整个流计算的投入非常大,我觉得未来在两个点上是比较清晰的:第一个点是针对实时场景的存储系统。现在家用电器或是各种工业上用的传感器,或者像车联网,它时时刻刻都在上报数据,这些数据到了云之后需要怎么做?第一就是要存储它,所以我觉得这可能是一个比较大的机会,现在业界可能有一些解决方案,但我觉得这些解决方案都不太好,特别是像常见的技术,它的稳定性、各方面性能和真正我们想要的云原生还存在很大的差距。第二点是云原生实时数据分析引擎,如果它能够真正做到支持SID,很好地解决增删改查的问题,同时能够提供根据成本获得性能的方式,这种OLAP引擎未来是一个方向,比如我花10块钱可能是10分钟,那花1000块钱比如是300毫秒,这是我个人的看法。
腾讯云弹性MapReduce技术负责人 陈龙
李海翔:有一句话是这么说的:因为相信,所以看见。但我更想表达的是这样一句话:因为看见,所以相信。我想说的是在未来的技术中,会有很多需求在推动着技术进步,这是一个因素;但是,貌似在传统的领域中也会有一些基础技术有创新的机会,这个创新的机会是值得我们去研究、去做的。举个例子,我们都熟悉事务的ACID,其中C是一致性。但是,一致性在数据库里目前为止都没有一个明确的定义,比如教科书一般会讲:一致性是什么?数据库只要不违背完整性约束,那么就叫一致。但是James Gray的一篇论文里对一致性提出了另一个定义——类似于隔离级别,把一致性分成四个层次,这四个层次每一个层次要消除一定的数据异常,加了一些附属条件,怎么去消除那个数据异常,才叫一致性(Degree 0 to degree 3)。过往,一些基础的东西实际上并没有很明确的说法,而我认为现在存在对这些东西重新做一遍研究的机会,研究的结果有可能会推动该领域基础理论的进步,这是我能看到的在未来技术的发展过程当中有可能会产生的一些创新。我在上午的分享时候说:中国很大,大到用百花齐放、万马奔腾这样的词都不足以形容,它能大到有很多东西其实已经露出了苗头,而实际上并不被多数人看到;但这并不等于苗头不存在,未来技术在中国这个巨大的应用场景的推动下会前进,但是也有一些基础的技术理论会发芽、进步、演化,一定会有中国原创的新的东西出来。
举个例子说:我们尝试在事务处理的一致性、数据异常做些基础工作。其中一项工作就是重新定义一致性。一致性这个概念在数据异常的体系之下被定义得特别简单,不到十个字就可以描述它——“一致性=无数据异常”。不到十个字,如果换成数学符号只要九个字:一致性=无数据异常,一个复杂概念就这么简单的、形象化地被定义出来。这样地工作,是我们自己的创新工作。但举这个例子,我更想表达的是因为我们看到了创新这一层,也相信在我们国家这块土地上会产生出很多的原创性技术。(应用需求驱动和原生原创)两个方面的东西,二者结合,将来会更多地推动技术进步,产生新的东西。为什么这么说?用刚才所举地例子观察,数据异常定义了一致性后,这个概念技术还会推动什么?它可以创新定义隔离级别、创新改进所有的并发访问控制算法,对于我们做数据库的来说,数据库里所有的并发访问控制算法都可以重新做一次,以前的那些数据库有可能会走入历史,新的技术有希望进入新的产品当中,促使技术发展和社会取得进步。
四、数据开发者在未来如何领跑时代?
温铭:我觉得这个时代对于大数据工程师来说是一个非常好的时代,因为中国人口基数非常大,数字化转型非常快,而且也有非常大量的数据技术供大家挖掘。最后一个问题,可能是在座的数据开发工程师很关心的一个问题,现在在大数据上其实有非常多的职业选择,从前端的数据可视化,到各种类似于消息中间件,再到后面的数据库、大数据分析系统,可以深造深挖的点非常多,在职业规划上大家对数据行业从业者们有什么建议?
李海翔:实在是不敢提出建议,我自己工作了20多年,只能说由自己的感受,绝对不能说是建议。专注,一直在这个行业里面,在自己喜欢的一个行业或者是方向里做下去,时间久了自然而然地会产生出一些东西(当然还需要努力哈)。
陈龙:我个人的想法是,大数据领域要划分方向的话,有三个方向可以规划:第一个是内核方向,比如有分布式存储、分布式计算或者计算引擎、分布式一致性这一块,偏底层技术的方向可以去做,但是在这一层我建议云厂商或者是一些专门从事这种基础软件开发的厂商来做会更好。第二个方向是既要了解云产品,也要了解公司业务,我个人觉得叫数据架构师更为适合,相当于你要充分了解云厂商的一些产品,充分了解自己公司的业务,根据自己公司的业务去规划或使用那些工具和产品来解决问题,这也是非常专业的问题,不是那么容易能解决好的。第三个是数据科学家,真正利用一些机器学习或者算法,通过底层支撑的能力挖掘数据之间的关系,进而实现通过数据给企业带来价值。我觉得企业成功,个人才能成功。
郭炜:我觉得未来做数据的小伙伴要变成一种龙式的新型工程师和技术人员,为什么是龙式的工程师?龙是鹿的角、马的脸、鸡的爪子、蛇的身体;因为现在做数据和十几年前不一样,现在数据、业务甚至和场景结合越来越紧密,如果不懂业务,可能SQL写得都不对,算法也写不出来,和做自己的数据处理不一样,现在一个数据工程师只懂Flink很难能做一辈子,你至少得懂好几个组件。未来的组件一定会百花齐放、和场景深度结合,那怎么能了解那些组件、业务?要不断地去学习,扩展自己的知识边界,我一直认为将来的数据工程师必须要结合数据分析师、数据工程师、产品经理甚至半个运营,才能做一个成功的数据开发人员。你得拓展自己的知识边界,再加上自己主营的某一种技术,才能成为真正的面向未来的数据工程师,而不像过去大家就只编程,再过一段时间发现你现在会这个程序,比你晚毕业五年的小伙伴很快也能学会,那你的价值在哪儿?你的价值在于更了解场景、更有经验、懂得更多,你得八面玲珑,有自己的业务,同时对分析、产品、运营等等都要懂才行。所以我建议大家多学习,不要看到某一个技术就不看别的了,这是不行的。
常雷:我觉得中国现在比较缺的是底层的内核开发人才。我发现很多人都是在用一些开源软件或是现有的产品,很多人虽然会用,但其实对原理不清楚。如果你内核代码看得很熟,就能够很好地来做一些内核的开发工作,我觉得这是很好的一个职业。因为现在随着中国数据产业的蓬勃发展,这里面的人才缺口是非常大的,不用担心年纪的问题,因为内核这个东西是需要沉淀的,没有十几年的功夫你想开发出很好的内核是很难的,非常熟悉分布式、查询优化等内核技术原理的人不多,这方面的付出可以得到很好的回报。
偶数科技 CEO、腾讯云TVP 常雷
温铭:前面几个老师讲得都非常好,我再补充两点:第一是大家可以多参加 Techo TVP 开发者峰会这类活动,可以看一下业界在使用哪些技术,这种技术上的交流和探讨会比你埋头在公司里干一个业务带来更大的价值。第二个是常雷老师刚才说的做基础的东西会非常有价值,台上的五位老师,年纪应该都超过35岁,都还在写代码,你可以看到和数据相关的领域是很有前途的,因为我们可以在上面做的很深、很精,做出一些不仅能给自己公司、自己业务带来价值的东西,也能给其他的公司甚至给全世界的整个数据库、数据领域带来进步的一些产品。我觉得这是非常有价值的领域,也值得大家深入去做。
点击观看峰会的精彩总结视频?
关注腾讯云开发者社区,回复关键词:“数据”,可获取峰会当天全程回顾视频链接
6月5日,Techo TVP 开发者峰会 ServerlessDays China 2021,即将重磅来袭!
扫码立即参会赢好礼?