【网站高性能 2】----RAID vs HDFS

news/2024/5/21 18:47:13/文章来源:https://blog.csdn.net/u013067756/article/details/54316845


RAID  vs  HDFS

 

一,定义:

    RAID:全称是(Redundant Arrays of independent Disks,DAID)叫磁盘阵列:有独立磁盘构成的具有冗余能力的阵列的意思。

    raid通俗的说就是有很多价格较合理的磁盘,组成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统的效能陈RAID技术。

 

       HDFS:这个全称是Hadoop分布式文件系统。HDFS有着高容错性(fault-tolerant),并且设计用来不是在低廉的硬件上,而且它提供高吞吐量来访问应用程序的数据,非常的使用超大数据集(large data set)的应用程序。

 

二,RAID有什么?

  RAID(廉价磁盘冗余阵列)技术主要是为了改善磁盘的访问延迟,增强磁盘的可用

性和容错能力。目前服务器级别的计算机都支持插入多块磁盘(8块或者更多),通过使

用RAID技术,实现数据在多块磁盘上的并发读写和数据备份。

    我们常用RAID技术有以下几种,

                     


我们假设服务器有N块磁盘。

RAID0---读写速度极快

      数据在从内存缓冲区写入磁盘时,根据磁盘数量将数据分成N份,这些数据同时并发写入N块磁盘.使得数据整体写入速度是一块磁盘的N倍。读取时也一样,因此:

     优点:具有极快的数据读写速度。

     缺点:但是RAIDO不做数据备份,N块磁盘中只要有一块损坏,数据完整性就被破坏,所有磁盘的数据都会损坏。


RAID1---可靠性极高

     数据在写入磁盘时,将一份数据同时写入两块磁盘,这样任何一块磁盘损坏都不会导致数据丢失,插入一块新磁盘就可以通过复制数据的方式自动修复,具有极高的可靠性。


 RAID10---兼raid0 和raid1 优点

    结合RAIDO和RAID!两种方案,将所有磁盘平均分成两份,数据同时在两份磁盘写入,相当于RAID1,但是在每一份磁盘里面的N/2块磁盘上,利用RAID0技术并发读写,既提高可靠性又改善性能,不过RA1D10的磁盘利用率较低,有一半的磁盘用来写备份数据。


RA1D3

一般情况下,一台服务器上不会出现同时损坏两块磁盘的情况,在只损坏一块磁盘的情况下,如果能利用其他磁盘的数据恢复损坏磁盘的数据,这样在保证可靠性和性能的同时,磁盘利用率也得到大幅提升。在数据写入磁盘的时候,将数据分成N--1份,并发写入N--l块磁盘,并在第N块磁盘记录校验数据,任何一块磁盘损坏(包括校验数据磁盘),都可以利用其他N--1块磁盘的数据修复。

     但是在数据修改较多的场景中,修改任何磁盘数据都会导致第N块磁盘重写校验数

据,频繁写入的后果是第N块磁盘比其他磁盘容易损坏,需要频繁更换,所以RAID3很

少在实践中使用。


RA1D5

    相比RAID3,方案RAID5被更多地使用。

     RA1D5和RAID3很相似,但是校验数据不是写入第N块磁盘,而是螺旋式地写入所这样校验数据的修改也被平均到所有磁盘上,避免RAID3频繁写坏一块磁盘


RAID6

     如果数据需要很高的可靠性,在出现同时损坏两块磁盘的情况下(或者运维管理水平比较落后,坏了一块磁盘但是迟迟没有更换,导致又坏了一块磁盘),仍然需要修复数据,这时候可以使用RAID6。

     RAID6和RAIDS类似,但是数据只写入N--2块磁盘,并螺旋式地在两块磁盘中写入校验信息(使用不同算法生成)。在相同磁盘数目(N)的情况下,各种RAID技术的对比如下:

                       

 

三,有了RAID,为什么还要HDFS?

     RAID技术可以通过硬件实现,比如专用的RAID卡或者主板直接支持,也可以通过软件实现。RAID技术在传统关系数据库及文件系统中应用比较广泛,但是在大型网站比较喜欢使用的NoSQL,以及分布式文件系统中,RAID技术却遭到冷落。例如在HDFs(Hadoop分布式文件系统)中,系统在整个存储集群的多台服务器上进行数据并发读写和备份,可以看作在服务器集群规模上实现了类似RAID的功能,因此不需要磁盘RAID。


