当前位置:主页 > 科技 >

刘业辉: 面向服务的大数据平台实践
   发布日期:2017-09-27 18:29    来源:网络整理

9月5-6日,主题为“万物互联,聚变未来”的GIEC2017全球互联网经济大会在北京国际会议中心盛大开幕,大会吸引到腾讯、平安、百度、阿里、360、北京电子商务中心区、华夏幸福、通州商务园、易车、联通等近百家企业和机构参与到大会各个环节。9月6日上午,以“DT时代的数字化创新”的大数据峰会同期召开,京东AI 与大数据—数据平台部数据仓库负责人刘业辉进行了演讲主题,演讲题目为: 面向服务的大数据平台实践

刘业辉: 面向服务的大数据平台实践

(京东AI 与大数据—数据平台部数据仓库负责人刘业辉)

以下为刘业辉演讲的部分内容:

大家早晨好,我演讲的主题是“面向服务的大数据平台实践”,通过大数据的技术还改变金融产品的数据使用和方式。

我们大数据平台服务化面临的问题,各个公司在做的时候还好,我自己研发人员也比较少,业务比较少的时候,这是一个不需要太多考虑的问题。之后面临的问题都是无数倍的放大,这就是我们搜集了用户在使用大数据时的一些需求,有的人说,需要一个计算资源独立性互相间不影响,另外一个人说,计算资源需要共享的时候可以达到很高的使用效率,这样就有足够的成本,有的人说存储需要共享,有的人说安全特性要追踪。我们整个的数据使用的流程很长,有的人会需要跑这个算法,另外一个人说需要第三个版本,我们搜集了很多这样的需求,我们发现当这个公司足够大的时候,互联网公司足够成熟的时候有两方面声音,一方面说更安全、资源效率更高,另外一方面是互联网的声音,我需要更快。

刘业辉: 面向服务的大数据平台实践

我们对这个需求进行了一个抽象层面的汇总,整个大数据来说,对于整体来讲,大概有6个方面的核心需求,只要满足这6个方面的核心需求,既可以提供这个大公司的大数据使用,同时也能提供在大公司层面下面各个部门更快速的去发展企业协同应用,围绕大数据需要信息的共享,所有数据之间要进行共享,这是在安全前提下。

第二是资源的分配,这是各个部门之间,子公司之间需要做到的一些分配,他们之间互不影响。

第三是计算灵活,平台很大,不可能提供互联网所有的技术方案,毕竟是有限的,这个时候提供什么样灵活的大数据计算,才能满足针对几百、上千人研发团队的应用。

第四安全保障,这更多的是围绕我们这个体系下面安全架构的实践。

第五是技术使用。

第六是时效保障,这是未来的一个发展方向。

我们提出了四个解决方案,来解决以上的六个核心需求。

刘业辉: 面向服务的大数据平台实践

第一个是存储与元数据,我们使用了京东自己研发的HDFS,同时作为最基础的存储,另外一个研发是Alluxio现有缓存的基础。后面是共享元数据,这也是我们自己针对不同的需求来说,最后发现大家其实除了数据的交换以外,这一点也非常重要,不同的部门,元数据的交换也是在这里面做了特殊的应用。

第二个是计算与资源,资源统一调度,CPU、内存、GPU资源管理,以及其他技术资源的调动,环境的隔离技术,更多的实现个性化应用,用的这个技术整个中国没有几个人知道,需要给你提供这样的环境。

第三个是大数据认证,把我们这个平台联系起来,将所有的京东使用数据需要大数据的认证,包括培训、对数据使用的基础能力的培养,很快的扩充我们京东大数据研发的工作,一个月可以培训出500人左右研发数据的规模。

第四个是实时与效率,现在在做这个,未来也会持续,我们的技术上问题不是特别大,但是真正落地的时候,一个时效性包括对于实时信息的获取,未来怎么更简便的让大家使用实时的数据,这是我们通过实时数据计算、京东实时数据仓库。

刘业辉: 面向服务的大数据平台实践

