背景
Hadoop要解决的问题-Big Data
众所周知啦,这是一个大数据的时代。那么大数据的具体定义是什么呢?有人认为数据集的容量在TB级以上就可以被称为大数据,有人说大数据主要包含非结构化和半结构化数据,定义是主观的,然而我们还是可以总结出一些大数据的特征。
- 单台机器不能充分地处理这个数据集
- 数据集的format是多样的,包含结构化,半结构化,非结构化的数据,将其下载到关系型数据库时需要花费较多的时间和金钱
- 在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合。
大数据的3V特征
Volume(容量)
容量指您要处理的数据的大小。我们需要有一个便宜且可靠的方法去存储(store),读取(read)和处理(process)体积很大的数据。
Variety(种类)
在关系型数据库中,数据存储在预定义好的表格集中,其数据类型已经被给出。然而,现在半结构化和非结构化数据越来越多。半结构化数据,是指数据的结构变化很大,它既有可以结构化存储的数据,也有不适宜关系表存储的数据。比如HTML和XML文档,其数据和结构混合在一起。非结构化数据,是指用二维逻辑表不能清晰地展示数据结构的数据,比如图片、视频、声音,若是保存在传统关系型数据库中,也是需要解码成一个个像素或一个个二进制串,不利于后续直接检索和分析。所以Variety是大数据的一个重要的特征。
Velocity(速度)
数据在不断地生成,Velocity表示了数据生成的速度。
Hadoop的诞生-一头小黄象
上个世纪九十年代末,Google的一群聪明的人就开始着手解决大数据的问题了。在2003、2004年间,Google发表了几篇paper来介绍他们的研究成果,其中包括TFS(一种分布式文件系统)和MapReduce(一种处理数据的框架)。受到Google的启发,Doug Cutting和他的小伙伴们着手开发一款开源的分布式系统系统基础架构-Hadoop。