返回 登录
0

Alluxio李浩源:如何融合数据与内存速度

10月28日上午,“2016易观A10大数据应用峰会”主论坛《大数据基础框架设计——实时分析技术平台洞察与实践》,Alluxio创始人兼CEO李浩源受邀出席,并发表了“如何融合数据以内存的速度”的主题演讲。

图片描述

对于为什么要选择Alluxio,李浩源表示:第一,使得不同的数据中心的数据拥有内存级别的访问速度;第二,把不同存储数据虚拟化;第三,Scale-out架构;第四,目前主要提供的是文件系统API。

而Alluxio 的特性在于:有新的数据源,可以很容易融合到Alluxio,使上层框架可以专注高效计算的创新,使下层框架可以专注更高效的存储;性能:以内存为核心的架构;方便:计算和存储可伸缩。

以下是李浩源演讲实录


李浩源:大家好!很高兴再次回到北京。

我今天演讲的题目是如何融合数据与内存的速度,我是Alluxio的CEO李浩源。

简单介绍一下Alluxio,我在四年前在UC Berkeley AMPLab读博士期间创造了这个项目。为什么做这个项目呢?2013年,AMPLab做下一代大数据处理架构平台Berkeley Data Analytics Stack (BDAS),在2013年BDAS中有两个部件已经在工业界有一定的影响力,并且已经开始慢慢的被更多的企业所采用,其中一个是数据处理引擎Spark,另外一个是数据中心的资源管理平台Mesos。但是当时整个架构中缺乏一个存储层的解决方案,这是我们当时做项目的初衷。2012年末,我写出了Alluxio的第一版,当时叫做Tachyon。第二年, 我们开源了Alluxio,使用Apache License 2.0。 2015年我们成立了公司,同时拿到了A16Z的A轮投资。我们这个项目是一个开源项目,既然是开源项目就要谈到开源项目的增长。

我们开源大数据生态系统中成长最快的项目,在三年的开源历史中,这个图显示是300多人,目前是有400多人贡献者在社区里,我这里诚挚邀请对开源社区贡献有兴趣的朋友加入到开源社区里,无论是应用还是开发我们都欢迎。我们这个项目是以内存的速度融合数据,有很多不同的应用场景,大数据就是其中之一。如果我们以大数据角度看这个问题首先来看大数据生态系统的演变历史,目前的生态环境中有什么问题,在这个演变历史中Alluxio解决什么问题,以及为整个生态系统带来什么价值。十年前Google当时提出了两篇论文, GFS和MapReduce,之后业界其他公司一起创建了Hadoop这套系统,当时的生态系统非常简单,只有两个部件,分别负责计算和存储。随着过去十年的高速发展,最主要的体现是不同的企业和机构他们收集以及存储越来越多的数据,在收集和存储越来越多数据的同时,他们也希望对这些数据做分析以带来价值。

从此带来的影响是什么呢?由于需要存储更多的数据,吸引了很多的存储厂商,比如在美国有Google、亚马逊或者微软,在国内有阿里巴巴、华为、百度等等,同时传统的存储厂商也越来越大力的投入以及挺入大数据存储市场,比如EMC、IBM、HPE,这些公司在这个市场都加大投入,这些对业界的影响是什么呢?在存储角度来看,我们的客户有更多的选择,目前在市场来看,大约有多于30种不同的存储方案,很多流行的存储方案都是来自巨型的公司在进行背书。从计算层角度看这个问题,随着发展,有很多很多计算框架,国内有非常著名的麒麟,是计算框架中非常流行的一种,计算框架有通用的计算框架,比如Spark,以及各种各样的计算框架,大约目前来看在业界中有比较重要的市场份额,或者是营业额的计算框架大约30多种,这是我们业界非常好的一个进展,对我们客户来讲带来了很多各种各样的选择。

但进展的同时我们又有各种各样的问题,其中最重要的一个问题是整个生态系统变得非常复杂,导致我们的客户,特别是企业级客户,如何来高效的简易的使用各种各样的方案,在一个型数据中心,或者是跨数据中心的平台中有效使用不同的解决方案,是非常困难的一个问题。与此同时,由于各种各样的存储,这里的存储并不一定是为这种分析所设计的方案,所以很多时候性能很差。

