讨论关于RAID以及RAID对于存储的影响

讨论关于RAID以及RAID对于存储的影响

  定义及作用

      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中只有一半的磁盘空间可以用于存储数据。

   不同模式下可利用的存储空间的比较:
    <span>讨论关于RAID以及RAID对于存储的影响</span>

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119765.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【设计模式】Template Method模式

    【设计模式】Template Method模式

    2022年1月15日
    52
  • translate3d模拟滚动条

    translate3d模拟滚动条做移动端页面,通常是不用原生的scroll,而是用translate3d来模拟,原因主要是原生的scroll对移动端的支持并不是很好,样式也不好看(有滚动条出现),用translate3d来模拟还可以调用GPU来加速,提高性能。html:

    2022年10月27日
    0
  • sql中decode的用法_sql求和函数

    sql中decode的用法_sql求和函数decode()函数的语法:其中:columnname为要选择的table中所定义的column;缺省值可以是你要选择的columnname本身,也可以是你想定义的其他值,比如Other等;

    2022年8月1日
    13
  • 极客日报第 26 期:华大基因辟谣“基因编辑58个婴儿”;苹果发布头戴式耳机AirPods Max

    极客日报第 26 期:华大基因辟谣“基因编辑58个婴儿”;苹果发布头戴式耳机AirPods Max文章目录互联网快讯程序员专属Github每日精选CSDN社区优质博文精选互联网快讯1、我国一项物联网安全测试技术成为国际标准从WAPI产业联盟获悉,我国自主研发的一项物联网安全测试技术(TRAIS-PTEST)日前由国际标准化组织/国际电工委员会(ISO/IEC)发布成为国际标准。据介绍,该标准是TRAIS-P国际标准的测试标准,它规范了无线射频识别(RFID)安全密码套件一致性测试方法。标准发布后,将从技术到产品测试两个层面共同构成国际标准体系。(新华社)2、百度百科:日均搜索超4亿人次据.

    2022年6月20日
    40
  • java.exe 0xc000012d_应用程序无法正常启动 0xc000012d

    java.exe 0xc000012d_应用程序无法正常启动 0xc000012d应用程序无法正常启动0xc000012d,主要原因在于你的电脑缺少相对应的运行环境,可通过下载.netframework来解决。方法一:具体步骤如下1、打开百度输入”.netframework”,输入后单击搜索。2、接下来,我们找到下载地址并将程序下载到我们的计算机上。3、接下来,我们找到新下载的。在桌面上单击“运行”。4、安装之后,我们返回到刚刚打开错误的程序位置。最后,我们可以点击再次打开…

    2022年9月29日
    0
  • Java课程设计_java课设「建议收藏」

    Java课程设计_java课设「建议收藏」1.代码截图:2.设计思路建立GUI界面,系统产生一个随机数(对用户不可见),然后用户输入猜测数,系统根据用户每次输入的数据给出评语(偏大,偏小,猜测成功)。当用户最终猜测成功后,就把当次的随机数和猜测次数放到文件夹内。3.遇到的问题:(1).Guess里面每次产生的随机数m和最终猜测次数n一直不知道怎么传到sava里并保存输出到文件。(2).怎么在生成的guessgame文件里追加内容,而不是每…

    2022年7月12日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号