大数据的3个“V”,或者说特点有三个层面,业界将其归纳为3个“V” - Volume,Variety,Velocity:第一,数据体量巨大。从TB级别,跃升到PB级别。第二,数据类型繁多。互联网常提到的网络日志、视频、图片、地理位置信息等等。第三,处理速度快,即吸入、处理和产生价值的快速度,最后这一点也是和传统的数据挖掘技术有着本质的不同。这三者缺一不可,综合在一起才能称之为“大数据”。
对于其他一些文章中提到的第四个V(Value或Veracity),笔者并未在本文中讨论。
大数据处理
为了应对大数据的特性,在数据的处理方式中,必然会具备不同的手段和特征,同时这些特征会与大数据的特性相对应:
数据存储(Volume and Variety)
所谓数据存储,并不是指要关注底层存储细节,只需要数据存储和读取方便快捷即可。为了更好的处理海量数据的存储,首先要了解多样性中的一个分类:结构化和非结构化的数据。事实上信息里的“结构”是永远存在的,只不过结构尚未被发现,或结构变化无定(半结构化或多结构化),或者结构存在但机器却处理不了。就像最典型的非结构化数据—文本,它有语言学意义上的结构(语法和语义),又有叙事意义上的结构(三段式、先破后立等),还具有结构化的元数据(作者、标题、发布时间等),但文本一直是非结构化数据的典型。
对于非结构化数据,文件系统是主流的存储选择,但是在存取、索引以及元数据管理上不是最优。而结构化数据主要依靠关系型数据库,主要问题是结构变化时太折腾,当数据在TB级是也太慢。NoSQL数据库应时而生,一是能支持灵活的结构(schema)和非结构化数据,二是针对大数据体量可扩展性更好。同时,文件系统也得到了发展,与对象存储相映生辉,不仅在效率上提升(如Facebook Haystack对小图片文件),也能更好地支持管理和分析(如支持SQL-like语言来操作)。
数据处理(Velocity)
大数据的处理,应用传统的数据处理方式已然捉襟见肘,需要新的技术以有效的处理海量的数据,目前业内最常用的分布式并行处理框架 – Hadoop就是其中的代表。数据处理又可以分为两个阶段:
数据准备,数据处理前会有大量的时间做数据准备(到达80%),涉及到抽取、清洗、转换和集成
数据计算,对于完成准备的数据,数据计算可以通过“分而治之”的手段描述出相关数据的特征。事实上Hadoop的设计宗旨就是基于此。
在云计算和大数据大行其道的今天,Hadoop及其相关技术起到了非常重要的作用,是这个时代不容忽视的一个技术平台。事实上,由于其开源、低成本和和前所未有的扩展性,Hadoop正成为新一代的数据处理平台。
Hadoop是基于Java语言构建的一套分布式数据处理框架, 框架中最核心的设计就是:MapReduce和HDFS。MapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算存储提供了底层支持。
MapReduce从它名字上来看就大致可以看出个缘由,两个动词Map和Reduce,“Map(展开)”就是将一个任务分解成为多个任务,“Reduce”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果。
大数据价值
通过大数据分析掘金,发现价值,这是大数据应用的最重要目标:寻找相关性,通过对历史的分析,辅助对未来的预测。
|