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更合适。