HDFS原理:

     HDFS的原理是以块(Block)为单位管理文件内容,一个文件被分割成若干个Block,当应用程序写文件时,每写完一个Block,HDFS就将其自动复制到另外两台机器上,保证每个Block有三个副本,即使有两台服务器宕机,数据依然可以访问,相当于实现了RAIDI数据复制功能当对文件进行处理计算时,通过MapReduce并发计算任务框架,可以启动多个计算子任务(MapReduceTask),同时读取文件的多个Block,并发处理,相当于实现了RAIDO并发访问功能。HDFS架构如图:

                                            


     在HDFS中有两种垂要的服务器角色:NameNode(名字服务节点)和DataNode(数据存储节点)。NameN0de在整个HDFS中只部署一个实例,提供元数据服务,相当于操作系统中的文件分配表(FAT),管理文件名Block的分配,维护整个文件系统的目录树结构。DataNode则部署在HOFs集群中其他所有服务器上,提供真正的数据存储服务:和操作系统一样,HDFS对数据存储空间的铃理以数据块(Block)为单位,只是比操作系统中的数据块(512字节)要大得多,默认为64MB。HDFS将DataNode上的磁盘空间分成N个这样的块,供应用程序使用。应用程序(Clicnt)需要写文件时,首先访问NameNode,请求分配数据块,NameN0de根据管理的DataNode服务器的磁盘空间,按照一定的负载均衡策略,分配若干数据块供Client使用。

 

小结:

      所以当Clieni写完一个数据块时,HDFS会将这个数据块再复制两份存储在其他DataNede服务器上,HDFS默认同一份数据有三个副本,保证数据可靠性。因此在HDFS中,即使DataNode服务器有多块磁盘,也不需要使用RAID进行数据备份,而是在整个集群上进行数据复制,而且系统一旦发现某台服务器宕机,会自动利用其他机器上的数据将这台服务器上存储的数据块自动再备份一份,从而获得史高的数据可靠性。HDFS配合MapReducc等并行计算框架进行大数据处理时,可以在整个集群上并发读写访问所有的磁盘,无需RAID支持即可。

 


       这两次都是从硬件本身一个是更换存储器,另一个是更改阵列来提升网站架构性能,我还能在存储器性能进行优化吗?这边,小编想起来了,可以从存储方式—数据结构方面来改善,具体请看下一博文:


         【网站高性能 3】----B+树 vs LSM树http://blog.csdn.net/u013067756/article/details/54346584

 





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_722778.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网站高性能 3】----B+树 vs LSM树

B树 vs LSM树 前言: 在前面我们介绍到,性能优化之存储性能优化有将(1)机械硬盘改成固态硬盘,(2)磁盘阵列方式RAID vs HDFS ,今天小编和大家分享一个在存储过程,从数据…

【网站高性能 4】----网站本身测试(一)

【网站高性能 4】----网站本身测试指标(一) 一个好的网站,我们总会有看起来舒服,浏览起来速度给力,这是我们最基本的评判,那么从专业的角度来说,到底有哪些指标呢? 今天小编就带你一…

【网站高性能 5】----网站本身测试(二)

【网站高性能 5】----网站本身测试(二) 前言: 一个网站好不好,从不同的人看起来是不同的。比如我现在是用户,评价一个网站好坏那就很简单,每一次的点击打开,页面反映的快慢就反应出网站的好坏&a…

【网站高性能 6】----大型网站架构演化知多少(一)

架构演化知多少(一) 前言: 在大型网站中的技术挑战主要是来自什么?主要是庞大的用户、高并发的访问和海量的数据,任何简单的业务一旦要处理数以P计的数据和数以亿计的用户,问题就会变的很棘手。那么大型网站…

【网站高性能 7】----大型网站架构演化知多少(二)

大型网站架构演化知多少(二) 前言: 在前一博文:大型网站架构演化知多少(一)中小编介绍了大型网站的架构发展历程,从初级的架构中只有一台服务器到增加服务器,再到使用缓存&am…

你不可不知的网站:stackoverflow

你不可不知道的网站:stackoverflow 序言: 这是个什么东西?” stackoverflow” 是个国外的论坛网站,计算机技术交流社区,基本上我们现在遇到的问题,在那里都可以找到相关的答案,我们中文遇到的问…

asp.net 客户 显示当前日期时间 服务器 日期时间,ASP.net网站上如何显示当前日期...

在之前的论坛文章中,我们介绍了一种通过JS调用的方式去显示网站当前日期的方法,这个方法适用于PHP,ASP网站,但对于ASP.NET的网站却无法正常的调用出当前的时间。对于ASP.NET网站,要想显示当前的时间,可以使…

服务器网站空间有大小吗,网站服务器和空间大小

网站服务器和空间大小 内容精选换一换GS_WLM_USER_RESOURCE_HISTORY系统表存储与用户使用资源相关的信息,仅在CN上有效。该系统表的每条记录都是对应时间点某用户的资源使用情况,包括:内存、CPU核数、存储空间、临时空间、算子落盘空间、逻辑…

网站漏洞扫描软件wrbscanner_【正方公司】软件安全测试工作介绍(工具篇)

