HDFS主要解决什么问题,与IPFS有什么不一样?node
近年,随着区块链、大数据等技术的推进,全球数据量正在无限制地扩展和增长。分布式存储的兴起与互联网的发展密不可分,互联网公司因为其大数据、轻资产的特色,一般使用大规模分布式存储系统。linux
与传统的高端服务器、高端存储器和高端处理器不一样的是,互联网公司的分布式存储系统由数量众多的、低成本和高性价比的普通 PC 服务器经过网络链接而成。因为互联网的业务发展迅猛,使得存储系统架构不能依靠传统的纵向扩展的方式,即先买小型机,不够时再买中型机,甚至大型机。互联网后端的分布式系统要求支持横向扩展,即经过增长普通 PC 服务器来提升存储系统的总体处理能力。数据库
另外,随着服务器的不断加入,须要可以在软件层面实现自动负载均衡,使得系统的处理能力获得线性扩展。在这种状况下,分布式存储的成为大多数企业的必然选择。swift
那么分布式存储的种类有哪些呢?后端
分布式存储包含的种类繁多,除了传统意义上的分布式文件系统、分布式块存储和分布式对象存储外,还包括分布式数据库和分布式缓存等,但其中架构无外乎于三种:浏览器
A、中间控制节点架构 - 以 HDFS 为表明的架构是典型的表明缓存
B、彻底无中心架构 – 计算模式,以 Ceph 为表明的架构是其典型的表明安全
C、彻底无中心架构 – 一致性哈希,以 swift 为表明的架构是其典型的表明服务器
这里咱们主要对比下HDFS与IPFS网络
HDFS的简介
HDFS(Hadoop Distributed File System)是hadoop项目的核心子项目,是分布式计算中数据存储管理的基础。是基于流数据模式访问和处理超大文件的需求而开发的, 能够运行于廉价的商用服务器上。
它所具备的高容错、 高可靠性、 高可扩展性、 高得到性、 高吞吐率等特征为海量数据提供了不怕故障的存储, 为超大数据集(Large Data Set) 的应用处理带来了不少便利。
HDFS是开源的,存储着Hadoop应用将要处理的数据,相似于普通的Unix和linux文件系统,不一样的是它是实现了google的GFS文件系统的思想,是适用于大规模分布式数据处理相关应用的、可扩展的分布式文件系统。
为何须要HDFS?
小量的数据,单机的磁盘是可以很好地处理面对的数据,但当数据量巨大(PB)时,磁盘开始纠结处理咱们须要的海量信息。咱们没法提高单个磁盘的传输速度, 由于这个技术已经没有空间了 只能将大任务分解成小任务 , 一块磁盘分解成多个磁盘。 对多个磁盘上的文件进行管理, 就是分布式文件管理系统—HDFS
HDFS的功能
1)数据的分布式存储和处理。
2)Hadoop 提供了一个命令接口来与 HDFS 进行交互。
3)namenode 和 datanode 的内置服务器可帮助用户轻松检查群集的状态。
4)对文件系统数据的流式处理访问。
5)HDFS 提供文件权限和身份验证。
HDFS系统架构 及主要组件
在以前分步启动Hadoop集群时你们应该注意到了,集群中与HDFS相关的进程有两类,分别是namenode与datanode。HDFS是一个主从架构的系统,其中namenode做为主节点管理着多个从工点datanode。其架构图以下所示:
Namenode:
管理维护着文件系统树以及整个文件树内全部的文件和目录即文件系统的元数据; 控制客户端对文件的访问; 它还执行文件系统操做, 如重命名,关闭和打开文件/目录。DateNode:
管理所存储的数据;按照客户端的请求, 执行在文件系统上的读写操做;还根据NameNode的指令执行操做如block的建立、 删除和备份。
Block
一般用户的数据存储在HDFS上的文件中;该文件将被拆分为一个或多个片断, 并存储在单个的数据节点;这些文件片断称为blocks。 换句话说, HDFS可读写的最小数据量叫作Block。 默认的block大小是64MB/128M(可根据配置增长)。
Rack
安装集群计算机的机架,一个机架能够安装几台计算机,在整个Hadoop集群中又会有几个这样的机架组成。
若是客户端须要从某个文件读取数据,首先从 NameNode 获取该文件的位置,而后从该 NameNode 获取具体的数据。在该架构中 NameNode 一般是主备部署( Secondary NameNode ),而 DataNode 则是由大量节点构成一个集群。因为元数据的访问频度和访问量相对数据都要小不少,所以 NameNode 一般不会成为性能瓶颈,而 DataNode 集群中的数据能够有副本,既能够保证高可用性,能够分散客户端的请求。所以,经过这种分布式存储架构能够经过这种分布式存储架构能够经过横向扩展 datanode 的数量来增长承载能力,也即实现了动态横向扩展的能力。
一般,用户数据存储在 HDFS 的文件中。文件系统中的文件将分为一个或多个片断存储在单个数据节点中。这些文件段称为block。换句话说,HDFS 能够读取或写入的最小数据量称为block。默认块大小为 64MB,能够根据 HDFS 配置进行更改。
HDFS的特色
一、故障检测和恢复 – 因为 HDFS 包含大量产品硬件,组件故障频繁。所以,HDFS 应具备快速自动故障检测和恢复的机制。
二、数据集的管理 – HDFS 每一个群集都有数百个节点来管理具备大型数据集的应用程序。
三、数据硬件处理 – 当计算在数据物理附近时,能够高效地完成请求的任务。特别是在涉及大量数据集时,它减小了网络流量并提升了吞吐量。
IPFS的简介
IPFS(Inter Planetary File System),又叫星际文件系统。IPFS在2015年开启,目前已经有5年时间了。IPFS和Filecoin一直热度不断,影响力也是愈来愈大。在这里咱们先撇开区块链部分的Filecoin不谈,重点分析下IPFS在分布式存储方面的应用。
IPFS的工做原理
第一个原理,就是在IPFS系统中,每一个文件都会被进行 Hash 处理,并生成数字指纹。
第二,就是咱们要查找文件时,IPFS 经过使用一个分布式哈希表,能够快速找到拥有数据的节点进行检索,并使用哈希验证其是否为正确的数据,从而找到咱们想要的文件。
第三, IPFS会经过网络删除重复的、具备相同哈希值的文件,也就是说,它经过计算是能够判断哪些文件是冗余重复的,并跟踪每一个文件的版本历史记录。
第四,每一个网络节点只存储它感兴趣的内容,以及一些索引信息,有助于咱们弄清楚谁在存储什么。
第五,使用称为 IPNS(去中心化命名系统),每一个文件均可以被协做命名为易读的名字,经过搜索,咱们就能很容易地找到想要查看的文件。
因为,IPFS跟HTTP协议,都被称为互联网底层协议。那么上网的时候,咱们常常能看到这样一串字符,http:// www.baidu.com,或者是http:// www.taobao.com、或是http:// www.aiqiyi.com等……,这就是咱们俗称所谓的域名。但IPFS有很是优于HTTP的地方,主要体如今如下几个方面:
IPFS它的安全性更高。一方面,IPFS中的每一个文件及其中的全部块,都被赋予了一个称为加密散列的惟一指纹;另外一方面,IPFS是一个点对点的分布式文件系统,是能够用来存储文件的,这个文件咱们能够理解为:包括文本、图片、音频、视频等等;再者,因为IPFS的工做机制是将整个文件进行拆散, 而后储存在全球的不一样节点。须要数据的时候,经过文件的索引从原来存储的位置找回来,可以保护数据的隐私与安全性。
举例BAT,咱们如今使用的云储存方式是:咱们把数据交给BAT(百度云、阿里云、腾讯云),须要数据的时候找BAT拿回来。这个过程看上去没什么毛病,可一旦BAT的服务器停机,或者是你的隐私被偷窥了呢?
IPFS它的去中心化使得数据上传、下载速度能够更快,还可以让数据永久化的存储。由于IPFS是由全球的存储节点构成的,也就是说将来咱们能够在世界的每一个角落,均可以快速的访问存储在ipfs网络上的文件。简单地说就是把这些文件进行加密,而后存储到电脑、手机等等这些使用硬盘的仪器当中。
从上述的原理中咱们能够清晰地看出,在存储方面IPFS与传统的分布式存储是彻底不一样的,是彻底去中心化的。
HDFS与IPFS对比
a 、应用对象
HDFS主要是企业级的应用,针对企业的大文件存储,由于 HDFS 采用的是以元数据的方式进行文件管理,而元数据的相关目录和块等信息保存在 NameNode 的内存中, 文件数量的增长会占用大量的 NameNode 内存。若是存在大量的小文件,会占用大量内存空间,引发整个分布式存储性能降低,因此尽可能使用 HDFS 存储大文件比较合适。而IPFS主要是针对我的用户市场,根据我的的文件进行存储,存储的节点越多,存储的文件越多,整个文件系统的稳定性也就越高。
b 、读写频次
HDFS适合低写入,屡次读取的业务。HDFS 的数据传输吞吐量比较高,可是数据读取延时比较差,不适合频繁的数据写入。IPFS对于文件的读取和写入具备很强的包容性和扩展性,文件的读取和写入越多,整个基于IPFS的经济生态系统也就越繁荣,在系统中的用户也就越受益。
c 、存储环境
HDFS 采用多副本数据保护机制,使用普通的 X86 服务器就能够保障数据的可靠性,不推荐在虚拟化环境中使用。IPFS使用我的的普通服务器便可做为节点,运行IPFS系统,提供去中心化的存储服务
d、存储系统
HDFS 主要针对大企业,虽是分布式存储,其主要的控制着还是企业主体,属于一个封闭的存储系统。IPFS彻底去中心化的操做,任何企业和我的均可以接入存储网络。
e、寻址方式
HDFS若是客户端须要从某个文件读取数据,首先从 NameNode 获取该文件的位置,而后从该 NameNode 获取具体的数据,IPFS则是直接从内容所在的节点获取文件,是基于内容获取的方式。
基于IPFS技术开发的应用也不断出现,IPFS直接整合至Brave浏览器中,将 Hadoop 置于IPFS之上进行p2p数据分析,PeerPad利用IPFS构建无服务器、实时的、离线协做式应用等。在陆续与微软、美国宇航局(NASA)等知名机构、企业创建合做关系后,IPFS的实际应用价值获得了进一步深化。
总结IPFS/IPSE分布式架构的优势:
去中心化
分布式节点网络,无单点问题
加密技术保护数据完整性和安全性
存储成本和传输成本远低于中心化系统
通证激励
以上就是本篇文章的所有内容,更多详细信息敬请关注。