本报道根据LinkedIn工程经理Hien Luu在ArchSummit深圳2015的主题演讲内容整理而成。该主题演讲《大数据趋势》从三个层面分享了Hien对于大数据行业发展的观察与理解,分别是:
- 数据技术在业务需求——无论是生活还是商政方面——在近年来的巨大变化
- 现代数据技术的重要里程碑
- 数据技术以及它们在解决业务需求的时候正在面临的挑战,以及未来的一些可能出现的趋势
嘉宾简介
Hien Luu,目前在LinkedIn领导团队构建大数据应用及基础设施,负责细分与定位平台、工作流与调度系统。有20余年工作经验,Apache Pig项目贡献者。在大数据应用与基于Web的可扩展应用领域拥有丰富的设计与构建经验。在大数据、Web应用框架、云计算、RESTful Web服务和加密等领域都有很丰富的经验。作为软件工程师和技术领导交付了很多成功的软件。热爱构建可伸缩、高可用的系统。
世界对数据技术的需求
当前,全球每日产生的数据量大约为1.5 EB。目前全球所有的数据里,有90%都是在过去两年内生成的;而且在未来,预计每两年的数据量都会翻倍增长。
1.5 EB是个什么概念?10 TB大约是国会图书馆内所有3700万藏书的信息量;1 PB是1000 TB,50 PB大约是全人类有史以来所有书写内容的信息量;1 EB是1000 PB,5 EB大约是全人类有史以来所有说过的话语的信息量。现在整个互联网的信息量大约是YB级,就是EB之上的ZB之上的一个数量级,现在像是NSA那种规模的数据中心能够容纳这个数量级的数据。
这些数据都是哪儿来的?Facebook现在是300 PB的量级,Amazon大约是EB级,Google大约是10 EB级,而这些数据都是来自我们每一个人的贡献。而现在所被频繁讨论的物联网,则每一个物品都有一个独特的识别,它们将会数量庞大,以更快的速度制造更多的数据。比如,Google自动驾驶汽车不间断的从激光感应器、雷达、方位感应器等传感器收集数据并进行实时处理,每辆车收集的数据量达到每秒1GB。GE的飞机引擎,每一个引擎平均在一次飞行中就会产生1TB的数据,而一个引擎每年能消耗价值2000亿美金的燃油。而对于GE这样庞大的企业,即使是1%的燃油节省、1%的效率提升,都意味着巨大的节省。
数据就是21世纪的原油,需要加工才能产生价值。我们用数据做什么?怎样带来价值?目前常见的大概有五个方向:预测,推荐,问题识别,个性化,以及参考。预测,尤其是近期预测,以Google Flu Trends为代表,结合历史数据推断近期是否会爆发流感。内容推荐,以Netflix为代表,他们当时为电影评分推荐引擎专门设置了一个奖项。问题识别,如城市堵车问题,有一家叫做Inrix的公司在37个国家提供实时交通信息。个性化,以LinkedIn的Economic Graph为代表。公共参考这一块,我很欣赏的一个非盈利组织DataKind做得很不错,他们在全球很多国家都提供数据点,涉及饥饿问题、气候问题等。另外美国政府在数据这方面也有很大投入,他们聘请了DJ Patil作为首席数据科学家,也建立了data.gov网站公布很多政务信息。
现代数据技术的重要里程碑
大数据时代可以说是从2003年Google两篇论文的公布开始的,一篇是Google File System,另一篇则是MapReduce。这两个方面的研究都是为了解决Google在搜索和索引当中遇到的数据问题,后来促生了2006年Hadoop的诞生。
Hadoop最大的特点就是数据处理的民主化(分布决策),对于部分系统失效的情况能够较好的处理。喜欢上Hadoop的开发者们很快就在Hadoop的基础上创建了新的抽象层,如Hive和Cascading等,不过Hadoop 1.0仍然有很多局限性,最大的两个局限性就是扩展性问题和资源配置的效率问题。这两个问题到了Hadoop 2.0就好了很多。
Hadoop只是一个框架,提供了数据处理能力,而用户需要的是解决方案。在用户需求的推动下,又促生了诸如Hortonworks这样的公司。
2010年,AMPlab推出的Spark又带来了重大的改变。其有三个特点最令人兴奋,一是速度(内存计算),二是通用性(是一个支持各种数据类型的通用引擎),三是易用性(API容易上手且提供多个流行语言的版本)。
对于Spark的性能,2014年有一次基准测试的数据,100TB的数据在23分钟内完成处理,比Hadoop要快数倍。而且在资源使用方面,更是只有Hadoop的十分之一(206 vs 2100)。
将这些框架和能力做成解决方案,如何做得灵活又能够容错,就是一个系统架构的问题了。现在一个架构模式是Lambda架构,其中有三个设计原则,一个就是能够对人类的错误进行容错(因为是人总会犯错),让人类的错误不会造成数据破坏、数据丢失,第二个是数据的不变性,三是保留原始的数据,以后可以再进行其他的处理计算。
Lambda架构包括三部分。数据来的时候会送到Speed Layer,下面是Batch Layer,再往下是Service Layer用于服务Batch Layer。
数据技术正在面临的挑战以及未来可能的趋势
一个挑战是把不同来源的数据进行更高效的整合。一个挑战是缺乏分析的技能,因为这个领域目前还缺乏人才,预计到2018年数据科学家的缺口会达到150万,但是越来越多的大学已经在提供这方面的硕士课程。另一个是数据在刚刚被制造出来的时候是更有价值的,即实时数据的价值高于历史数据,所以快速处理数据的能力也是一个挑战,不仅要快、要高效率,还要支持大规模。
其他的挑战还有文化方面的,要在公司内部建立数据驱动的文化,存储、收集、分析数据的文化。
还有一个趋势是数据科学即服务。其实现在已经有一些,比如Amazon Maching Learning Service,Google Prediction API等等,但能做的事情还很有限,这里的难度还是很高的。
下一个大数据的创新是Prediction Phase,机器学习将无所不在。数据越来越多,机器学习的效果就越好,会逐渐的提升。
【完】