星期一, 一月 30, 2012

什么是大数据(上)

大数据(Big Data)是指那些超过传统数据库系统处理能力的数据。它的数据规模和转输速度要求很高,或者其结构不适合原本的数据库系统。为了获取大数据中的价值,我们必须选择另一种方式来处理它。

数据中隐藏着有价值的模式和信息,在以往需要相当的时间和成本才能提取这些信息。如沃尔玛或谷歌这类领先企业都要付高昂的代价才能从大数据中挖掘信息。而当今的各种资源,如硬件、云架构和开源软件使得大数据的处理更为方便和廉价。即使是在车库中创业的公司也可以用较低的价格租用云服务时间了。

对于企业组织来讲,大数据的价值体现在两个方面:分析使用和二次开发。对大数据进行分析能揭示隐藏其中的信息,例如零售业中对门店销售、地理和社会信息的分析能提升对客户的理解。对大数据的二次开发则是那些成功的网络公司的长项。例如Facebook通过结合大量用户信息,定制出高度个性化的用户体验,并创造出一种新的广告模式。这种通过大数据创造出新产品和服务的商业行为并非巧合,谷歌、雅虎、亚马逊和Facebook,它们都是大数据时代的创新者。


大数据的特征
作为一个包罗万象的术语,“大数据”相当的含糊不清。同样的,“云”这个概念也涵盖了不同的技术。大数据系统的输入端可以列一个极长的表,包括了社会网络、Web服务器日志、流量传感器、卫星图像、广播音频流、银行交易、摇滚音乐MP3、网页的内容、政府文件扫描、GPS路线、金融市场数据等等。而这些数据本质上并非是相同的东西。

IBM公司把大数据的特征概括成三个“V”,也就是规模(Volume)快速(Velocity)多样(Variety)。这三个方面是观察数据本质和软件处理平台的有用视角。

规模(Volume)

能处理大数据所获得的好处在于能对大数据进行分析。更多的数据强于更好的模型,如果你的预测模型可以考虑到300个变量而非仅仅6个变量,其预测能力多半能更为准确。

大数据的规模是传统IT架构所面临的直接挑战。它要求可扩展的存储和分布式的方法来完成查询。许多公司已经拥有大量的存档数据,但却没有能力来处理它。传统的关系数据库无法处理大数据的规模,目前可选择的方法包括大规模并行处理架构、数据仓库、或类似Greenplum的数据库、以及Apache Hadoop解决方案。其中,数据仓库比较适合于预先确定的数据结构和变化缓慢的数据。而Apache Hadoop则没有这些限制。

Hadoop的核心是一个分布在多个服务器上的计算平台。它作为开放源码首先由雅虎开发并发布,它是谷歌所提出的MapReduce方法的实现。 Hadoop的MapReduce包括了两个阶段:向多个服务器和操作系统分发数据,即map阶段,然后重组并行计算结果,即reduce阶段。

Hadoop利用自身的分布式文件系统(HDFS)来存储数据,这使得多个计算节点能获取数据。一个典型的Hadoop使用模式包括三个阶段:加载数据到HDFS、MapReduce操作、从HDFS检索结果。这个过程本质上是一个批处理,适合于分析或者是非交互式的计算任务。正因为如此,Hadoop本身不是一个数据库或数据仓库的解决方案,而是分析的辅助。

最知名的Hadoop的用户之一是Facebook。它的MySQL数据库存储核心数据。然后再反映到Hadoop系统进行计算。计算结果会再次转移到MySQL,以提供给用户的页面使用。

待续

注:本文主要翻译自Edd Dumbill的文章

没有评论:

发表评论