IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> HDFS架构设计理念以及优缺点 -> 正文阅读

[大数据]HDFS架构设计理念以及优缺点

Hadoop是一个由 Apache 基金会开发的分布式系统基础架构。可以快速实现大规模数据的分布式存储开发,以及分布式程序的快速开发,利用集群的威力进行大数据的高速存储和运算。其中 Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)起到非常重要的作用,HDFS 是 Hadoop 项目核心子项目,HDFS 是分布式计算中数据存储管理的基础,它以文件的形式为上层应用提供海量数据存储服务,并实现了高可靠性、高容性、高可扩展性、高可用性、高吞吐率等特点。

一、HDFS产生的背景

数据量的不断增大导致数据在一个操作系统管辖的范围内存储不下,为了存储这些大规模数据,需要将数据分配到更多操作系统管理的磁盘中存储,但是这样处理会导致数据的管理和维护很不方便,所以迫切需要一种系统来管理和维护多台机器上的数据文件,这种系统就是分布式文件管理系统,而HDFS只是分布式文件管理系统中的一种。

二、HDFS的设计理念

HDFS 的设计理念来源于非常朴素的思想∶即当数据文件的大小超过单台计算机的存储能力时,就有必要将数据文件切分并存储到由若干台计算机组成的集群中,这些计算机通过网络进行连接,而HDFS 作为一个抽象层架构在集群网络之上,对外提供统一的文件管理功能,对于用户来说感觉像在操作一台计算机一样,根本感受不到 HDFS 底层的多台计算机,而且 HDFS 还能够很好地容忍节点故障且不丢失任何数据。

下面来看一下HDFS的核心设计目标。

(1)支持超大文件存储

支持超大文件存储是HDFS最基本的功能。这里的“超大文件”指大小达到TB、PB级别的文件。随着未来技术水平的发展,数据文件的规模还可以更大。

(2)流式数据访问

流式数据访问是HDFS选择的最高效的数据访问方式。

流式数据访问可以简单理解为∶读取数据文件就像打开水龙头一样,可以不停地读取和分析,而且每次分析都会涉及该数据集的大部分甚至全部数据,所以每次读写的数据量都很大,因此对整个系统来说读取整个数据集所需要的时间要比读取第一条记录所需要的时间更重要,即HDFS 更重视数据的吞吐量,而不是数据的访问时间。所以 HDFS 选择采用一次写入、多次读取的流式数据访问模式,而不是随机访问模式。

(3)简单的一致性模型

在 HDFS 中,文件创建、写入、关闭,不再进行修改保证数据的一致性。

(4)硬件故障的检测和快速应对

利用大量普通硬件构成的集群平台中,硬件出现故障是常见的问题。一般的HDFS系统是由数十台甚至成百上千台存储着数据文件的服务器组成,大量的服务器就意味着高故障率,但是HDFS在设计之初已经充分考虑到这些问题,认为硬件故障是常态而不是异常,所以如何进行故障的检测和快速自动恢复也是HDFS的重要设计目标之一。

总之,HDFS能够很好地运行在廉价的硬件集群之上,以流式数据访问模式来存储管理超大数据文件。这也是HDFS成为大数据领域使用最多的分布式存储系统的主要原因。

三、HDFS的优缺点

(1)HDFS的优点:高容错性、适合大数据处理、流式文件访问、可构建在廉价的机器上。

(2)HDFS的缺点:不适合低延时数据访问、不适合大量小文件的存储、不适合并发写入、文件随机修改。

HDFS为海量数据提供了不怕故障的存储,给超大数据集的应用处理带来了很多便利。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 20:48:45  更:2022-10-08 20:53:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年5日历 -2025/5/1 0:46:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码