从大数据角度讲,在这个大背景下我们引入了Alluxio系统,把数据在不同存储中进行融合,以内存的速度提供给上层平台。举一个例子,从客户角度来讲,比如说你可以用Spark,或者是麒麟,各种各样的计算框架,使用不同计算框架的同时,把Alluxio和这些计算框架在同样的计算中心一起部署,如何来访问数据,如何来移动数据,如何高效把数据放在该放的地方,提供最快速的IO给上层。你可以类比成什么呢?比如五年、十年前,当你还用PC的时候,在你的PC系统你可能有SSD或者HDD,可以是不同厂商生产,在这种情况下,更复杂的情况,你可能还有不同的NFS,你的远处文件系统,比如NFS可能是微软提供,也可能是其他提供的,但无论你用什么样底层基础,对客户来讲非常简单,你看到的只不过是文件夹。我们Alluxio所做的事情就是在一个数据中心环境中,或者是跨数据中心环境中,无论你是私有云、公有云还是混合云部署,你都可以把所有存储看成Alluxio里的文件夹。比如你可以把亚马逊的S3,或者阿里巴巴的OSS放在Alluxio文件夹使用,非常简易,这是我们Alluxio提供的一个功能。

一句话讲,Alluxio做的事情可以让不同的计算框架以及不同的应用不需要修改它的代码的情况下,可以很容易很高效并且高速地访问不同数据源中的数据。

我们讲一下为什么大家用Alluxio,它不同的地方是什么。第一点,在目前这个时代有数据和存储在一起,有数据和存储分离,也有数据既在一起又分离的情况,但无论如何,从Alluxio部署角度来讲,我们永远是跟计算在一起的,但是我们同时又智能化的来移动数据,来保证短期最近的数据是在离计算最近的地方,保证最高效的访问。比如刚才郭总提到数据的时效性,在Alluxio部署里面很好的体现了这一点,我们有一个在财富排行榜中排前十名的客户,这家客户使用Alluxio,把他最热的数据放在Alluxio里面,对他的数据分析带来了5倍提升。

第二点,把不同存储数据虚拟化,从客户角度来讲,如果把这些数据虚拟化带来了未来架构的保障,在未来架构中,如果用Alluxio在中间,底层现在用一个系统,将来你可以很容易的把底层换成一个更为高效的系统B,从这个角度讲我们有非常大的优势在里面,并且我们有一些银行客户目前是这么一个使用方式。

第三点,我们是一个Scale-out架构,优势是Alluxio可以部署在5台机器、50台机器、或者5000台机器上,Alluxio都可以有很高效的性能提升。

最后一点,目前Alluxio主要提供的是文件系统API,全软件解决方案,部署Alluxio不需要额外配置多余的硬件,你可以在现有环境中直接部署,可以为客户直接带来很多价值,同时没有硬件额外的开销。

下面讲一下Alluxio给我们用户带来的价值是什么。第一是融合,无论你是有新的数据,数据源,或者是有新的计算,你可以很容易的融合到这个平台。在伯克利我的导师之一Ion Stoica,他是这么评价Alluxio的。他说Alluxio对于存储来讲就类似于在互联网架构中IP这一层对于互联网的影响。什么意思呢?IP作为互联网架构中的一个中间的Narrow Wrist,起来的效果是可以让上层和下层更加高速的独立创新,上层创新的时候不需要关心下层所带来的问题。Alluxio起到一样的功能,把Alluxio放在中间,从上层厂商角度讲,和Alluxio融合后不需要花费精力不同的存储进行融合,从而把他的精力更多使用在如何使计算框架变得更加高效。与此同时,Alluxio对下层产生一样的效果,对于存储厂商,和Alluxio融合后,Alluxio和可以使得很多新的解决方案构建在存储平台上,存储厂商不需要快速跟进新的解决方案,从而把更大的精力花在如何让他的存储平台更为有效,更为高效,节省客户的开销 。

第二个好处是性能,性能角度来讲,由于Alluxio是内存为核心的架构,并且我们的部署方式和很多计算平台在一起,所以在使用Alluxio情况下,用户很多情况下看到成倍的性能增长。我们一会儿有几个具体的案例和大家分享。

