存儲的分類設計考慮

現實中,對於存儲的需求基本上可以歸爲3類

 

1: Offline數據分析用的數據,如網站的訪問日誌分析,Online數據庫裏的數據的統計分析

這類數據的量一般很大,對於大型互聯網站來說是PB級單位,一般使用類似Hadoop/Hive之類的技術來分析

是Offline分析,對於響應時間要求比較低。

對於這類數據的存儲在設計的時候考慮使用SATA盤,每臺機器配6~12塊1(2)TB的SATA盤,由於單塊SATA盤的順序讀寫能力基本上可以

達到60MB/s以上,所以系統設計的時候需要充分考慮磁盤的利用;最好的算法是單個磁盤同一時刻只有一個進程進行讀/寫操作

另外儘量減少網絡傳輸(一般配置網絡是<60MB/s),而磁盤的處理能力則爲60*N(磁盤數目)

 

2:Online 類的非結構化數據

如圖片,郵件之類的保存好後不再修改的數據,這類數據量也很大,以PB爲單位;但這類數據的響應時間是比較高的,一般要求200MS

之內。

對於這類系統響應時間高,QPS要求很高的情況下,建議使用多級存儲的方式(Mem+SSD+SATA),最終數據存儲在SATA上;寫的中間數據可以存儲在Memory或SSD;然後異步寫入到SATA盤上。爲避免某臺機器Down或則DiskFail導致數據丟失,建議使用多份Copy。

 

3: Online方面的結構化數據

如 Mail的Index,聯繫人,個人Profile,商品交易信息之類的數據;這類數據一般是有關係的,傳統上是存在DB裏

因爲數據之間有可能存在TX,以及Index(PageIndex,QueryIndex,Uniqindex...);

或者是簡單的無關係的數據,可以使用KV類簡單搞定;另外應用場景裏存在大量的隨機讀,以及Range(Index)方式的讀取,而且對於

響應時間要求很高,一般是小於20ms.

但這類數據的量一般不會很大,小於1PB,一般情況下,一個DB最大200TB。

這時候最好使用SSD(若性能要求非常高,且數據量不是特別大)或則SAS 500G(15K);或則SSD+SAS混合的方式。這類組合可以處理

非常高的隨機讀操作

 

另外對於機房的網絡部署時,千萬不要把Offline和Online的交換機部署在一起,以免網絡流量衝突導致Online的響應出問題

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章