学习时间:20130701
知识点积累:
数据的存储和分析:
为了实现数据读取的高效,可从多个磁盘并行读取数据,需要解决2个问题:
硬件故障,避免数据丢失
大部分分析任务需要通过某种方式把数据合并起来
相较于其他系统:
关系型数据库管理系统:
网格计算:
高性能计算(High Performance Computing)的方法是将作业分配给一个机器集群,这些机器访问共享文件系统,由一个存储区域网络(Storage Area Network,SAN)进行管理;这非常适用于CPU密集型的作业,但当节点需要访问大数据量时,网络带宽将成为“瓶颈”
MapReduce尝试在计算节点本地存储数据,这项“数据本地化”功能成为MapReduce的核心功能
MapReduce检测失败的map或者reduce任务,在健康的机器上重新安排任务,而不需要程序员考虑失败任务的处理机制
志愿计算:
志愿计算项目通过将他们试图解决的问题分成多个块,每个块称为一个工作单元,并将它们发到世界各地的电脑上进行分析
SETI@home问题是CPU高度密集型的,并在接入互联网的不可信的计算机上运行,这些计算机的网速不同,而且数据也不在本地
Hadoop生态圈:
Common:一组分布式文件系统和通用I/O的组件与接口(序列化、Java RPC和持久化数据结构)
Avro:一种支持高效、跨语言的RPC以及永久存储数据的序列化系统;
MapReduce:分布式数据处理模型和执行环境,运行于大型商用机集群;
HDFS:分布式文件系统,运行于大型商用机集群;
Pig:一种数据流语言和运行环境,用以检索非常大的数据集;
Hive:一个分布式、按列存储的数据仓库,管理HDFS中存储的数据,并提供基于SQL的查询语句用以查询数据;
HBase:一个分布式、按列存储数据库,使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询(随机读取);
Zookeeper:一个分布式、可用性高的协调服务;提供分布式锁之类的基本服务用于构建分布式应用;
Sqoop:在数据库和HDFS之间高效传输数据的工具
-