大数据技术能够帮助企业用户在茫茫的数据海洋里快速找到所需要的东西。大数据分析相关的人才之争即将展开。
对于推特(Twitter)来说,处理海量的用户数据是一个非常令人头疼的问题,为此他们专门收购了一家公司帮助他们做这项工作。推特的成功完全取决于其对用户所产生数据的充分利用。他们需要处理大量的数据:推特拥有2亿多个托管账户,而这些账户每天会产生2.3亿条推文。
2011年7月份,社交网站巨子推特收购了BackType公司及该公司的Storm软件,后者能够从语法上实时分析数据流,例如数百万条的推文。收购之后,推特公布了Storm的源代码,无意使该软件商品化。Storm对于推特的价值在于其特殊的工作方式,因为这有助于识别新出现话题。比方说,推特使用该软件能够实时计算出Web地址在多个推特用户间的共享程度。
推特的Storm 软件首席工程师Nathan Marz解释说:“这一工作实际上是一种高强度的计算,涉及数千个数据调用和数百万份的用户记录。”在使用一台机器的情况下,计算Web地址的范围需要花上10分钟的时间。但是如果使用10台机器,那么计算只需要几秒钟。对于靠新兴趋势销售广告挣钱的公司而言,更快的运作非常关键。
推特等公司发现,他们手中掌握着大量的数据,而这些数据可帮助实现利润的最大化,并提高效率。而实现这些目标的前提是,他们能够快速组织和分析这些数据。目前大量新技术的出现使得这一目标成为可能,这些新技术大多数是开源技术。
团购网站LivingSocial 的CTO Aaron Batalion说:“如果我们能够更好地理解用户关注什么,利用这些数据提供更好的服务体验,那么我们无疑将获得竞争优势。”目前LivingSocial使用的是Apache Hadoop数据处理平台,以收集更多的用户关注信息。
Batalion说:“开发出一款产品,然后让它们工作起来就万事大吉的日子已经结束了。为了获得成功,你必须要想主意、测试它们、进行迭代、使用数据和分析法去搞清楚哪些在工作,哪些没有。这是我们使用大数据基础设施的方式。”
大数据越来越大
2011年5月,咨询公司McKinsey and Company公布了一份报告。该报告预测了企业在未来几年将会如何被数据洪流所淹没。他们还预测了包括医疗、公共部门和制造业等行业将从对快速增长的数据的分析中获益。
收集和分析交易数据可以让企业洞察到客户的选择,让他们能够及时通知产品设计与服务部门,同时让他们对新出现的问题进行快速补救。报告总结称:“对大数据的使用将成为单个企业的竞争力与增长的重要基础。大数据的使用将支撑下一波生产力增长与消费者盈余浪潮。”
当然,Teradata、IBM和甲骨文等公司推出太字节级(TB)的数据仓库已有十多年时间。在这段时期内,数据更多的是以各种各样的格式被收集与存储,数据能够在多个服务器间被平行处理,而这是大量信息被分析的必要基础。除了维护来自数据库的交易型数据,认真挑选数据仓库中的数据外,企业还获得了服务器产生的大量日志数据、由机器生成的数据表格、来自内部与外部社交网络的用户评论,以及其他松散的非结构型数据源。
Hortonworks公司的CTO Eric Baldeschwieler说:“传统的数据系统无法很好地处理大数据,它们无法处理各种各样的数据,同时这些系统无法以相应的速度进行扩展。这是因为数据增长速度很快,当今的数据很少是结构化的数据。”
研究机构Monash Research的Curt Monash称,数据增长的速度正在以指数级的速度增长。摩尔定律指出,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。 因此并不奇怪,新服务器的性能每18个月就会增长一倍,这也意味着它们的活动将相应地产生更多的数据集。
MapR公司的营销副总裁Jack Norris认为,大数据解决方案代表了数据处理方式出现了重大转变。此前,被认真挑选出来的数据通过被输入到数据仓库中,在那里它们将被进一步检测。随着数据量的增长,网络将成为瓶颈。而Hadoop等分布式系统能够在数据所在地就对数据进行分析。
大数据软件仅仅是收集企业产生的所有数据,让管理员和分析师以后再考虑如何使用这些数据,而不是在数据仓库中创建干净的用户数据子集放置数据,然后再以有限的预设方式应付查询。在这一层面上,与传统的数据库和数据仓库相比,它们要更具备可扩展性。
互联网推动大数据增长
在许多方面,谷歌、亚马逊、雅虎、Facebook和推特等在线服务巨头处于如何充分利用这些庞大数据集的最前沿。谷歌和雅虎等公司大力支持发展Hadoop。Facebook的工程师们则大力发展同样是开源的Apache Cassandra分布式数据库。
2004年的谷歌白皮书为Hadoop的发展拉开了帷幕。这份白皮书详细地阐述了谷歌将通过一个名为BigTable的索引系统,创建能够在众多不同服务器中分析数据的基础设施。谷歌一直在内部使用BigTable,但是曾经创建过Lucene/Solr开源搜索引擎的开发者Doug Cutting为其创建了一个开源版本,并以儿子的玩具象命名了该项技术。
雅虎是Hadoop技术的早期部署者。该公司在2006年雇用了Cutting并开始将大量的工程工作,以改良这种技术。目前已跳槽为Hadoop软件和服务提供商Cloudera工作的Cutting说:“雅虎有着大量以不同形式相互关联的重要数据,但是它们存在于相互独立的系统之中。”
雅虎目前是Hadoop最大的用户之一,其在40000多台服务器中部署了该技术。同时雅虎正在以多种方式使用该技术。Hadoop的集群掌握了大量事件的日志文件和用户点击区域的日志文件,广告活动也被存储在Hadoop集群中。Monash说:“在将数据存入关系型数据库前,Hadoop是一个组织和压缩海量数据的重要工具。该技术非常适合跨大量文本集的搜索。”
另一款被互联网服务商使用的大数据技术是Cassandra数据库。Cassandra在单一行上能够存储200万个列,这便于在现有用户账户上附加更多的数据,而无需提前获知数据被格式化的方式。使用Cassandra数据库的另一个好处在于,它能够在多个服务器中扩展,帮助企业更为容易地在单一服务器或小型服务器集群中扩展其数据库。
Apache Cassandra项目主席、DataStax公司联合创始人Jonathan Ellis称,Cassandra由社交网络巨头Facebook开发,因为该公司需要一个大型分布式数据库,以支持收件箱内搜索。
雅虎、Facebook等公司希望使用谷歌的BigTable架构,因为它能够提供一个定向于行与列的数据库结构,并且能够在大量节点中扩展。BigTable的局限性在于其为定向于主节点的设计。整体运作依赖于单一节点协调其他所有节点中的读写活动。换句话说,如果主要节点故障,那么整个系统将瘫痪。 Ellis说:“这不是一个最佳设计。我们希望一台机器故障后,其他的机器依然能够正常运行。”
因此,Ellis和他的同行使用由亚马逊开发的分布式架构Dynamo创建了Cassandra。关于Dynamo,亚马逊工程师曾经在2007年的报告中进行了详细的阐述。亚马逊最初开发Dynamo是为了追踪在线用户将哪些东西放在了他们的网络购物车中。Dynamo的设计并不依赖于任何一个主节点。任何节点都能够为整个系统接收数据和查询。数据将在多个主机中被复制。
致企业用户
对于企业用户而言,好的消息是越来越多最初由互联网服务提供商开发的工具已经开始作为开源软件提供给企业使用。目前,除了大型互联网服务提供商外,大量企业也在对大数据工具进行测试。Baldeschwieler指出,金融机构、电信公司、政府部门、公共事业公司、零售商和能源公司也都在测试大数据系统。他说:“Hadoop和大数据部署是不可避免的。它们非常适合不同要求的客户。”
那么,企业应该如何利用由机器和社交网络产生的大量数据呢?事实上,对于企业的CIO来说,部署基础设施并不是他们面临的最大挑战。Cloudera、Hortonworks、MapR等厂商正在致力于大数据技术的商品化,这将让大数据技术的部署与管理变得更加容易。
研究机构Forrester的分析师James Kobielus说:“相比之下,找到在数据分析方面具有天赋的人才才是最大的困难。企业必须要关注数据科学。他们必须要雇用统计建模专家、文本挖掘专家,以及专门从事情绪分析的人才。大数据依赖于稳定的数据模型。统计预测模式和测试分析模式是处理大数据的核心应用。”
许多业内人士预测,大数据将会带来一个全新的专业人员——数据科学家。他们对数学和统计学方面有着精深的造诣,并且熟悉如何利用大数据技术开展工作。这类人才可能非常稀缺。McKinsey and Company预测,到2018年,仅美国就短缺14万至19万名拥有深度分析技能的人才,短缺150万名能够熟练使用大数据分析做出有效决策的经理人和分析师。
MapR的Norris表示,尽管存在着许多局限性,但是企业需要不断开拓进取,以保持竞争力和效率。他以进入互联网搜索领域已有多年时间的谷歌举例称,该公司通过竞争在两年时间内就控制了整个市场。“在这很大程度上要归功于谷歌后台架构所具有的先进性。大数据是一个重大转变,它可能会导致众多行业发生变革。”Norris说。