SQL Server:一个12个驱动器的RAID-10arrays或2个8个驱动器和4个驱动器的arrays

为SQL Server 2008设置一个盒子,可以提供最好的性能(沉重的OLTP)? RAID-10arrays中的驱动器越多,性能就越好,但是如果丢失4个驱动器将其分配给事务日志,则可以获得更高的性能。

RAID-10中的12个驱动器加上一个热备份。

要么

用于数据库的RAID-10中的8个驱动器以及用于事务日志的4个驱动器RAID-10以及2个热备用(每个arrays一个)。

我们有14个驱动器插槽可以使用,而且它是一个不支持全局热备件的旧版PowerVault。

我会去10/2。 日志通常是小而顺序的,你的RAID控制器应该能够有效地将它们排队到RAID1中的2个磁盘上,而不会打扰其余的。 如果你的RAID控制器不能做到这一点,那么忘记任何分割,如果你急着去12。 如果你有时间运行一些testing,看看有什么作用。 对于缺乏全球热备件感到遗憾,但无论如何,这听起来像你有一个体面的盒子玩。

就我的知识有限而言,有两个主要因素需要考虑

  1. 数据库文件的操作通常是随机的,所以你想要最大化你的IOPS,因为你的事务日志文件操作通常是连续的,所以你想要良好的原始吞吐量

  2. 您希望以这种方式分开存储主数据库和事务日志 – 如果您丢失了主数据库磁盘,则可以从备份+事务日志中重新创build数据库,如果您丢失了事务日志,则仍然拥有主DB。

当然,上面的总结要复杂得多,但那是基本的。 因此,我会说使用两个单独的arrays,如果你有能力使用RAID10,那么很好。

你应该在RAID-10中使用12个驱动器,但要确保服务器有足够的内存。 原因是如果你有足够的内存大部分的数据写入将被caching,并且写入数据到磁盘的所有写入将被合并到单个IO事务中。 OLTP数据库尤其如此。 caching为您提供足够的带宽,以便将事务日志写入同一个驱动器。 通过在回写模式下使用具有BBU保护的内置caching的硬件RAID控制器,您可以进一步提高写入性能。

另外请注意,使用8 + 4或10 + 2也是不错的select,唯一的缺点是我可以看到这是存储的低效使用。 否则它是坚实的。

必须首先确定你的工作量。 和testing,testing,testing(不能强调):

首先,声明“RAID 10中的磁盘越多,速度越快”是不正确的。 这很大程度上取决于你的RAID系统如何实现这个RAID级别(分配写/读/分条/缓冲区…我可以继续)。

其次,尽pipe将事务日志存储在与数据库不同的地方(磁盘)总是一个好主意,但是有效的收益取决于您的工作负载,是否有很多,但很less,写入,或者很less,但写入很大,什么是写/读比例,读取有多大等等。 第

你说你在做很多OLTP。 从我对这个术语的理解来看,这意味着大量的读取,而不是很多写入(…这是否?首先确认这一点)。 在这种情况下,将事务日志存储在同一个地方是很好的 – 所以我会select12个驱动器