定义及作用

RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。后来RAID中的字母I被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。
     企业级的数据库一般部署在在RAID磁盘阵列的服务器上,这样能提高磁盘的访问性能,并能够实现容错/容灾。
      最大优点,在我看来主要是两点:安全性和更快的传输速度。

主流RAID模式

目前主流的大概可以分为几个级别:RAID 0,RAID 1,RAID 5,RAID 10;这次我也简单介绍一下这几种的不同,以及对数据存储的影响。

RAID0:它可以提供最好的读写性能,如果你把两块磁盘做成了RAID0,那么在写入数据的时候,就可以同时对A磁盘和B磁盘执行写入操作,可以部分理解为两块磁盘的写入速度理论上是2倍于一块磁盘。提高读写性能,同时没有任何容错措施,如果其中的一部分数据丢失了,你的全部数据都不会找回来的,因为RAID0没有提供冗余恢复数据的策略。
     适用于只读数据库等高性能无冗余的,生产环境下则完全不被考虑。
     RAID1:提供了最高的安全保障,其原理就是将一块硬盘的数据以相同位置指向另一块硬盘的位置。RAID 1磁盘阵列又称为Mirror或Mirroring(镜像),因为它就是将一块硬盘的内容完全复制到另一块硬盘上。不难发现,对于写入磁盘而言,至少要付出两倍的性能代价,通过镜像来保证数据的容错性。
     RAID5:是目前应用最广泛的RAID技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算)RAID 5具有数据安全、读写速度快,空间利用率高等优点。这种方式既可以通过磁盘分割来提高性能,也可以通过奇偶性(Parity)来提供容错,当一个磁盘崩溃后,奇偶数据可以通过计算重建丢失的数据。

RAID10:RAID 10 和其名字所示那样,融合了RAID 0(磁盘分割)和RAID1(镜像)。这种方式也被称为:分割镜像。RAID 1+0 由于将数据分割到多个磁盘中使得并且不像RAID5那样有奇偶效验码,所以写入速度非常快。但写入速度还是会有影响因为需要重复写入镜像盘,但仍然,写入速度还是非常的快。而对于RAID 1+0 存储的代价等同于RAID1 (镜像),在RAID10中只有一半的磁盘空间可以用于存储数据。

不同模式下可利用的存储空间的比较:
   

SQL存储推荐

SQL Server文件 RAID级别
操作系统和SQL二进制文件 RAID 1
数据和索引 RAID 1+0 (如果预算不允许可以使用RAID 5)
日志 RAID 1+0
TempDB RAID 1+0
备份 RAID 5

总结

其实还有其他几种RAID由于应用较少,我们在这里不做讨论,RAID对于SQL Server性能和容错等是具有关键性作用的。我希望本篇文章能够帮你理解RAID是如何影响你的SQL Server的性能。在去年一年的实施过程中尝试了几种不同RAID方式对服务器的影响后,我希望我的这些经验也能帮助大家准确选出自己合适的RAID方式,避免不必要的重复工作甚至影响数据存储。

参考资料

http://msdn.microsoft.com/en-us/library/ms190764.aspx
 http://www.cnblogs.com/CareySon/archive/2012/05/08/HowRAIDImpactSQLServer.html

