为什么不建议将 RAID 5 用于日志文件?

Rau*_*DBA 8 performance transaction-log sql-server-2014 raid query-performance performance-tuning

在阅读Grant Friitchey 编写的SQL Server Query Performance Tuning 时,我发现很难理解以下部分:避免 RAID 5 用于 t-logs 因为,对于每个写入请求,RAID 5 磁盘阵列产生的磁盘 I/O 数量是比较的两倍到 RAID 1 或 RAID 10。

我知道 RAID 5 通过奇偶校验功能区别于其他 RAID。这意味着如果某些驱动器出现故障,则可以从其他驱动器恢复丢失的数据。我想了解为什么不建议将 RAID 5 用于事务日志文件。书中的解释对我来说还不够。也许有人可以向我解释或提供一篇好文章。

mus*_*cio 14

事务日志写入在发生时是同步操作,也就是说,导致日志写入的活动必须等到日志 I/O 完成后才能继续执行其正在执行的操作。因此,日志写入对底层存储的写入吞吐量非常敏感。

正如您所提到的,除了数据块之外,对RAID-5 设备的每次写入都有计算和写入奇偶校验块的开销1。RAID-5 在每次写入操作上执行的这项额外工作,无论多么小,都是不使用 RAID-5 进行日志存储的建议背后的原因。


1 -此问答中的更多详细信息