包括以下四个方面内容:
第一,大数据计算的背景和问题
第二,介绍Hadoop这个软件是一个什么样的东西
第三,我们在这方面做的一些工作
第四,实际应用案例
大数据计算我们把它理解成为一个什么事情呢?目前现在这个时代通信、网络等等这些电子信息技术发展,使数据规模得到了极大的增加。刚才蒋先生也提到了2011年整个全球产生的数据量达到1.8ZT,这样的数据量为传统的处理数据的技术提出了挑战。传统的技术处理不了这样规模大的数据量。所以现在提到了,企业里怎么样才能把数据变成价值?以前我们都说叫业务为王,现在这个时代,我认为它已经转换到了以数据为王的时代。这儿有一个例子,如果我们要处理100TB的数据,如果用一台机器处理的话,假设每秒钟扫描50兆,需要35000分钟,用1000台机器干这个事可以缩到35分钟,这说明这么大的数据只能用多机分布并行的方式处理才能够把时间大大的缩短。在应用领域,比如说数据仓库、日志分析、用户行为分析、在线行为分析,这些都属于大数据应用计算的应用领域。数据的一些具体问题这里有一些数字,去年Facebook已经有6亿用户,现在这个数字已经变成9亿了,每个月这些人上传照片10亿,每天产生300TB的数据,所以什么样的公司能承受这样的数据量?它一定有自己的办法。
国内淘宝大概有3.7亿会员,商品是8.8亿,每天交易近1000万笔,每天会产生20TB数据。从总的全球数据增长趋势看,我们现在2010年是1.8, 20年后会增大44倍。60%创造的数据会因为没有办法存储而丢失,所以整个挑战就是数据报帐对存储效率都会提出一个挑战。
第一个矛盾就是数据的增长太快了,但是想一想,我们如果想把这些东西存储下来必须要有机器,必须要盘阵等等一系列的东西。等你发现数据中心扩容中心和数据增长的速度相比较而言不匹配的时候,就会产生一个很剧烈的矛盾。我们在和Facebook做一些合作的时候,09年的时候他们出现了这样的问题,老的数据已经满了,新的数据正在建还没有建好,这样的空档期所有的数据都有可能被扔掉。大家知道互联网企业对数据价值很重视,所以我们合作的时候发明了一项新技术,使得它在原有600台机器的情况下平滑的迁移。
第二个是业务深度不断加强。但是现在处理性能和处理技术跟不上。我希望从大数据里挖掘更有价值的东西但是没有“金刚钻”,所以归结起来大家看到的矛盾就是这两方面的矛盾。
解决这个问题的思路就是我先要能存下来这些数据,要尽量多的存更多的数据。第二个思路就是怎么能够加快海量数据计算的速度和性能。举一个例子Facebook的09年的例子,(PPT)红框里是核心业务,最核心的是Hadoop,这是一个很大规模的集群,09年的时候大概是600到1000台的规模,现在规模更大了。Hadoop就是把所有的数据全部存到这个集群里,这个集群不光是存储,它是一台一台的机器,利用每台机器硬盘存储空间存储数据。这些数据包括哪些?第一用户的信息、前端服务器和用户信息服务器和所有的日志就是用户在上面点击产生的数据都会放到Hadoop集群里。放到这里干什么用呢?就是要挖掘关联关系,分析用户行为。比如说举一个简单的例子,我通过用户日志的分析能够判别你的偏好,你喜欢哪些方面的内容?或者说你本人是什么性别、年龄段,都可以通过这种方式分析。所以可想而知,这些数据对于像Facebook这样的互联网公司是多么的重要。这些数据除了直接可以在上面做分析以外,还可以给BI工具提供一个输入。这是09年的架构。这个架构到现在为止应该有一些变化,但是Hadoop核心定位是没有变的。包括国内一些大的很著名的互联网公司都借鉴了这样的架构。所以可想而知Hadoop在互联网公司的作用是多么的重要。
下面讲一下Hadoop的来源。Hadoop 是Doug做的这么一个软件,02年他打算做一个网页检索软件,没有任何思路。03年Google发表了两篇论文,他受到这两篇论文的启发,把这两篇论文主要的思想借鉴过来,形成了现在的Hadoop的雏形。06年的时候他命名这套软件是Hadoop,这套软件最早开始的是06年开始的。08年的时候Hadoop软件成为了Apache的基金项目,雅虎在后面支撑这个软件的开发。Hadoop它有一些特点,是全部用JAVA来写的,它可以跑在我们常见的商用的高故障率的服务器上甚至PC上。
雅虎内部人告诉我说说Hadoop是继Linux以来最成功的开源软件。Hadoop组成部分,包括克隆了Google的GISI系统,包括克隆了并行计算框架,上面有很多不同的组成部分。它上面有MapReduce它可以提供一个接口,DBA可以利用这个接口写数据处理。此外还有多其他的组成部分,整个这样一套东西叫Hadoop。目前现在看起来这些所有上的东西都一个一个逐渐的变成了一些Apache的顶级项目了,但是我们通常把这一套叫Hadoop。
Hadoop HDFS体系结构: