RAID 5和RAID 10 的比较

RAID5 和 RAID10 谁好谁差,仁者见仁,智者见智,没有统一的说法。使用的情况实际上是需要根据企业的具体需求来定点。在这里 ,我们分别讨论下他们的性能和在什么情况下更适宜使用哪种RAID 方式。

 

RAID 5:RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息

Raid 10其实结构非常简单,首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。图中磁盘1和磁盘2组成一个Raid1,磁盘3和磁盘4又组成另外一个Raid1;这两个Raid1组成了一个新的Raid0。如写在硬盘1上的数据0、1、2、3,写在硬盘2中则为数据4、5、6、7,硬盘3中的数据为0、1、2、3,因此数据在三个硬盘上的分布不同于Raid1和Raid0,但又具有两者的特性。

虽然Raid10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1中,就能保证数据安全性。上图中显示磁盘2损坏了,整个逻辑磁盘仍能正常工作的。

 

    为了更清楚他们的原理,我们拿四块硬盘分别做这两种RAID,且从以下的几个 方面来比较。
这里RAID5选择 3D+1P 的组合方式,RAID10 选择 2D+2D 的组合方式。
1) 读操作。由于读都是四块硬盘上进行全局读,所以就单纯的从读效率上来说,两组RAID是没有太大的差别。
2) 连续写。我们首先考虑RAID5,在连续写的时候,RAID5可以一次写3个数据入CACHE ,然后再CACHE 区内
           进行校验,得到校验值。RAID10 一次最多只可以写2个数据入CACHE,同时写到镜像盘的写
           CACHE 里。 但是他们最后落到磁盘上的写操作都是相同的。所以在连续写的强度不是很高度情况
           下这两组的RAID性能上相差不大的。但是对于高强度的连续读,RAID5更有优势。
3) 离散写。离散写上我们考虑到重点,因为在ORACLE 里大部分写都是离散写,写数据文件,写日志文件。
           写日志文件看 上去是连续写,其实写日志文件的数量不读,根本就不可以填满一个RAID组的条带
           ,所以也是离散写。 在这里我们比较RIAD5和RAID10的一次修改数据,修改RAID5的一个数据时
           将发生4次IO,而同样的修改,RIAD10只发生2次IO 。这里不考虑RAID5的读命中情况。通过这
           也可以看出写CACHE 对RAID5 的重要性,当然写CACHE 对RAID10 也是同样重要。
   所以,做RAID 的时候考虑使用哪种RAID ,应该看公司的应用需要。 如果是以大量的事务性的操作,在典型的OLTP 环境里,我们考虑RAID10更好些,因为OLTP 环境,IO 性能上我们考虑的主要方面。对于典型的数据仓库环境,OLAP 环境,我们选择RAID5 ,因为从空间上来说,RAID5更合适。
 » 转载请注明来源:网络蛀虫小窝 » 《RAID 5和RAID 10 的比较》
 » 本站地址:http://www.gomoth.com

标签: ,