精华内容
下载资源
问答
  • 分布式存储技术

    2013-05-01 00:21:47
    与目前常见的集中式存储技术不同,分布式存储技术并不是将数据存储在某个或多个特定的节点上,而是通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业...

    分布式存储技术

    分布式存储概念

    与目前常见的集中式存储技术不同,分布式存储技术并不是将数据存储在某个或多个特定的节点上,而是通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。结构化数据的存储及应用所谓结构化数据是一种用户定义的数据类型,它包含了一系列的属性,每一个属性都有一个数据类型,存储在关系数据库里,可以用二维表结构来表达实现的数据。大多数系统都有大量的结构化数据,一般存储在 Oracle MySQL 的等的关系型数据库中,当系统规模大到单一节点的数据库无法支撑时,一般有两种方法:垂直扩展与水平扩展。

    垂直扩展:垂直扩展比较好理解,简单来说就是按照功能切分数据库将不同功能的数据,存储在不同的数据库中,这样一个大数据库就被切分成多个小数据库,从而达到了数据库的扩展。一个架构设计良好的应用系统,其总体功能一般肯定是由很多个松耦合的功能模块所组成的,而每一个功能模块所需要的数据对应到数据库中就是一张或多张表。各个功能模块之间交互越少,越统一,系统的耦合度越低,这样的系统就越容易实现垂直切分。

     水平扩展:简单来说,可以将数据的水平切分理解为按照数据行来切分,就是将表中的某些行切分到一个数据库中,而另外的某些行又切分到其他的数据库中。为了能够比较容易地判断各行数据切分到了哪个数据库中,切分总是需要按照某种特定的规则来进行的,如按照某个数字字段的范围,某个时间类型字段的范围,或者某个字段的 hash 值。

    垂直扩展与水平扩展各有优缺点,一般一个大型系统会将水平与垂直扩展结合使用。

     

    非结构化数据的存储及应用

    相对于结构化数据而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、图片、XMLHTML、各类报表、图像和音频/视频信息等等。分布式文件系统是实现非结构化数据存储的主要技术,说到分布式文件系统就不得不提GFS(全称为"Google File System"),GFS 的系统架构图如下图所示。

    GFS 将整个系统分为三类角色:Client(客户端)、Master(主服务器)、Chunk Server(数据块服务器)。

    Client(客户端):是 GFS提供给应用程序的访问接口,它是一组专用接口,不遵守 POSIX 规范,以库文件的形式提供。应用程序直接调用这些库函数,并与该库链接在一起。

    Master(主服务器):是 GFS管理节点,主要存储与数据文件相关的元数据,而不是 Chunk(数据块)。元数据包括:命名空间(Name Space),也就是整个文件系统的目录结构,一个能将 64 位标签映射到数据块的位置及其组成文件的表格,Chunk 副本位置信息和哪个进程正在读写特定的数据块等。还有Master 节点会周期性地接收从每个Chunk节点来的更新("Heart- beat")来让元数据保持最新状态。

    Chunk Server(数据块服务器):负责具体的存储工作,用来存储 ChunkGFS将文件按照固定大小进行分块,默认是 64MB,每一块称为一个 Chunk(数据块),每一个 Chunk Block 为单位进行划分,大小为 64KB,每个 Chunk有一个唯一的64位标签。GFS采用副本的方式实现容错,每一个Chunk有多个存储副本(默认为三个)。Chunk Server 的个数可有有多个,它的数目直接决定了 GFS 的规模。

     

    半结构化数据的存储及应用

    就是介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,半结构化数据模型具有一定的结构性,但较之传统的关系和面向对象的模型更为灵活。半结构数据模型完全不基于传统数据库模式的严格概念,这些模型中的数据都是自描述的。

    由于半结构化数据没有严格的schema定义,所以不适合用传统的关系型数据库进行存储,适合存储这类数据的数据库被称作“NoSQL”数据库。

    NoSQL 的定义:

    被称作下一代的数据库,具有非关系型,分布式,轻量级,支持水平扩展且一般不保证遵循ACID原则的数据储存系统。NoSQL”其实是具有误导性的别名,称作Non Relational Database(非关系型数据库)更为恰当。所谓“非关系型数据库”指的是:

    使用松耦合类型、可扩展的数据模式来对数据进行逻辑建模(Map,列,文档,图表等),而不是使用固定的关系模式元组来构建数据模型。

    以遵循于CAP定理(能保证在一致性,可用性和分区容忍性三者中中达到任意两个)跨多节点数据分布模型而设计,支持水平伸缩。这意味着对于多数据中心和动态供应(在生产集群中透明地加入/删除节点)的必要支持,也即弹性(Elasticity)

    拥有在磁盘或内存中,或者在这两者中都有的,对数据持久化的能力,有时候还可以使用可热插拔的定制存储。

    支持多种的‘Non-SQL’接口(通常多于一种)来进行数据访问。
    展开全文
  • ipfs挖矿原理:filecoin分布式存储优势哪些?1、延展性如今集中化储存互联网技术十分敏感。由于互联网技术每一个网页页面都放到一个特殊网络服务器上,当网络服务器产生常见故障或遭受核查时,数据连接将终...

    a526cf5d4b708b60b39a57224f8f7e50.png

    ipfs挖矿原理:filecoin分布式存储优势有哪些?

    1、延展性

    如今集中化储存的互联网技术十分敏感。由于互联网技术上的每一个网页页面都放到一个特殊的网络服务器上,当网络服务器产生常见故障或遭受核查时,数据连接将终断,內容将无法打开。

    2、高效率

    如今集中化储存的网络接入要求必须根据服务器防火墙层、无线路由器层和网络服务器层,在网络服务器回应后,它也根据一层又一层的计算机设备抵达连接点,因而互联网浏览延迟时间很大,而分布式系统互联网的浏览就是指同一互联网上的连接点能够立即共享文档,并挑选近期更快的连接点浏览,进一步提高了浏览高效率。

    76debda7eccbdd3b0dd09170077ea6dc.png

    点击查看更多 》》》币码翁企业介绍

    3、可拓展

    分布式架构非常容易参加互联网,容许尽量多的连接点储存和派发文档。

    IPFS连接点的硬件配置规定很低,这代表着大量的客户根据运作该连接点,也许根据运作内嵌的Web电脑浏览器来分享网络。灵便的可拓展测算、存储量和特性能够考虑天宽数据信息的储存和查找,并且便宜靠谱的储存比过去任何时刻都更非常容易应用。

    4、內容寻址方式

    如今去中心化网络服务器的互联网技术浏览是在地址栏URL中键入URL,他们叙述的是数据信息的部位,而不是数据信息的內容,详细地址和內容中间沒有本质的关联,由于內容和详细地址能够变更。除开它的部位以外,您对文档的內容一无所知,该详细地址的內容非常容易遭受进攻和改动。因而,难以明确您所浏览的详细地址是您必须的。

    cf6c55a25a572919255bc3aa60ca266d.pngac66b7cf8a48376bc92d160af6346109.png48a6e45730c1e7c65d8beaade450f04b.png67c90175a3287d11137c5f37a6445fa1.png

    点击查看更多 》》》IPFS星际特工丨专业级矿机优势

    533fcd1b67a19d3da047b9c015d5a5c9.png

    5、自觉性

    在分布式系统系统软件中,甲乙双方不在相互信任或不寻找第三方信任感的状况下开展协作。IPFS/filecoin系统软件的鼓励促进甲乙双方向网站运营需要的个人行为推动,产生一个不断的良好自循环系统。

    6、验证

    分布式系统软件能够轻轻松松、不断地证实连接点已经储存他们服务承诺的精确数据信息。这类验证性是完成信任感的重要。那样,出示数据储存的矿工就不容易有信任感的难题。

    IPFS星际特工无锡联盟中心!想了解更多ipfs/filecoin相关资讯,以及想参与Filecoin挖矿的朋友,请长按下方图片!!!

    db2eea2cd3638b978aee39491a3fd726.png

    展开全文
  • 随着计算机技术和存储技术的发展,数据正以爆炸式速度增长,海量数据对存储系统提出了巨大挑战。为了保障存储系统CAP,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),...

    云课堂专题

    海云捷迅云课堂专题,旨在秉承开源理念,为大家提供OpenStack技术原理与实践经验,该专题文章均由海云捷迅工程师理论与实践相结合总结而成,如大家有其他想要了解的信息,可留言给我们,我们会根据问题酌情回复。

    纠删码简介

    随着计算机技术和存储技术的发展,数据正以爆炸式的速度增长,海量数据对存储系统提出了巨大的挑战。为了保障存储系统的CAP,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),对于可用性来说常见的2种技术是多副本和纠删码,多副本就是把数据复制多份分别存储到不同地方以实现冗余备份,这种方法容错性能较好但存储利用率低,比较典型的3副本磁盘利用率仅33.33%,当系统数据量很大时,多副本带来巨大的额外存储空间消耗,导致TCO居高不下。纠删码技术以牺牲CPU计算量和网络负载为代价,提高存储空间利用率,同时提供近似副本的可靠性。

    纠删码(Erasure Coding, EC)算法起源于1960年,最早应用于通信系统领域。最著名的是范德蒙RS编码Reed-Solomon。随着时间的推移,出现了一些变种算法,例如柯西RS编码等。目前,纠删码技术在分布式存储系统中的应用主要有三类,阵列纠删码(Array Code: RAID5、RAID6等)、RS(Reed-Solomon)里德-所罗门类纠删码和LDPC(LowDensity Parity Check Code)低密度奇偶校验纠删码。纠删码首先对原始数据进行分片,然后基于分片编码生成备份数据,最后将原始数据和备份数据分别写入不同的存储介质。数据恢复是编码的逆运算(为了能够进行数据恢复,要求编码采用的方法(函数)一定可逆),因此也称为解码。

    目前一些主流的云存储厂商都采用EC编码方式。

    Reed-Solomon实现原理

    假设存储系统由n块磁盘组成,我们将它分为k个磁盘来保存数据,这样m=n-k个磁盘保存编码信息,分别对数据进行编码,允许最多m个磁盘出现故障(可以是数据盘也可以是编码盘)。编码和解码行为如图1所示。通过编码,k个数据盘的内容被用来计算m个编码盘的内容。当m个磁盘出现故障,利用现有的磁盘数据通过解码算法可以还原得到所有丢失的数据内容,从而实现恢复。

    图1 纠删码基本原理图

    编码原理

    RS编码以word为编码和解码单位,大的数据块拆分到字长为w(取值一般为8或者16位)的word,然后对word进行编解码。数据块的编码原理与word编码原理相同,后文中一word为例说明,变量Di, Ci将代表一个word。

    把输入数据视为向量D=(D1,D2,…, Dn), 编码后数据视为向量(D1, D2,…, Dn, C1, C2,…, Cm),RS编码可视为如下图所示矩阵运算。

    图2 编码数据

    图2最左边是编码矩阵(或称为生成矩阵、分布矩阵,Distribution Matrix),编码矩阵需要满足任意n*n子矩阵可逆。

    为方便数据存储,编码矩阵上部是单位阵(n行n列),下部是m行n列矩阵。下部矩阵可以选择范德蒙德矩阵或柯西矩阵。

    解码原理

    RS最多能容忍m个数据块被删除。数据恢复的过程如下:

    (1)假设D1、D4、C2丢失,从编码矩阵中删掉丢失的数据块/编码块对应的行。

    图3 丢失m块

    根据图2所示RS编码运算等式,可以得到如下B’ 以及等式。

    图4 vandermode矩阵

    (2)求出B’的逆矩阵。

    图5 B’逆矩阵

    (3)由于B’ 是可逆的,记B’的逆矩阵为 (B’^-1),则B’ * (B’^-1) = I 单位矩阵。两边左乘B’ 逆矩阵。

    图6 两边乘上B’逆矩阵

    (4)得到如下原始数据D的计算公式

    图7 单位矩阵

    即恢复原始数据D:

    图8 解码完成

    (5)对D重新编码,可得到丢失的数据

    纠删码在ceph中的应用

    以典型的读写过程来描述纠删码在ceph中的实现。假设使用RS(10,3)的方式,

    客户端要写入一个对象:

    • 副本池(3副本为例):

    OSD会将数据复制3份分别存放到3块不同的磁盘上(OSD1,OSD2,OSD3)

    • 纠删池(RS(10,3)为例)

    将原始数据按照顺序切分为若干相同大小的块,示例切分为10块;

    将对象基于纠删码算法进行编码,得到编码块数据,示例得到3块大小相同的数据;

    将编码后的数据块及编码块分别存放到13块不同的磁盘上(OSD1-OSD13)

    客户端要读取一个对象:

    • 副本池

    由于3副本存放的数据均相同,客户端直接从主OSD读取后返回

    • 纠删池

    如果数据块未丢失,那么需要从存放了多个数据块的不同磁盘上读取并按照顺序拼接,如果读的过程中检测到数据块丢失,那么除了需要从那些幸存的OSD上读取数据之外,还需要通过纠删码算法解码还原,最后按照顺序拼接后返回给客户端。

    纠删码在AWCloud中的应用

    在Ceph中纠删码相对于多副本而言,读取数据需要同时访问更多的磁盘,由算法本身带来的额外网络消耗,以及磁盘故障时额外CPU消耗,导致纠删码性能比多副本要差,因此仅适合于存储大量对时延不敏感的冷数据(如备份数据)。

    AWCloud利用FPGA高效的计算能力,将原本使用CPU计算的纠删码算法offload到FPGA硬件上,通过PCI-e方式完成数据在CPU和FPGA硬件之间的交换,最终达到降低CPU消耗的方式来提升集群性能,寻求成本与性能之间的平衡。

     

    展开全文
  • 概要:常见的分布式文件系统GFS、HDFS等,也新兴的基于区块链IPFS/Filecoin等。的广泛应用,的开始挑战,的是闭源,的开源。在不同的领域和不同的计算机发展阶段,它们都对数据存储起到了各自的作用。...

    https://blog.csdn.net/weixin_45494421/article/details/98760782

     

    概要:常见的分布式文件系统有GFS、HDFS等,也有新兴的基于区块链IPFS/Filecoin等。有的广泛应用,有的开始挑战,有的是闭源,有的开源。在不同的领域和不同的计算机发展阶段,它们都对数据存储起到了各自的作用。那么这些分布式文件系统都有什么优缺点?我们应该怎样选择适合自己的解决方案?

     

     

     

    一、HDFS:被雅虎开源的分布式文件系统

     

    Hadoop分布式文件系统(HDFS),是一个分布式、可扩展的Hadoop框架,具有高容错、低成本部署优势。HDFS提供对应用程序数据的高吞吐量访问,适用于具有大型数据集的应用程序。HDFS最初是作为Apache Nutch网络搜索引擎项目的基础设施而构建的,现在是Apache Hadoop子项目。

     

     

     

    HDFS如何工作?HDFS支持计算节点之间的数据快速传输,文件系统多次复制或复制每个数据,并将副本分发到各个节点,将至少一个副本放在与其他服务器机架不同的服务器上。因此,崩溃的节点上的数据可以在群集中的其他位置找到。这可确保在恢复数据时继续处理。这使得HDFS高容错性。简单来说,HDFS将文件拆分为块,并将它们分布在集群中的节点上。

     

     

     

    架构分析:HDFS采用的是主/从架构(master/slave )。HDFS集群由单个NameNode(主节点),这相当于一个主服务器,用于管理文件系统命名空间和管理客户端对文件访问。此外,还有许多DataNode(数据节点),通常是集群中每个节点之一,用于管理连接到运行的节点存储。在HDFS中,文件被分成一个或多个块,这些块存储在一组DataNode中。NameNode执行文件系统命名空间操作,如打开,关闭和重命名文件和目录。它还确定了块到DataNode的映射。DataNode负责提供来自文件系统客户端的读写请求。

     

     

     

     

     

    发展简史:源于谷歌,终于雅虎,归于开源

     

    最开始,雅虎公司为了加强广告服务和搜索引擎功能,推出了Hadoop分布式文件系统。由于优势明显,Facebook,eBay,LinkedIn和Twitter都开始使用它来处理不断增长的应用程序数据,还被纽约时报用作大规模图像转换。

     

     

     

    2006年,Hadoop的创始人将HDFS交给了Apache软件基金会。2012年,HDFS和Hadoop的版本1.0正式开启使用。2017年12月推出Hadoop 3.0,使得HDFS具备更强大的数据压缩和扩展性。2019年1月,Apache Hadoop 3.2发布。

     

     

     

    实际上,HDFS的主节点“数据分块”属性借鉴了谷歌文件系统(GFS)和IBM的GPFS的设计。尽管在Google算法的打击下,雅虎梦断搜索。但HDFS却躲开了攻击,成为最知名的分布式文件系统解决方案之一。2009年6月,雅虎把Hadoop开源了源代码可供开源社区使用。从搜索业务上,雅虎是“失败”和无奈的,但是从计算机数据处理和全球商业设施上讲,软件开源的价值是无价的。

     

     

     

    优势尽显,一半的财富50强公司使用

     

    HDFS通信协议都在TCP / IP协议之上,且主要使用Java语言构建,多端运行起来几乎没有障碍,这使得它的应用场景方便而快捷。这让许多公司的部署成本降至最低。HDFS是许多Hadoop生态系统技术的关键部分。

     

     

     

    2010年,Facebook宣布拥有全球最大的Hadoop集群,拥有21 PB的存储空间,两年后达到100 PB。截至2013年,Hadoop的应用已经变得非常普遍,且非常成功:超过一半的财富50强公司使用Hadoop。

     

     

     

    HDFS的最初灵感来自2003年10月发布的谷歌文件系统论文,这篇论文催生了谷歌的另一篇论文“MapReduce:大集群中的简化数据处理”(2004年)。可见谷歌在分布式文件系统上研究不仅早,而且行业领先。

     

     

     

     

     

    二、谷歌GFS和Colossus

     

    GFS(Google File System)又称为谷歌文件系统,是一种分布式文件系统。

     

     

     

    在GFS架构中(如下图),GFS的节点分为两类:主节点和大量的Chunkservers。Chunkservers存储数据文件,这些单个的文件象常见的文件系统中的簇或者扇区那样被分成固定大小的数据块(这也是名字的由来)。GFS将文件按照固定大小进行分块,默认是64MB,每一块称为一个Chunk(数据块),每个Chunk都有一个对应的索引号(Index)。而Client是GFS提供给应用程序的访问接口,也扮演节点的角色。

     

     

     

    流程简析:GFS采用中心服务器模式,即Master管理分布式文件系统中的所有元数据。文件划分为Chunk进行存储,对于Master来说,每个Chunk Server只是一个存储空间。Client发起的所有操作都需要先通过Master才能执行。

     

     

     

    好处是,只有一个中心服务器,元数据的一致性问题自然解决。坏处是整个系统会遭遇瓶颈,分布式节点(Chunk Server)之间没有保持关系。

     

     

     

    Google的核心需求是数据存储和使用。最初的GFS主要是为搜索引擎服务,最后变为云计算战略的一部分。如果要评价GFS,给予任何溢美之词都不为过,因为GFS从理念和设计都是划时代的。

     

     

     

    随着谷歌的壮大,凭借搜索、流媒体和云服务,霸占了数据高地。逐渐地,GFS的单点损坏和效率已经严重制约谷歌的下一步计划。

     

     

     

    2013年,Google公布了Colossus(直译“巨象”)项目,作为下一代的Google文件系统。

     

     

     

    早在2010年,谷歌发布了一个非常简单的云存储的架构文档“Colossus - Google Cloud”,并辅以文字描述,“Google operates planet-scale storage systems. What keeps us programming: Enabling application developers. Improving data locality and......”翻译过来就是:谷歌运营大规模的存储系统,让开发和应用产生质变。

     

     

     

    Colossus File System从一出生,它的使命只有一个:效率。它的最重要的特点之一就是自动分片元数据层。

     

     

     

    2017年,国际并行数据系统研讨会(PDSW)上,谷歌的高级软件工程师Denis Serenyi讲述了Colossus是如何提升存储效率。他指出了GFS架构问题:

     

    ●一台机器不足以满足大型文件存储

     

    ●元数据操作的单一瓶颈

     

    ●容错不够高

     

    ●延迟问题(尽管可以预见)

     

     

     

    鉴于此,GFS master节点只能被Colossus替代。Colossus存储效率对于优化谷歌的产品非常有用,它体现在:

     

    ●元数据扩展可以对资源进行分块

     

    ●能够组合不同大小的磁盘和各种类型的工作负载

     

     

     

     

    冷热数据的平衡与新分发

     

    Colossus是一个进化版,而非全新的版本。Colossus重新平衡了旧的冷数据,并在磁盘上进行进行新数据的分发。这样,像Youtube这样的视频平台,大量的数据存储和播放需求,会在分布式系统中以最快的效率触达用户。

     

     

    小知识:什么是冷数据?热数据?

     

    数据冷热管理是非常重要的一部分。比如IBM就会开发一套解决方案来测量数据的“温度”,并协助制定包含数据的运营和业务决策。

     

    热数据: 指的是将被频繁访问的数据,它们通常存储在快速存储器中。

     

    温数据:是指被访问频率相对较低的数据则,它们存储在相对较慢的存储器中。

     

    冷数据:极少被访问的数据,它们则会被存储在企业最慢的存储器中。

     

     

     

    三、IBM通用并行文件系统:GPFS

     

    IBM通用并行文件系统(General Parallel File System,简称GPFS)是一个面向企业的文件系统,用于替代HDFS。

     

     

     

    根据IBM官方的描述,GPFS支持数千个节点和PB级存储,数据在多个节点上复制存储,因此不存在单点故障。官方还不忘diss了一下HDFS的单点故障问题。解决IBM单点故障的方法是:如果节点出现故障,则会将更改复制到其他节点,GPFS会快速确定并恢复哪些块。节点崩溃时发生的更改也将复制恢复到上一个节点,以便节点与集群让的其他节点同步。

     

     

     

    IBM还使用了新的磁盘阵列技术(GPFS Native RAID)(如下图),针对破碎数据的重建和资源消耗,比传统的阵列减少了三到四倍。因为GPFS跨集群管理,整个系统性能表现对单个节点的重建存储阵列速度的依赖更加小。

     

     

     

    这让规模磁盘管理、镜像、基于策略的自动化和灾难恢复等成为GPFS的主要特点。

     

     

     

    GPFS是面向大规模高性能计算和大规模存储环境,可以跨多个服务器分发和管理数据。在GPFS集群之间的共享文件系统效率更高,提高了系统性能和文件一致性数据可用性和系统灵活性也提高,并简化了存储管理。

     

     

     

    2015年,IBM改名部将GPFS改为Spectrum  Scale,成为IBM Spectrum Storage(光谱存储)的一部分。下图为IBM官方架构图:

     

     

     

    IBM Spectrum Scale是针对云计算、大数据、数据、对象等的非结构化数据的高级存储管理系统,具备许多特点:高扩展性能、极高吞吐量、低延迟、数据感知和智能管理、全球协作、利用身份验证和加密保证数据完整性和安全性。在官网中,IBM称“企业组织的底层存储必须支持新时代的大数据和人工智能工作负载以及传统应用程序,同时确保安全性,可靠性和高性能。”而IBM Spectrum Scale作为一种高性能的大规模数据管理解决方案,正是为此而生。

     

     

     

    而且它还可在Amazon Web Services上使用。可见,IBM已经不甘心于做一个只存文件的文件系统,而是一个将文件存储作为底层设施的数据经济系统。将存储成本降低已经不再是第一优先目标,全局管理、全球共享、人工智能,都预示着IBM转变数据经济学的发展战略。

     

     

     

    四、华为分布式存储:FusionStorage

     

    FusionStorage是华为的一款可大规模横向扩展的智能分布式存储产品。面向虚拟化/云资源池、关键业务数据库、大数据分析、内容存储/备份归档等应用场景,是客户具备云基础架构的弹性按需服务能力,又满足企业关键业务需求。在其官网,目前客户已经有招商银行、中国移动、中国电信。

     

     

     

     

     

     

    那么,华为分布式存储的架构是什么?FusionStorage块存储采用分布式集群控制技术和 DHT网络路由技术,提供分布式存储功能特性。(如下是块存储功能架构图)

     

     

     

    在系统架构上,FusionStorage使用全分布式架构。在企业级特性上,FusionStorage优势明显:快照,链接克隆,数据加密,Active-Active,远程复制,精简配置,重删压缩和QoS等。在存储底层,依旧采用了分布式数据路由和集群管理,这是常见的技术解决方案。为了解决一致性问题,华为加入了强一致性复制协议,和并行数据重建功能。在存储服务层,值得关注的是分布式Cache技术,这利于索引效率和容灾备份。最后,FusionStorage提供了存储接口的良好支持,对上层的应用和虚拟机提供标准的iSCSI块存储接口。

     

     

     

    强一致性复制协议:

     

    当应用程序成功写入一份数据时,后端的几个数据副本必然是一致的,当应用程序再次读时,无论在哪个副本上读取,都是之前写入的数据。FusionStorage采用类似同步镜像、复制技术,一份数据在本地写成功,还会等待其他远端副本返回写成功后,才标志着本次写成功,返回上层业务。

     

     

     

    SCSI:

     

    即小型计算机系统接口。它是各种计算机与外部设备之间的接口标准。iSCSI是由Cisco和 IBM两家发起的,基于TCP/IP上的协议。iSCSI的优势:长距离连接,更低成本,简化部署和实施,固有的安全性。但是iSCSI仍受到几个掣肘:iSCSI架构于IP协议之上,因此也继承了IP协议本身的缺陷:区分不同流量优先等级,防止丢包的QoS与流量控制机制不足。如果主机I/O处理能力、存储阵列性能无法跟上,则存储网络整体性能同样会受到影响。目前iSCSI在高I/O环境下的性能表现仍不如光纤通道。

     

     

     

    值得强调的是,FusionStorage 支持使用HDFS插件, 实现与业界主流大数据平台的对接。(下图为FusionStorage逻辑架构)

     

     

     

     

     

     

    FusionStorage 文件存储当前支持与 Huawei FusionInsight、Cloudera CDH 等主流厂商的大数据软件产品的对接。FusionStorage 对象存储提供兼容 Amazon S3 的对象存储接口,支持与 Hadoop 大数据平台的对接。并支持OpenStack等云平台兼容。

     

     

     

    除了在金融、大企业等领域,在制造、运营商等行业中,随着新兴业务的激增、业务数据呈现几何倍数的快速增长,使得企业数据中心存储系统开始面临新的挑战。FusionStorage 通过系统软件将通用硬件的本地存储资源组织起来构建全分布式存储池,支持灵活购买和部署,帮助企业轻松应对业务快速变化时的数据灵活、高效存取需求。

     

     

     

    华为在2012年发布FusionStorage,目前最新的版本是重大升级后的FusionStorage 8.0。根据Intel官方文件,华为FusionStorage已经进入Intel Select Solutions(因特尔选择方案)。

     

     

     

    五、星际文件系统:IPFS

     

    IPFS(InterPlanetary File System)星际文件系统,是一个点对点的分布式存储和超媒体传输协议,使用内容寻址的进行数据分发。IPFS依靠分散的全球网络节点构成一个分布式系统,使得网络更加安全和高效。IPFS属于开源项目,创始人为斯坦福大学Juan Benet,他建立了协议实验室Protocol Labs,主导开发了IPFS、Filecoin等协议。

     

     

     

     

     

     

    IPFS旨在让全球计算设备连接到同一个文件系统中,且是分布式和结构。IPFS提供了一个高吞吐量、按内容寻址的块存储模型IPFS没有单点故障,并且节点不需要相互信任。为了激励更多节点,IPFS官方发布了一个由加密数字货币驱动的分布式存储网络——Filecoin建立在IPFS协议之上,它是IPFS的激励层。

     

     

     

     

    Filecoin建立的是一个去中心化的存储市场,客户支付FIL进行存储数据,矿工(存储节点)提供硬盘空间存下数据获得FIL奖励。这是其基本经济模型。

     

     

     

    Filecoin的文件经过哈希算法,安全存储于分布式节点,经过点对点传输。存储节点并不知道存储的数据副本具体是什么,因为Filecoin采用了端对端加密技术。由于采用分布式哈希路由,同上文中的HDFS\GPFS等系统一样,IPFS同样具备高容错性。

     

     

     

    不过Filecoin最突出的地方在于,它是区块链技术形态下的分布式文件系统,意味着它是去中心化架构。没有中心化服务器控制,没有单点故障(并不意味着不会发生,而是有专门的修复机制),无需中间人,节点之间也无需第三方来保证信任。Filecoin是一个透明、开发、可信的网络,区块链就是它的信任链,在链上,数据交易全部可查。基于Filecoin的文件版本机制,文件可溯源,解决数据大量重复存储和冗余问题。

     

     

     

    作为去中心化的存储网络,都会设计共识Proof of Storage(存储证明),Filecoin和Sia等网络均如此。不过,Filecoin设计了新的证明机制叫做PoRep(复制证明),用于证明机器设备存储了数据。还有PoST(时空证明),用于锚定存储数据和时间戳,证明在某一时间矿工存储着数据。依靠两种算法机制,有效防止女巫攻击等数据造假、欺骗等行为。Filecoin存储网络最大的特征就是安全。

     

     

     

    截至2019年8月,Filecoin主网并未上线。根据官方路线图, 预计上线时间为2019 Q3/Q4,在上线之前之前将会(必须)进行代码冻结并申请美国的审计。从时间点上看,Filecoin还未真正步入全球云存储市场,但是它的设计将会为分布式文件系统带来新的解决方案。

     

     

     

    总结Filecoin的优点:

     

    ●去中心化

     

    ●分布式节点网络,无单点问题

     

    ●加密技术保护数据完整性和安全性

     

    ●存储成本和传输成本远低于中心化系统

     

    ●通证激励

     

     

     

    Filecoin是IPFS官方激励层,同样在IPFS生态,IPSE承担着IPFS应用检索层的重任。Filecoin重存储,IPSE重搜索。但这并不代表Filecoin网络没有检索,实际上,检索市场也是其数据验证环节的关键部分。同样不能将IPSE单纯规类为分布式搜索,因为它也有底层的存储方案。(下图是IPSE的分布式存储结构和共识机制)

     

     

     

    为了让分布式节点的数据能以最快的速度触达,IPSE采用效率优先原则。基于区块链共识机制PoST(存真证明)和数据持有证明PDP,使数据安全存储在磁盘介质上。尽管如此,为了实现更好的存储安全性,IPSE的数据多份保存和多节点分散保存。矿工如果无法完成对挑战到的数据切片做出PDP持有性证明将会遭受惩罚。对于陈旧的数据,IPSE采用智能嗅探和周期性任务分发,使数据保存期限将和机器硬件使用寿命同步。

     

     

     

    为了数据被访问到,依靠强大的检索引擎,IPSE数据索引能能够获取分布式节点网络上的数据。从数据源-数据存储-数据检索-数据访问,构建了完整的数据生命流程。

     

     

     

    除了上述网络,分布式文件系统的解决方案包括:Sia和Sotrj。它们都建立了一个租用和支付通证的存储空间,去中心化,数据为自己的私有,存储都将进行加密。目前,Sia已经进行了商用,Storj还在Alpha 4开发阶段。

     

     

     

     

     

    六、总结:

     

    分布式文件系统最初是为响应逐渐增大的数据规模而设计,相继出现了不同的解决方案。有谷歌、IBM等传统科技大公司为自己设计的系统,也有进行开源而被大众使用的系统。

     

     

     

    它们都想获得这样的目标:满足PB级的数量存储、高吞吐量、尽可能低的访问延迟、快速部署与低成本应用。

     

    它们都使用了相同或相似的技术架构和思路:集群系统、节点管理系统、可扩展结构、副本备份、容错管理。

     

    它们都遇到了同样的问题:一致性事物处理、通信资源消耗、数据的存取结构复杂、数据的安全性和保密性。

     

     

     

    因此,只要存储存在,机会和挑战就并存。而且方案不止一种(其它的分布式文件系统还有:Lustre文件系统、淘宝TFS系统等)。

     

     

     

    毫无疑问,对比通用文件系统,分布式文件系统非常适合大规模数据集上应用,为企业组织的业务部署带来了成本和管理优势。不过如果追求高效,那么就要有数据丢失和安全方面的牺牲。如果着重安全,效率又会收到影响。如果问,哪个分布式文件系统最好?闭源还是开源?中心化和去中心化应该如何选择?

     

     

     

     

    寻找分布式文件系统的最佳答案,不如先从计算机网络发展的三个主要阶段中寻找。(如图)

     

    第一阶段,集中式网络。这是第一个计算机网络。它们以一台主计算机(服务器)为中心代表,周围有有许多其他计算机连接到它。结果,如果主计算机上的信息被擦除或丢失,数据就从整个网络中消失了。

     

     

     

    第二阶段,去中心化的网络。意味着有多个主服务器连接了多个辅助服务器。因此,其中一个服务器的问题不会影响整个网络。弊端是控制主服务器就控制了关联数据。

     

     

     

    第三个阶段,分布式网络。目前,我们正在见证一种全新的、革命性的计算机网络的兴起——分布式网络节点内的所有计算机都作为对等体存在,且互相连接。假如其中一个节点关闭或者崩溃,数据信息仍将在网络中的其余计算机节点上可用(直到最后一个节点关闭)。

     

     

     

    传统的分布式文件系统(无论谷歌闭源的GFS还是开源的HDFS),在效率上和应用上都具备实践优势。但它们都为摆脱中心化结构。因此,引发了安全和信任问题。随着计算机网络进入新的阶段,分布式存储文件系统的技术要求将更高,同时要在开发难度和易用性做出平衡,在部署上要取得更好的成本优势。基于区块链技术的分布式文件系统(如IPFS/Filecoin/IPSE/Sia)提供了透明可信任的网络,展示了不同的数据形态。但是,这些网络在大规模商用上还处于探索和初步实践阶段。

     

     

     

     

     

    参考资料

     

    [1]HDFS介绍

     

    https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html

     

    [2]《GFS谷歌文件系统论文(2003)》

     

    https://ai.google/research/pubs/pub51

     

    [3]Colossus - Google Cloud

     

    https://cloud.google.com/files/storage_architecture_and_challenges.pdf

     

    [4]Denis Serenyi《Cluster-Level Storage at Google,How we use Colossus to improve storage efficiency?》

     

    http://www.pdsw.org/pdsw-discs17/slides/PDSW-DISCS-Google-Keynote.pdf

     

    [5]《华为FusionStorage 6.3 技术白皮书》

     

    [6]FusionStorage 8.0.0 产品描述

     

    https://e.huawei.com/cn/products/cloud-computing-dc/storage/cloud-storage/fusionstorage#specification

     

    [7]iSCSI存储系统基础知识

     

    https://community.emc.com/docs/DOC-33815

     

    [8]GPFS 4.1.0.4-Advanced Administration Guide

     

    https://www-01.ibm.com/support/docview.wss?uid=pub1ga76044201

     

    IBM Spectrum Scale 5.0.0: Administration Guide

     

    https://www.ibm.com/support/knowledgecenter/STXKQY_5.0.0/com.ibm.spectrum.scale.v5r00.doc/pdf/scale_adm.pdf

     

    [9]Implementing the IBM General Parallel File System (GPFS) in a Cross-Platform Environment

     

    [11]Google: Storage Architecture and Challenges

     

    [12]《IBM红皮书:IBM Spectrum Scale (formerly GPFS) 》

     

    http://www.redbooks.ibm.com/redbooks/pdfs/sg248254.pdf

     

    [13]IPFS星际文件系统

     

    https://ipfs.io/

     

    [14]IPSE技术黄皮书

     

    https://ipfssearch.io/

     

    [15]Sia白皮书

     

    https://sia.tech/sia.pdf

     

    [16]Filecoin白皮书

     

    https://filecoin.io/filecoin.pdf

     

    [17]Filecoin路线图

     

    https://docs.google.com/document/d/1cgss-rifFO2iSJgnMmOsD_tPal40MUp1m7crTFQuVYQ/edit#

     

    展开全文
  • Kudu是cloudera开源运行在hadoop平台上列式存储系统,拥有Hadoop生态系统应用的常见技术特性,运行在一般商用硬件上,支持水平扩展,高可用。 kudu 定位是 「Fast Analytics on Fast Data」,是一个既支持随机...
  • 分布式系统面试 - 常见问题

    千次阅读 2019-03-03 21:54:37
    他们共同的一个问题,就是都没怎么搞过分布式系统,现在互联网公司,一般都是做分布式的系统,大家都不是做底层的分布式系统、分布式存储系统 hadoop hdfs、分布式计算系统 hadoop mapreduce / spark、分布式流式...
  • 缓存是分布式系统开发中的常见技术,在分布式系统中缓存,不止 Redis、Memcached 等后端存储;在前端页面、浏览器、网络 CDN 中也都缓存身影。 文章目录缓存哪些分类前端缓存网络传输缓存服务端缓存数据库...
  • 分布式QoS算法解析

    2020-09-03 17:35:00
    进入正题之前,我们先来了解背景知识,即什么是QoS,分布式QoS又是什么,哪些常见的QoS算法。最后我们再来讨论本文正题:mClock算法和dmClock算法。 01 什么是QoS QoS是Quality of Service的缩写,它起源于网络...
  • 分布式系统设计导论

    2017-05-11 14:41:00
    1、定义   从实用主义角度描述分布式系统,即系统对外统一的入口,系统内的业务层进程可以无限多个,即可水平扩展,可根据计算量增减机器。存储层支持水平扩展,可根据计算...一般互联网系统常见的分布式系统...
  • redis是现在企业使用最广泛缓存技术,而在redis以前memcache是一些公司最常用缓存技术,它们比较相似,但如下一些区别: (1)redis相对于memcache来说拥有更丰富数据类型,可以适用更多复杂场景。 (2)...
  • 大型网站是一种很常见的分布式系统,那么什么是大型网站呢?在学术上没有明确的定义,但我觉得它几个衡量指标:高并发量(高访问量),海量数据,自身业务和系统复杂度等。同时,大型网站的核心功能是计算和存储。...
  • 1 什么是分布式文件系统 1.1 技术应用场景 文件太多如何高效存储?用户访问量大如何保证下载速度?...文件系统是操作系统用于明确存储设备(常见的是磁盘,也基于NAND Flash的固态硬盘)或分区上的文...
  • 常见的存储平台哪些呢?下面千锋就来给大家简单介绍一下有关云存储的相关知识。  云存储与云计算什么关系?  狭义的云计算是IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源。云...
  • 现在的互联网,几乎常见的复杂系统都会使用分布式架构,如果在不清楚概念之前,刚接触分布式架构这个名词会感觉十分的高大上,其实在对比单服务,集群服务之后,你就会发现本质上都是一样的。 在本场 Chat 中,会讲...
  • .NET平台常见技术框架整理汇总

    万次阅读 多人点赞 2019-02-06 08:51:48
    使用.NET平台开发段时间了,在网上资料的基础上做了进一步整理,汇集了.NET平台常见的技术框架。 参考资料: 基于.NET平台常用的框架整理 1.知识网络 2.分类清单 2.1.分布式缓存框架 名称 说明 地址 ...
  • MySQL技术内幕Innodb存储引擎 七 事务 事务分类 扁平事务(最常见) 带保存点扁平事务 链事务 嵌套事务 分布式事务 事务实现 redo 基本概念 用来保证事务原子性和持久性,通常记录是页物理修改操作...
  • 《大数据:互联网大规模数据挖掘与分布式处理》源自作者在斯坦福大学教授多年“Web挖掘”课程材料,主要关注大数据环境下数据挖掘实际算法。书中分析了海量数据集数据挖掘常用算法,介绍了目前Web应用许多...
  • 《大数据:互联网大规模数据挖掘与分布式处理》源自作者在斯坦福大学教授多年“Web挖掘”课程材料,主要关注大数据环境下数据挖掘实际算法。书中分析了海量数据集数据挖掘常用算法,介绍了目前Web应用许多...
  • 大数据平台处理数据量通常是TB级,甚至是PB或EB级数据,这是传统数据仓库工具无法处理完成,其涉及的技术有分布式计算、高并发处理、高可用处理、集群、实时性计算等,汇集了当前IT领域热门流行各类技术。...
  • 【IT168 编译】在分布式存储领域,Ceph 和 Gluster 是两个很常见的开源软件平台,可以用来存储和管理大量数据。在进行技术选型时,对比两者很必要,它们的区别主要体现在数据存储方式和检索的复杂性上。Ceph 和 ...
  • 基于Dedup数据打包技术

    万次阅读 热门讨论 2010-01-09 20:39:00
    基于Dedup数据打包技术作者简介 :刘爱贵,研究方向为网络存储、数据挖掘和分布式计算;毕业于中科院,目前从事存储软件研发工作。 Email: Aigui.Liu@gmail.com注: 作者学识和经验水平有限,如错误或不当之处,...
  • Block chain,一句话来说,区块链是一个存储系统,存储系统更细一点,区块链是一个没有管理员,每个节点都拥有全部数据的分布式存储系统。 那常见的存储系统,是什么样子的呢? 如上图所示,底部是数据,上面可以...
  • 【IT168 编译】在分布式存储领域,Ceph和Gluster是两个很常见的开源软件平台,可以用来存储和管理大量数据。在进行技术选型时,对比两者很必要,它们的区别主要体现在数据存储方式和检索的复杂性上。 ...
  • 由于使用了层,因此对于关系领域的技术人员来说很容易使用。 。 OrientDB是关系DBMS吗? 不会。OrientDB坚持运动,即使它支持和作为查询语言。 这样一来,无需学习太多新知识就可以轻松开始使用它。 可扩展性:...
  • MySQL Cluster是MySQL适合于分布式计算环境高实用、高冗余版本。它采用了NDB Cluster存储引擎,允许在1个Cluster中运行多个MySQL服务器。MySQL Cluster是一种技术,该技术允许在无共享系统中部署“内存中”...
  • MySQL Cluster是MySQL适合于分布式计算环境高实用、高冗余版本。它采用了NDBCluster存储引擎,允许在1个Cluster中运行多个MySQL服务器。MySQLCluster是一种技术,该技术允许在无共享系统中部署“内存中”数据库...
  • mysql cluster的常见问题

    千次阅读 2016-05-07 01:10:44
    MySQL Cluster是MySQL适合于分布式计算环境高实用、高冗余版本。它采用了NDB Cluster存储引擎,允许在1个Cluster中运行多个MySQL服务器。 MySQL Cluster是一种技术,该技术允许在无共享系统中部署“内存中”...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 205
精华内容 82
关键字:

常见的分布式存储技术有