这是京东大数据指标,现有存量数据量在400P+,离线日处理30P+,日运作作业数有100万+的规模,这个用户数不是前面看到的某种数据,因为那个可能是几十万,我们这个用户数在京东内部能够使用大数据平台做研发的人员数量,已经达到了5000+的水平,而且每个月都有四五百的增量,日增量大概有500TB,这个增量数据我们会把老数据清掉。

我们整个架构是这样,我们最底层的数据分为结构化、非结构化的数据,这两种数据通过数据直通车京东的数据产品,进入到两个维度,一个是一线的维度,另外一个是实时总线,上面有一个资源管理,资源管理之上有很多的计算的报价,MR这样的计算框架,这是面向应用查询的过程,之后是各个数据产品,再往上是研发和平台应用流程,负责对研发用户的推广,包括研发用户的信息收集,另外一批是应用与研发,做一些销量预测、库存优化。

我先讲一下京东统一存储与计算资源解决方案,这是我们一个简单的数据存储架构,底层有一些一线的数据,通过一线的术语放到HDFS,这期间有一个数据交互,我的数据分享给你,这数据进来之后可以通过分享直接分享到其他的用户来使用。这之上有一个Alluxio的应用,这是为了减少更多的计算时效性。另外是实时总线,作为一个数据的积累,进到HDFS有一个趋势的计算。

我们在使用Alluxio之外的情况,根据官网数,在特定情况下快了将近百倍,我们在这个基础上又加了Presto,在这个层面上来说,我们的速度比原生的Presto快大概10倍,这是我们拿的1096项不同的应用场景计算。

同时我们对Alluxio的改造,出问题的概率比原生的小很多,我们做了一个无缝对接,客户用的时候会感知,如果Alluxio出现了问题,我们会做一个补充。在这里也是MR,尽量的将网络带宽降到比较低的程度,我们的性能就会提高很大,因为网络带宽资源总体来说也是大数据的瓶颈。增强Alluxio读取容错性,定制表级别查询策略,我们把这个表和数据、存储之间相互之间打通了。

我们来做整个平台技术的时候,A说今天要用一个Phthon3.0,我们只提供phthon2.7,对于A来说没法做这个事情,如果对于A来说按照需求来上,我这整个都会乱掉,后面的运维都会有一个很大的成本,这里面都有应用和平台方的沟通,一个大公司来说是一个很大的问题。我们现有的架构,把所有的技术平台按照用户的需求进行封装,统一进行管理,获得用户他自己想要的环境,我们做到在用户界面来说,无论有什么样的需求都可以来使用我们的大数据,这样一个情况。非常灵活,我们可以支持京东很多部门,起到了很大的作用,因为所有的需求都可以满足。

大数据有一个新的追求,原来离线已经问题不大了,这还是我们现有的瓶颈,我们从离线到实时相当于提升了效率,我们原有的实时架构也有差异,我们通过一个数据呈现的方式,通过实时计算来响应用户的需求。这个里面还面临三个巨大的挑战,一个是对于数据研发来说,它的成本特别高,高到什么程度,×20倍,工期也是×20倍,资源消耗也是×20倍,我们就被压制在离线和实时之间了。

我们京东在四年之后,通过这个问题,我们发现要怎么解决这个问题?能让用户快速的去使用,最好利用离线这套架构直接跑,我们当时设立了这样一个项目,代号是水库,我们设计的需求,最好5分钟以内,我们平台大部分的架构,Presto十分钟或者五分钟以内,原来开发一周的时间,去开发的这样一个需求,降低资源消耗,我们不用的时候不去产生这样的资源消耗。我需要及时做出一些判断,有的时候是临时需求。

我们这个项目做完之后完成这个级别,动态扩展大概10秒以内可以做到,数据延时情况,现在做到10秒以内,延迟已经非常低了,我们在不同框架下用老的离线的对比,大概在120%左右的情况,我们计算的时效性。基本上在整个大数据的应用,它的效果近年来与各个公司基本一致。

这是我们的核心数据,我们把这些存量数据、元数据能够存储,作为底层的设计方案。我们写和读两个具体的流程,包括我们多线读入,以及还原读取这样的功能。

如果想要进一步了解或者进一步与我们沟通,想要加入我们的都可以加一下我的微信公众号。谢谢。