讨论关于RAID以及RAID对于存储的影响的更多相关文章

  1. 图解RAID 0, RAID 1, RAID 5, RAID 10

    RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失 ...

  2. [daily][archlinux][mdadm][RAID] 软RAID

    一, 使用mdadm创建RAID 参考:https://wiki.archlinux.org/index.php/RAID 1.  安装 mdadm /home/tong [tong@TStation ...

  3. RAID 0 ~ RAID 7

    一.RAID解析1.RAID 0(1)将几块磁盘并行组合,横向写数据(2)并发IO,写数据最快缺点:不提供数据冗余,如果其中一块磁盘废掉,则数据全毁详细:条带深度大时,一次IO只能从一块磁盘上读取,无 ...

  4. 什么是RAID?RAID有什么用?RAID原理

    什么是RAID 硬盘是个很脆弱的东西,它经常会坏掉.所以,为了保证服务器可靠耐用,硬盘必须时时刻刻保持可用.所以有了RAID这个东西.它的目的是将好几个硬盘合并在一起,就算硬盘坏了一个,剩下还有好几个 ...

  5. php session (二): 同样的代码 ,不同域名访问 对session存储的影响.

    一:准备工作: 位置: htdocs a目录: sessiona.php b目录 sessionb.php c目录 sessionc.php ------ sessiona.php <?php ...

  6. RAID在数据库存储上的应用-转

    随着单块磁盘在数据安全.性能.容量上呈现出的局限,磁盘阵列(Redundant Arrays of Inexpensive/Independent Disks,RAID)出现了,RAID把多块独立的磁 ...

  7. 存储入门 – RAID技术(大图解释)

    对于RAID,一直都知道个概念,但是对于细节没有去仔细的研究过.正好昨天Training的时候, 老师讲解了RAID的内容,所以顺便就整理一下.很多内容都是参考了ISMv2这本书. RAID中用到的技 ...

  8. 1. RAID在数据库存储上的应用

    随着单块磁盘在数据安全.性能.容量上呈现出的局限,磁盘阵列(Redundant Arrays of Inexpensive/Independent Disks,RAID)出现了,RAID把多块独立的磁 ...

  9. 服务器数据恢复方法_存储raid硬盘离线数据恢复案例

    [故障描述]某法院的一台HP-P4500的存储系统,底层是12块1TB的硬盘组的RAID.其中每6个1TB的盘一组,第一组的前面一部分组了一个RAID0+1,是存放HP-P4500嵌入式系统,接着组了 ...

随机推荐

  1. 1+X证书学习日志——javascript打印九九乘法表(基础算法)

    /// 注意要给td加上宽高属性,不然就看不到啦 /// td{ width:100px; height:30px; border:1px solid red; }

  2. robot framework笔记(二):在RF中自定义chrome启动参数

    (一)在RF中自定义chrome启动参数 这里主要是实现下面2个功能 1.禁用chrome正受自动测试软件控制的提示 2.设置默认的下载路径(一些导出.下载类的功能,将文件下载到指定路径下) 自定义一 ...

  3. 三步操作gitHub汉化插件安装--谷歌浏览器

    如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 一个好用基于chrome的插件,用来汉化gitHub,大致效果图如下: 步骤一: 首先下载谷歌 ...

  4. MySQL Network--域名与VIP

    VIP与域名1.域名能在多个IDC切换,而VIP通常在特定网段内切换.2.VIP切换可以立即生效,而域名切换存在一定时间延迟. DNS解析顺序:1.查询本地域名映射配置(/etc/hosts)2.查查 ...

  5. SQL SERVER-记录对表操作的触发器

    CREATE TRIGGER [dbo].[KNMT_LOG] ON [dbo].[KNMT] FOR UPDATE, DELETE AS ) ) ) ) DECLARE @STATMT AS VAR ...

  6. C++ 谓词(predicate) 与 仿函数 ( functor (function object))

    谓词与函数对象 谓词 predicate C++ 标准定义谓词如下: The Predicate parameter is used whenever an algorithm expects a f ...

  7. Web前端面试图

    文章:记一次腾讯微信面试 先是看简历上写的项目经验,问一上些项目上的问题,比如如何编写 js-sdk, 如何去修改 weui 库,遇到最大的难题是什么及如何去解决的. 数组去重的方法有哪些? 如何判断 ...

  8. Spring -11 -单例设计模式 -懒汉式/饿汉式(idea默认的)

    单例设计模式 作用: 在应用程序有保证最多只能有一个实例. 好处: 2.1 提升运行效率. 2.2 实现数据共享. 案例:application 对象 懒汉式 3.1 对象只有被调用时才去创建. 3. ...

  9. destoon自定义函数获取地区名称

    需要在api/extend.func.php 文件中加入的函数 获取地区名称 area_name($areaid) 传入地区id function area_name($areaid) { globa ...

  10. 为何基于tcp协议的通信比基于udp协议的通信更可靠?

    tcp协议一定是先建好双向链接,发一个数据包要得到确认才算发送完成,没有收到就一直给你重发:udp协议没有链接存在,udp直接丢数据,不管你有没有收到. TCP的可靠保证,是它的三次握手双向机制,这一 ...