RAID 1的独立对优于RAID 10

我对数据库相当陌生。 我正在读RAID存储 ,看来共识是RAID 10

RAID 10最好的是性能和冗余

但在最后一篇文章中,作者接着说

独立的RAID 1对优于RAID 10,因为应用程序知道如何在多个卷上均匀分布数据

作者:George Ou做了一个分析,以certificate为什么独立的RAID 1比RAID 10更优越,虽然我不能真正理解,因为我对数据库相当陌生

不过另一位作者:罗宾做了他自己的分析,并反驳了欧立德的分析。

我对所有这些完全超出我的深度的分析感到困惑。

这些是我的问题

  1. 独立的RAID 1对是否优于RAID 10是真的,因为应用程序知道如何在多个卷上平均分配数据

  2. 在实践中,很容易创build一个能够跨多个卷分发数据的应用程序,它是如何完成的?

  3. 有人可以提供关于上述2点的简单解释吗?

  1. 是的,因为Raid对的失败只意味着部分数据不见了。 在Raid 10中,突袭对失败意味着所有的数据都是不可读的。 也就是说,访问数据的速度也比较慢。

  2. 不必要。 基本上你必须在应用程序中这样做,它取决于应用程序的复杂程度 – 这是一个编程,而不是pipe理员的问题。 这可能很容易或很难 – 这完全取决于应用程序。 在很多情况下,丢失部分数据意味着无论如何要停止一切并重新加载备份。

  3. 比这个容易多less? (我认为这对pipe理员来说很简单 – 如果你不在这个级别上,应该在superuser.com上重新提出这个问题)。

在驱动器上分发数据的应用程序总是优于RAID,因为它有更多的优化决策信息。 MS SQL就是一个很好的例子,因为它在裸盘上显示出更好的性能,而在RAID0的组合上运行(关于你的情况RAID10是RAID0的RAID0组合)。

但实际上并不那么明显:

首先,George Ou探索了主板集成RAID。 用专用的电源RAID卡,他的结果可能会有很大的不同。

其次,使用RAID10,您可以使用所有的磁盘。 如果你让磁盘被应用程序pipe理,那么你需要为系统留下一些东西。 假设在8个驱动器的服务器上,您可能需要在8个驱动器RAID10和RAID1之间selectsusyetm加3 * RAID1作为应用程序。 在这种情况下,RAID10可能会产生更好的结果。

第三,对于RAID10,灵活性往往比较好,然后性能略有提高。 卷pipe理,空间重新分配,快照,块级复制和其他很酷的function都是牺牲点,然后应用程序pipe理驱动器本身。