将事务日志放在单独的卷 [固态] 上?

Cha*_*ker 12 performance

事务日志通常隔离在单独的卷上。据我所知,这种做法的基本原理是事务日志的数据是按顺序写入的——与随机相比,硬盘驱动器可以以更快的速度顺序执行写入操作。这是由于驱动器内的小针在写入连续数据块时必须移动更短的距离,而不是随机写入。

(对不起,我的解释很幼稚。只是想弄明白我读过的东西。)

考虑到这一点......我突然想到固态驱动器没有小针和盘片以及在它们内部移动的东西。如果我的数据库和事务日志都位于由八个固态驱动器组成的单个 RAID 5 上,那么将事务日志移动到它自己的单独卷上真的有什么好处吗?如果所谓的效率提升是基于顺序写入减少针移动和盘片旋转的距离的前提,而固态驱动器没有这些移动部件,那么通过隔离日志我能得到什么?

Mar*_*ith 10

简短的回答,使用单个阵列,将日志与 8 个 SSD 驱动器上的数据分开不太可能有任何性能提升。有关SSD的更详细(和有趣)评论,请参阅SQL on SSD:Hot and Crazy Love。特别注意SSD相关故障的注意事项。

将日志与 SSD 上的数据分离更多的是 RPO(恢复点目标)而不是性能问题。概念是您可以通过将日志与数据分开来减少 RPO,这样在数据阵列发生故障的情况下,您的日志阵列应该/可以保持可访问。如果 RPO 很关键,谨慎者会考虑在两个阵列中的每一个中使用不同的驱动器品牌/型号来减轻相关的故障问题。

关于总线带宽的评论是无关紧要的。如果您需要转移那么多 IO,那么您需要担心更大的问题。