讨论关于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中只有一半的磁盘空间可以用于存储数据。
不同模式下可利用的存储空间的比较:

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对于存储的影响的更多相关文章
- 图解RAID 0, RAID 1, RAID 5, RAID 10
RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失 ...
- [daily][archlinux][mdadm][RAID] 软RAID
一, 使用mdadm创建RAID 参考:https://wiki.archlinux.org/index.php/RAID 1. 安装 mdadm /home/tong [tong@TStation ...
- RAID 0 ~ RAID 7
一.RAID解析1.RAID 0(1)将几块磁盘并行组合,横向写数据(2)并发IO,写数据最快缺点:不提供数据冗余,如果其中一块磁盘废掉,则数据全毁详细:条带深度大时,一次IO只能从一块磁盘上读取,无 ...
- 什么是RAID?RAID有什么用?RAID原理
什么是RAID 硬盘是个很脆弱的东西,它经常会坏掉.所以,为了保证服务器可靠耐用,硬盘必须时时刻刻保持可用.所以有了RAID这个东西.它的目的是将好几个硬盘合并在一起,就算硬盘坏了一个,剩下还有好几个 ...
- php session (二): 同样的代码 ,不同域名访问 对session存储的影响.
一:准备工作: 位置: htdocs a目录: sessiona.php b目录 sessionb.php c目录 sessionc.php ------ sessiona.php <?php ...
- RAID在数据库存储上的应用-转
随着单块磁盘在数据安全.性能.容量上呈现出的局限,磁盘阵列(Redundant Arrays of Inexpensive/Independent Disks,RAID)出现了,RAID把多块独立的磁 ...
- 存储入门 – RAID技术(大图解释)
对于RAID,一直都知道个概念,但是对于细节没有去仔细的研究过.正好昨天Training的时候, 老师讲解了RAID的内容,所以顺便就整理一下.很多内容都是参考了ISMv2这本书. RAID中用到的技 ...
- 1. RAID在数据库存储上的应用
随着单块磁盘在数据安全.性能.容量上呈现出的局限,磁盘阵列(Redundant Arrays of Inexpensive/Independent Disks,RAID)出现了,RAID把多块独立的磁 ...
- 服务器数据恢复方法_存储raid硬盘离线数据恢复案例
[故障描述]某法院的一台HP-P4500的存储系统,底层是12块1TB的硬盘组的RAID.其中每6个1TB的盘一组,第一组的前面一部分组了一个RAID0+1,是存放HP-P4500嵌入式系统,接着组了 ...
随机推荐
- centOS学习part7:Oracle开机自启配置
0 上一章(http://www.cnblogs.com/souvenir/p/3884904.html)我们用了很多时间以及很长的篇幅来介绍oracle的整个安装过程,希望对大家用所帮助.oracl ...
- iOS 10.0前的Notification推送
前言 推送为远程推送,一般由苹果APNS服务器发送给苹果设备(iPhone,iPad) 推送分在前台和后台.在前台时 用户可以在application 的代理回调接口中做相应处理:在后台时 系统会全权 ...
- [AIR] NativeExtension在IOS下的开发实例 --- Flex库项目的创建(二)
来源:http://bbs.9ria.com/thread-102038-1-1.html 上一章,我已经介绍了如果创建IOS库文件,并定义了两个方法ShowIconBadageNumber和Init ...
- 虹软人脸识别SDK在网络摄像头中的实际应用
目前在人脸识别领域中,网络摄像头的使用很普遍,但接入网络摄像头和人脸识别SDK有一定门槛,在此篇中介绍过虹软人脸识别SDK的接入流程,本文着重介绍网络摄像头获取视频流并处理的流程(红色框内),以下内容 ...
- sqlserver添加列(字段)描述
1.我的表 [id],[name],[type],[date]四个字段,,,表名是library 2.添加列描述 姓名:描述信息 library:表名 被描述字段:name EXECUTE sp_ad ...
- c# 搜索字符串
- 数据库类型对应Java语言类型表
下表列出了基本 SQL Server.JDBC 和 Java 编程语言数据类型之间的默认映射: SQL Server 类型 JDBC 类型 (java.sql.Types) Java 语言类型 big ...
- jqGrid行编辑配置,方法,事件
行编辑可以在行修改后更新数据,如下图所示 用户用鼠标点击选择一行,jqGrid将可编辑的字段转换为数据输入单元,如上面图所示.不可编辑的列,如id,不会转为可输入单元,而是保持不变.可以通过配置col ...
- Linux中快速对字符串进行加密
1)进行base64的加密和解密 [root@VM_0_10_centos opt]# echo hello |base64aGVsbG8K[root@VM_0_10_centos opt]# ech ...
- 局部敏感哈希算法(Locality Sensitive Hashing)
from:https://www.cnblogs.com/maybe2030/p/4953039.html 阅读目录 1. 基本思想 2. 局部敏感哈希LSH 3. 文档相似度计算 局部敏感哈希(Lo ...