最后一点是灵活,在使用Alluxio的情况下,无论增长存储容量,或者是计算能力,用户可以独立的让它们增长。在这个情况下一个直接的价值是节省整个架构对 公司,或者是机构带来的开销 。

Alluxio在全球有很多部署和合作伙伴,这里只是其中一小部分,有全球的互联网厂商,比如百度、Google,从大的IT厂商,比如IBM或者华为,一个半月前在上海我们宣布了和华为联合解决方案的推出。再比如原子碰撞中心、欧洲的CERN在使用Alluxio,美国的地理信息公司, ESRI在使用Alluxio,欧洲的电信运营商Swisscom也在用Alluxio。

在这个分享中,我们详细讲解了三个部署,一个是百度,一个是欧洲第二大商业银行BARCLAYS,最后是国内的去哪儿网。

百度这个部署案例中使用Alluxio来加速远程数据IO,在具体部署中Alluxio上层使用的是Spark,Alluxio下层使用的是百度自己的文件系统,这个系统在产品线中已跑了两年,有200个节点部署,Alluxio管理了大概2PB数据空间。我们使用Alluxio层级化存储管理,具体案例中百度的产品经理以及分析师每天对这个系统做查询,可以实时有效的为他们产品未来设计以及商业决定做出分析。百度的架构师写了一篇非常详细的架构分析,对比使用Alluxio前后,他们发现使用Alluxio对他们产品的解决方案带来5倍-30倍的性能提升,与此同时,从根本上改变了这个解决方案用户对于整个数据交互的使用方式。

第二个是BARCLAYS解决方案,BARCLAYS用Alluxio在不同的应用之间高效的分享数据。Barclays把Teradata中数据拿出来放在Alluxio中,用Spark对Alluxio数据进行查询和实时的机器学习,机器学习结果给风险分析部门使用,让他们更有效更快速的把新的结果应用在风险分析中。这和郭总讲的金融机构使用的案例大致讲是一样的。BARCLAYS这个部门的首席架构师对这个方案写了一个特别详细的架构分析,在架构分析中讲解了他们的结果,原来由于在数据挪出要做ETL,目前把数据放在Alluxio里面,可以在不同Spark分析之中很容易的进行数据共享,导致了他的数据分析结果从小时级变成了秒级,这是对他们的一个质的飞跃。

另外还有一个非常有意思的点,如果台下有公司在欧洲有业务的话,欧洲数据保护法案非常严格,Alluxio可以满足以前不能被数据保护的法案,有法规规定不可以把数据放到任何磁盘形式的系统之中,从这个角度来讲,可以用Alluxio满足欧洲产业对数据管理规定。我们跟一些其他的公司合作,他们在欧洲有数据分析需求,有类似的情况。

最后是去哪儿的案例。去哪儿用Alluxio来管理不同存储中混合系统架构,管理两个系统,HDFS和Ceph,中的数据,Alluxio上层同时使用Spark Streaming和Flink做实时的机器分析,分析结果可以用来做他网站的广告推荐,就像郭总开始讲的,如果你买了一个手机,你之后不应该展现其他的手机广告,而是应该展现手机配件广告。把这个系统变成实时系统对他们的业务会有极大的提升。与此同时,他们产品线现在有一年多时间了,他们非常喜欢融合的概念,可以在不同的系统中读数据,与此同时,在性能上也有很大的提升。

最后讲一下昨天我们的一个产品发布,TechCrunch和Forbes都做了报道。首先Alluxio社区版,包括开源Alluxio以及Alluxio Manager,它的价值是使Alluxio更加简单的部署使用以及监测,社区版可以免费下载使用。与此同时,为了满足我们在企业客户,特别是世界500强,或者是全球2000客户的需求,我们也提出了Alluxio企业版,企业版中有更多的企业级功能,比如安全,数据多备份等等,与此同时,Alluxio公司还对Alluxio企业版客户提供企业级的支持保障。希望这些产品可以满足不同客户级别的需求,从而使得更多公司机构可以得到Alluxio技术所带来的价值。

我今天的演讲就到这里,谢谢大家。

评论