我有一个8个磁盘1T的磁盘arrays设备(UltraStor RS8IP4)。 它将完全由PostgresQL数据库使用,我正在尝试为它select最佳的RAID级别。
由于我们使用大型数据集(表,索引),而且我们做了大量的search/扫描,所以最重要的是读取性能。 我们现在使用的旧磁盘在SELECT上发生的速度最慢。
容错不那么重要,它可以是1或2个磁盘。
空间是最不重要的因素。 即使1T也足够了。
在这种情况下,你会推荐哪个RAID级别。 目前的选项是60,50和10,但其他select可能会更好。
通常数据库的最佳实践是将数据库放置在与操作系统和交换分区不同的RAID 10或RAID 1上。
对于PostgreSQL,你也可能想要在WAL(pg_xlog)目录下的一个小型,快速的RAID 1上生存,因为如果有大量的写入操作,这将防止数据库陷入困境。 另外,如果你认为你会有几个高stream量的表,你可能想要为这些表分配不同的数组/主轴(把它们放到不同的表空间中)。
这一切的重要程度在很大程度上取决于你的工作量,但以上是一个好的开始。 PostgreSQL wiki可能还有其他很好的build议 – 请参阅http://wiki.postgresql.org/wiki/Main_Page
格雷戈里·史密斯(Gregory Smith)在他的书“ PostgreSQL 9.0 High Performance”中推荐使用RAID 10(如果你点击链接并点击“示例章节”button,那么你会得到本书的第二章,介绍如何select你的数据库硬件)。