大数据相关知识科普
大数据存储系统的特点:
① 在大数据中,通常企业不会买昂贵的高端服务器,而是低端的廉价服务器,组成大规模集群来存储PB级的大量文件,导致硬件失效为常 态,所以大数据系统的各模块都具备冗余和容灾机制。
② 大数据的读写量和计算量都很大,采用的是数据流式访问的方式
③ 存储数据较大
④ 大数据系统的底层服务器可能来自于不同的厂商,对于文件系统,则需要支持多硬件
⑤ 运算效率是大数据系统的基本要求
1. Hadoop基础技术——HDFS
HDFS(Hadoop Distributed File System)是基于Google发布的GFS论文设计开发的,它除了具备其他分布式文件系统相同特性外,还有自己特有的特性:
高容错:认为硬件总是不可靠的。
高吞吐量:为有大量数据访问的应用提供高吞吐量支持。
大文件存储:支持存储TB-BP级别的数据。
大量的小文件(上亿)会导致NameNode等成为瓶颈。HDFS设计思路的是一次写入,多次读取;支持大负荷运算,并不要求低延时。
1.1 HDFS系统架构
NameNode为master管理者,管理元数据。当客户端发起读取或者写请求时,客户端会把请求发向NameNode,NameNode查询该请求涉及到哪些数据块以及数据块所在节点位置,将DataNode地址返回给客户端。然后客户端从相应的NameNode上读取数据块,并拼接成文件。NameNode只负责返回元数据信息,数据的写入和读取是直接由客户端和各个NameNode间进行传输的。
NameNode功能:
数据映射管理:元数据和数据映射关系
DataNode信息管理:DataNode状态信息
数据块分配算法:实现写入负载均衡
DataNode功能:
1.2 HDFS读写流程
HDFS读取:请求传送到NameNode,根据映射关系将数据块位置信息返回给客户端,客户端到DataNode上读取数据块,在本地还原成文件返回给用户。
HDFS写入:大文件写入会进行切片,流式写入,以packet 64K单位写入(block为64M)。DataNode1写完数据包1后,可以开始写新的数据包2,同时DataNode2开始写数据包1(副本),以一种流水的形式写入。
1.3 HDFS特性
① NameNode/DataNode主从模式:NameNode为管理节点
② HDFS Federation:扩展NameNode,减少单个NameNode上的压力,NameNode作为集群管理多个DataNode
③ 数据副本机制:选择同一机架上的另一个服务器(提高传输效率)进行备份,选择一个远端服务器备份(安全)
④ 元数据持久化:数据修改后,需要记录日志,修改元数据信息。新元数据的生成是在备节点上做的,便于主节点宕机后恢复。
⑤ 高可靠性:使用JournalNode实现元数据实时同步(ZooKeeper在主备倒换时起到裁决作用)
2. 数据湖
福布斯的一篇文章《Big Data Requires a big new Architecture》提出数据湖(Data Lake)的概念,数据湖被定义为一种区别于原始数据仓库的数据存储架构,以原生格式保存大量的原始数据,可以包含结构化、非结构化数据,直到数据被使用的时候再进行处理。
简单一点的理解,数据仓库就是经过清洗的、标准化、方便消费的桶装水商店的“数据湖”。在大数据时代,数据量呈现几何增长,数据量的庞大、数据来源和类型的多元化、传统的“桶装水商店”装不下了,因此需要一个可以满足存储需求的新的架构来作为大数据的支撑——数据湖。数据湖就是自然状态下的巨大水体,汇聚不同数据源的溪流,包括大量无序的非结构化数据(文本、图像、声音、网页等)。
数据湖储存了大量的原始数据,支持所有的数据类型,不同用户根据业务需求、使用场景来发掘数据价值。
数据湖优势:①消除数据孤岛、降低成本并实现简化 ②提高效率和优化资源 ③利用大数据分析获得见解
作者|涂盛霞
- 点赞
- 收藏
- 关注作者
评论(0)