I/O問題
磁盤搜索是巨大的性能瓶頸。當數據量變得非常大以致於緩存性能變得不可能有效時,該問題變得更加明顯。對於大數據庫,其中你或多或少地隨機訪問數據,你可以確信對讀取操作需要至少一次硬盤搜索,寫操作需要多次硬盤搜索。要想使該問題最小化,應使用搜索次數較少的磁盤。
意味著你有許多磁盤,將第1 個塊放到第1 個硬盤,第2 個塊放到第2 個磁盤,並且第N 塊在(N mod number_of_disks)磁盤上等等。這意味著如果正常數據大小小於分條大小(或完全匹配),能夠得到最佳性能。分條完全取決於操作系統和分條大小,因此用不同的條紋大小對應用程序進行基准測試。
分條的不同速度完全依賴於參數。依賴於怎樣設置條紋參數和硬盤數量,可以根據不同數量級別得到不同的標准。你必須進行選擇以便優化隨機或順序存取。
1. 為了高可靠性你可能想使用RAID 0+1(條紋加鏡像),但在這種情況下,需要2*N 塊磁盤來保持N 個磁盤的數據。如果你肯為它花錢,這可能是最好的選項。然而,你可能還必須投資一部分資金到卷管理軟件中以便有效地管理它。
2. 一個較好的選擇是根據數據類型的重要性程度改變RAID 級別。例如,保存可以在RAID 0硬盤上重新生成的不太重要的數據,但保存真正重要數據(例如主機信息和日志)到RAID 0+1 或RAID N 硬盤。如果你有許多寫操作,RAID N 可能會存在問題,因為需要時間來更新校驗位。