系统架构师成长之路(五)

     在计算机发展的初期,“大容量”硬盘的价格还相当高,解决数据存储安全性问题的主要方法是使用磁带机等设备进行备份,这种方法虽然可以保证数据的安全,但查阅和备份工作都相当繁琐。为什么大数据集群不需要做Raid?在集群规模达到一定规模的时候,为什么需要使用DNS

     为什么大数据集群不需要使用RAID

     1.HDFS所提供的节点间复制技术已经满足了数据备份需求,无需使用Raid的冗余机制

     2.尽管Raid条带化技术被广泛用于提升性能,但是其速度仍然比HDFSJBOD慢,Raid的读写操作受限于磁盘阵列中最慢盘片的速度,而JBOD得磁盘操作均独立,因而平均读写速度高于最慢盘片的读写速度。

     3.如果JBOD配置的某一磁盘出现故障,HDFS还可以忽略该磁盘,继续工作。相比之下,raid的某一盘片故障会导致整个磁盘阵列不可用。

     大规模集群为什么需要使用DNS

     在做主机和IP解析的时候,通常的做法是写hosts文件,但是Hadoop集群大了以后做hosts文件很麻烦,每次加新的服务器都需要整个集群重新同步一次hosts文件,另外,如果在同一个域下面做两个集群,做distcp,也需要把两个集群的hosts文件全写完整并完全同步,很麻烦。那么,一劳永逸的办法就是做DNS

RAID磁盘阵列

     RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。

     最初开发RAID的主要目的是节省成本,当时几块小容量硬盘的价格总和要低于大容量的硬盘。目前来看RAID在节省成本方面的作用并不明显,但是RAID可以充分发挥出多块硬盘的优势,实现远远超出任何一块单独硬盘的速度和吞吐量。除了性能上的提高之外,RAID还可以提供良好的容错能力,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏磁盘的影响。

RAID分类

     RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID 0知识单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0不能应用于数据安全性要求高的场合。

    RAID 1它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重建组失效的数据。

     RAID 0+1也被成为RAID 10标准,实际是将RAID 0RAID 1标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。

     RAID 2将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用称为“加重平均纠错码(海明码)”的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂,因此在商业环境中很少使用。

     RAID 3它同RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID 3使用简单的奇偶校验,并使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。

    RAID 4RAID 4同样也将数据条块化并分布于不同的磁盘上,但条块化单位为块或记录。RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID 4在商业环境中也很少使用。

    RAID 5RAID 5不单独制定的奇偶盘,而是所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。

     RAID 3RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

    RAID 6:RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID 6很少得到实际应用。

     RAID 7:这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID 7可以看作是一种存储计算机(Storage Computer),它与其他RAID标准有明显区别。除了以上的各种标准,我们可以如RAID 0+1那样结合多种RAID规范来构筑所需的RAID阵列,例如RAID 5+3(RAID 53)就是一种应用较为广泛的阵列形式。用户一般可以通过灵活配置磁盘阵列来获得更加符合其要求的磁盘存储系统

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《软件架构师成长之路》是一本面向软件架构师成长指南书籍,从多个方面讲述了软件架构师的角色、工作、职业规划等方面,是一本值得软件架构师认真学习的好书。 在书中,作者通过系统性的介绍软件架构架构师角色定位、架构设计原则、架构分析、架构优化等多个方面,阐述了软件架构师学习和成长的道路。通过这些方面的学习,软件架构师可以将自己的能力逐渐提升到一个更高的水平,独当一面。 除此之外,作者还强调了软件架构师需要具备的软技能,如沟通技巧、谈判能力、领导力等,这些技能的掌握可以帮助软件架构师更好地与团队沟通合作,达成共识,减少团队出现问题的几率。 总而言之,从本书中学习可以帮助软件架构师提升自己的核心能力,成为更好的架构师,同时具备足够的软技能,处理好人际关系,使得自己在团队中立足、发展。 ### 回答2: 《软件架构师成长之路.pdf》这本书是一本很好的关于软件架构师成长的指导手册。 软件架构师是一个高级职位,需要一定的经验和技能。这本书首先介绍了软件架构师的角色和职责,以及软件架构师应该具备何种技能和素质。作者认为,软件架构师不仅应该掌握技术、设计和质量管理等方面的知识,还需要具备领导和沟通能力,能够管理团队、与客户和其他团队成员进行有效的沟通和协作。 书中接着介绍了软件架构的基础知识,如何设计和评估软件架构并选择合适的架构风格和模式。同时,还介绍了一些常用的架构工具和方法,例如UML、DDD等。 此外,书中还详细介绍了软件架构师在不同领域和技术中的应用和实践,如云计算、分布式系统大数据等,帮助读者更好地应对实际工作中的挑战。 最后,书中提供了一些关于软件架构师成长和职业发展的建议和指导,如如何获得更多的经验、如何提高自己的领导和管理能力等。 总的来说,《软件架构师成长之路.pdf》这本书适合从事软件架构和软件设计的IT人员、技术经理、高级研发人员或正在寻求进一步发展成为软件架构师的人们阅读。通过这本书的学习和实践,读者们可以更好地了解软件架构师职业的要求和发展方向,从而更好地实现自己的职业目标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值