Cache
具有大型 RAID 控制器記憶體的 7.2K 近線 SAS 與 10/15K SAS
我正在開發一個應用程序來每天擷取大量(1000 萬+)非常小的數據塊(16 字節)。數據不是連續的(即大量尋找即將寫入的數據)並且它不是一個恆定的流(有一段安靜的時期)。
該應用程序前面有記憶體伺服器,因此讀取不是問題,我預計在給定的一天只有 1% 的數據會感興趣,而這 1% 將位於記憶體中。只有第一次閱讀應該很慢。
我有很好但有限的預算,我想要 RAID 1 使我的磁碟成本翻倍。
我的選擇是:
- RAID 1 中的快速 SAS 磁碟 - 昂貴的儲存空間不多,但速度很快。
- 控制器上的大型近線磁碟 RAID 1 + 1gb NVCache (PERC H700)
你會怎麼辦?或者換一種說法,控制器上的大記憶體是否會在寫入方面補償較慢的尋軌時間?
我們是戴爾商店,我正在尋找 R410/R510。
我不確定您是否會在這裡得到有用的答案。我將使用應用程序和預期的硬體執行基準測試,以了解它的執行方式,因為我懷疑有足夠的複雜性,試圖對其“封底”進行建模可能過於簡單化。
通常,控制器上的高速記憶體可以緩衝寫入並允許 RAID 卷更快地響應作業系統。如果您的寫入速率超過記憶體可以送出到磁碟的速度足夠長以填充記憶體,那麼控制器將開始阻止寫入(回落到物理磁碟的速度)。
聽起來您沒有使用現成的數據庫管理系統,而是自己管理數據儲存。您將不得不評估您的應用程序如何與作業系統記憶體管理器和底層文件系統(假設您沒有將數據儲存在原始磁碟塊上)以及 RAID 控制器進行互動。如果您使用的是數據庫管理系統,那麼顯然,您還必須了解它是如何互動的。
當您說“工作”時,我想知道您是否參與了應用程序的開發。如果是這樣,我認為值得研究一種應用程序架構,它將傳入的寫入緩衝到順序寫入的日誌中,然後將該順序日誌延遲寫入隨機訪問儲存結構。實際上,您將完成與控制器記憶體寫入相同的事情,但您將對過程進行更精細的控制(您可以顯式地將儲存分層用於順序訪問日誌與隨機訪問日誌)。