点击蓝字关注我们软件安全一直以来是困扰所有用户和软件从业者的重要问题,正方软件人一直在教育软件安全方面不懈努力,不断引进各种技术手段和工具,提高产品的安全质量。在这里抛砖引玉,简要说说安全扫描工具和安全检测机制。首先…

php 契约编程,PHP契约式编程 第2页_Linux编程_Linux公社-Linux系统门户网站

契约式编程使用抽象类和接口实现契约式编程,这样编程可以使结构更清晰,扩展性高;特别适用于团队开发项目框架编写,比如可以通过定义一个数据库操作模型module,使所有需要操作数据库的module派生类都必须实现模型中的方…

网站的设计风格

这篇文章翻译至:http://www.webdesignfromscratch.com/current-style.cfm 这篇文章前几天看见Mars刊过,不过仅简单列出几个中文标题,对于广大网民来未免有些遗憾。今天终于见到来自淘宝UI团队的辛勤翻译稿,忙不择转过来&#x…

毛哥的快乐生活(26) Servlet版新闻网站之前端样式编码

工欲善其事必先利其器的VSCode 毛哥的原型图都已经画好了,第二天火急火燎的找到小范妹子,想再次目睹范妹子前端设计的风采。 这次毛哥好好瞄了一眼范妹子编码环境,果然是传说中的VSCode,写前端代码相当犀利效果那是顶呱呱。心里好一阵盘算回去自己也要入手最新的VScode用…

做网站用UTF-8还是GB2312?

经常我们打开外国网站的时候出现乱码,又或者打开很多非英语的外国网站的时候,显示的都是口口口口口的字符, WordPress程序是用的UTF-8,很多cms用的是GB2312。 ● 为什么有这么多编码? ● UTF-8和GB2312有什么区别&…

毛哥的快乐生活(28) Servlet版新闻网站之登录页实现

背景 毛哥决定先捋捋思路,每当毛哥想到【思路】这两个字,毛哥就是认真了。非常可怕,因为凡事就怕认真。凡事都怕,你怕不怕? 反正毛哥怕了,嘿,开心的怕。 实际上做到现在,核心功能也就一个Servlet,然后通过识别用户请求里面的method参数,向浏览器返回不同内容。 当…

.NET程序员必须知道的八个网站

当前全球有数百万的开发人员在使用微软的.NET技术。如果你是其中之一,或者想要成为其中之一的话,我下面将要列出的每一个站点都应该是你的最爱,都应该收藏到书签中去。 对于不熟悉.NET技术的朋友,需要说明一下,.NET提供…

JSP+MySQL校园新闻网站(2)–开发环境搭建

点此查看系列文章目录、源代码 本文目录0. 前言1. 背景2. JDK安装3. JDK环境变量配置4. Tomcat下载5. Eclipse下载6. Eclipse配置7. MySQL下载安装8. Navicat下载安装9. 总结0. 前言 系列文章目录、演示网站、源码参见:项目实战系列文章 1. 背景 上一篇讲了需求分…

JSP+MySQL校园新闻网站(3)–数据库与java项目创建

点此查看系列文章目录、源代码 本文目录0. 前言1. 新建数据库2. 新建项目3. 导入jar包4. 准备就绪0. 前言 系列文章目录、演示网站、源码参见:项目实战系列文章 1. 新建数据库 使用Navicat新建数据库shcoolnews。 为了保存管理员用户名、密码,新建us…

JSP+MySQL校园新闻网站(4)–新闻浏览功能开发

点此查看系列文章目录、源代码 本文目录0. 前言1. 任务2. 功能3. 开发3.1 新建view.jsp页面3.2 修改页面编码和标题3.3 添加JDBC数据库操作支持3.4 添加顶部标题栏3.5 为标题栏添加样式3.6 添加新闻表格3.7 为表格添加样式3.8 从数据库加载表格内容3.9 插入测试数据&#xff0c…

JSP+MySQL校园新闻网站(5)–新闻查看功能开发

点此查看系列文章目录、源代码 本文目录0. 前言1. 任务2. 具体功能3. 开发3.1 查看原来的跳转链接3.2 新建article.jsp页面3.3 根据id从数据库查询并显示3.4 为新闻标题添加样式4. 总结0. 前言 系列文章目录、演示网站、源码参见:项目实战系列文章 1. 任务 本篇来…

JSP+MySQL校园新闻网站(6)–管理员登录功能开发

点此查看系列文章目录、源代码 本文目录0. 前言1. 任务2. 具体功能3. 开发流程3.1 点击登录按钮3.2 添加登录页面3.3 判断登录状态3.4 开发错误信息页4. 测试5. 小结0. 前言 系列文章目录、演示网站、源码参见:项目实战系列文章 1. 任务 之前已经实现了新闻列表的…