
我對資料庫相當陌生。我正在閱讀磁碟陣列存儲看來大家一致認為 RAID 10 是
RAID 10 在效能和冗餘方面是最好的
然而在文章的最後,作者繼續說道
如果應用程式知道如何在多個磁碟區之間均勻分佈數據,則獨立的 RAID 1 對優於 RAID 10
作者:George Ou 做了一個分析 證明為什麼獨立的 RAID 1 對優於 RAID 10,儘管我無法真正理解,因為我對資料庫很陌生
然而另一位作者:羅賓做了他自己的分析並反駁George Ou的分析。
我對所有這些分析感到困惑,這完全超出了我的深度。
這些都是我的問題
如果應用程式知道如何在多個磁碟區之間均勻分佈數據,獨立的 RAID 1 對真的優於 RAID 10嗎?
在實踐中,創建一個甚至能夠跨多個卷分發資料的應用程式很容易,它是如何完成的?
有人可以對上述兩點提供一個簡單的解釋嗎?
答案1
是的,因為 Raid 對的失敗僅意味著部分資料遺失。在 Raid 10 中,raid 對失敗意味著所有資料都無法讀取。也就是說,存取資料的速度也較慢。
不必要。基本上,您必須在應用程式中執行此操作,這取決於應用程式的複雜程度 - 這是程式設計問題,而不是管理問題。這可能很容易也可能很困難——這完全取決於應用程式。在許多情況下,丟失部分資料意味著無論如何都要停止一切並重新載入備份。
比這容易多少? (我認為這對管理員來說是最簡單的 - 如果您沒有達到該級別,則應在 superuser.com 上重新詢問該問題)。
答案2
透過驅動器分發資料的應用程式始終優於 RAID,因為它具有更多用於優化決策的資訊。 MS SQL 是一個很好的例子,因為與在 RAID0 組合上運行相比,它在裸碟上顯示出更好的效能(就您的情況而言,RAID10 是 RAID1 的 RAID0 組合)。
但其實沒那麼明顯:
首先,George Ou探索了主機板整合raid。如果使用專用電源 RAID 卡,他的結果可能會大不相同。
其次,透過 RAID10,您可以使用所有磁碟。如果您使磁碟由應用程式管理,那麼您需要為系統留下一些東西。比方說,在 8 磁碟機伺服器中,您可能需要在 8 磁碟機 RAID10 和 RAID1(用於 susyetm)以及 3*RAID1(用於應用程式)之間進行選擇。而在這種情況下RAID10可能會產生更好的效果。
第三,RAID10 具有靈活性,這通常比稍微提高效能更可取。磁碟區管理、空間重新分配、快照、區塊級複製和其他很酷的功能都是要犧牲的,然後應用程式管理磁碟機本身。