RAID 5和RAID 10 的比较
RAID5 和 RAID10 谁好谁差,仁者见仁,智者见智,没有统一的说法。使用的情况实际上是需要根据企业的具体需求来定点。在这里 ,我们分别讨论下他们的性能和在什么情况下更适宜使用哪种RAID 方式。
为了更清楚他们的原理,我们拿四块硬盘分别做这两种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更合适。